Convert FrameSinkProviderImpl to use FrameSinkManagerHost |
||||
Issue descriptionConvert (behind a flag at first) FrameSinkProviderImpl to use FrameSinkManagerHost. This will involve hooking up MojoCompositorFrameSink that directly connects the renderer to viz. RenderWidgetHostImpl will not longer receive CompositorFrames. Instead, RenderWidgetHostImpl will have to observer FrameSinkManagerHost to find out when the renderer SurfaceId changes. Other contents of the CompositorFrame that RenderWidgetHostImpl extracts now will need to be forwarded from viz back to FrameSinkManagerHost and then to the correct FrameSinkObserver for a complete implementation of this. FrameSinkManagerHost/FrameSinkObserver doesn't handle any of this yet.
,
Jun 14 2017
Yep, it would be similar to that. FrameSinkProviderImpl would get a request from the renderer over IPC. This has the MojoCompositorFrameSinkRequest and MojoCompositorFrameSinkClientPtr to hook up. FrameSinkProviderImpl would be changed to call FrameSinkManagerHost::CreateCompositorFrameSink() with that. The renderer would then submit CompositorFrames directly to viz and RenderWidgetHostImpl wouldn't sit in the middle. Instead, RenderWidgetHostImpl should implement FrameSinkObserver. RenderWidgetHostImpl will get OnSurfaceCreated() messages when the renderer submits a CompositorFrame with a new LocalSurfaceId and can update the SurfaceLayer using that info. The other things that RenderWidgetHostImpl does with data in the CompositorFrame need to be reworked similarly.
,
Jun 14 2017
,
Aug 1 2017
,
Oct 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe commit 883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe Author: kylechar <kylechar@chromium.org> Date: Thu Oct 19 15:07:36 2017 Update content/browser/renderer_host for --enable-viz. With --enable-viz the host portion of the renderer cannot access FrameSinkManagerImpl or create CompositorFrameSinkSupports. Update so that viz doesn't immediately crash. The --enable-viz flag should work for basic websites on Linux desktop Chrome now. OOPIF and PDF Viewer are not implemented however. Bug: 770833 , 732903 Change-Id: I373e02a221361b362f0eb35cc91d7d1a6b7c73a5 Reviewed-on: https://chromium-review.googlesource.com/724222 Commit-Queue: kylechar <kylechar@chromium.org> Reviewed-by: Fady Samuel <fsamuel@chromium.org> Cr-Commit-Position: refs/heads/master@{#510087} [modify] https://crrev.com/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe/content/browser/renderer_host/browser_compositor_view_mac.mm [modify] https://crrev.com/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe/content/browser/renderer_host/delegated_frame_host.cc [modify] https://crrev.com/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe/content/browser/renderer_host/delegated_frame_host.h [modify] https://crrev.com/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe/content/browser/renderer_host/render_widget_host_impl.cc [modify] https://crrev.com/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe/content/browser/renderer_host/render_widget_host_impl.h [modify] https://crrev.com/883e99d9896c0dbcaf1ce4da26a1a3aa2fe2cdbe/content/browser/renderer_host/render_widget_host_view_aura.cc
,
Sep 17
This was finished a long time ago. |
||||
►
Sign in to add a comment |
||||
Comment 1 by danakj@chromium.org
, Jun 14 2017