-
Peng Huang authored
For Classic Ash, ArcVideo*Accelerator and ProtectedBufferManager interfaces are implemented in GPU process and requested from browser process. And the the message pipes for ArcVideo*Accelerators interfaces can be forward from the browser process into ARC container. This CL adds CreateArcVideo*Accelerator() and CreateProtectedBufferManager() methods in viz::mojom::GpuService. Those methods can only be used by the ui(window server) process via the viz::mojo::VizMain interface. This CL also adds a new ui::mojom::Arc interface. It is exposed from ui process, and can only be used by browser process. For mushrome, the workflow is, ARC requests ArcVideo*Accelerator interfaces from browser process, and then browser process requests ui::mojom::Arc interface exposed by ui process and then uses the ui::mojom::Arc to create the ArcVideo*Accelerators interfaces implemented in viz process, and then forwards the message handle for ArcVideo*Accelerator interface to ARC. The workflow looks like: [ARC]<--arc.mojom.ArcBridgeHost-->[browser]<--ui.mojom.Arc-->[ui]<--viz.mojom.GpuService-->[viz] Test: Test ARC youtube on device Bug: 769755 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: If8ff4aeeffc378d12bd86161bf705497bcfc28e5 Reviewed-on: https://chromium-review.googlesource.com/759092Reviewed-by:
Tom Sepez <tsepez@chromium.org> Reviewed-by:
Dale Curtis <dalecurtis@chromium.org> Reviewed-by:
Sadrul Chowdhury <sadrul@chromium.org> Reviewed-by:
Antoine Labour <piman@chromium.org> Reviewed-by:
Yusuke Sato <yusukes@chromium.org> Reviewed-by:
Michael Wasserman <msw@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org> Cr-Commit-Position: refs/heads/master@{#517898}
417f0cf7