New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 697864 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 704968
issue 704971
issue 704972



Sign in to add a comment

RendererCompositorFrameSink should use MojoCompositorFrameSink/MojoCompositorFrameSinkClient

Project Member Reported by fsam...@chromium.org, Mar 2 2017

Issue description

RendererCompositorFrameSink currently uses Chrome IPC. In an effort to unify RendererCompositorFrameSink and WindowCompositorFrameSink (this should probably be called ClientCompositorFrameSink), we should transition RendererCompositorFrameSink to mojo. 
 
Owner: samans@chromium.org
Status: Assigned (was: Untriaged)
It seems like as a first step, we should allocate surface IDs in the renderer.
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c43562c581991f1d9b843cb3cec873723a009c31

commit c43562c581991f1d9b843cb3cec873723a009c31
Author: samans <samans@chromium.org>
Date: Fri Mar 10 22:00:27 2017

Once we move local surface id allocation into the renderer process,
DelegatedFrameHost can no longer create a new local surface id on frame
eviction. This would normally break a few things but after
https://codereview.chromium.org/2736053004/ we should be good.

I tried testing this CL by setting the maximum number of saved
frames to 1 so that each new tab causes the eviction of the previous tab
and compared the current behaviour vs behaviour after this CL and did
not notice any difference. Without https://codereview.chromium.org/2736053004/
if you switch tabs fast enough DCHECKs will fail in SurfaceManager for allocating
a surface using a surface id that is already in use, but that CL fixes
this issue.

TBR=jam@chromium.org
BUG= 697864 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2731793002
Cr-Commit-Position: refs/heads/master@{#456180}

[modify] https://crrev.com/c43562c581991f1d9b843cb3cec873723a009c31/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/c43562c581991f1d9b843cb3cec873723a009c31/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/c43562c581991f1d9b843cb3cec873723a009c31/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88f2781989652da5ac0ad9351353a46559224040

commit 88f2781989652da5ac0ad9351353a46559224040
Author: samans <samans@chromium.org>
Date: Mon Mar 13 20:43:07 2017

Since we are moving local surface id allocation to the renderer process,
frame eviction which is done by the browser process should not change
the local surface id. Also, RenderWidgetHostViewGuest should not
create a new local surface id when guest->has_attached_since_surface_set()
is true.

BUG= 697864 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2750623002
Cr-Commit-Position: refs/heads/master@{#456472}

[modify] https://crrev.com/88f2781989652da5ac0ad9351353a46559224040/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/88f2781989652da5ac0ad9351353a46559224040/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/88f2781989652da5ac0ad9351353a46559224040/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/88f2781989652da5ac0ad9351353a46559224040/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/88f2781989652da5ac0ad9351353a46559224040/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/88f2781989652da5ac0ad9351353a46559224040/content/browser/frame_host/render_widget_host_view_guest_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e0fd9a87d69362103af512b8e7b8946604abe71

commit 9e0fd9a87d69362103af512b8e7b8946604abe71
Author: samans <samans@chromium.org>
Date: Mon Mar 20 18:56:03 2017

SurfaceManager::CreateSurface must set the surface's factory

This change is necessary because DelegatedFrameHost can be destroyed
and recreated when RendererCompositorFrameSink is alive the whole time
and can potentially send the same LocalSurfaceId to both instances of
DelegatedFrameHost.

BUG= 697864 

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2760433002
Cr-Commit-Position: refs/heads/master@{#458138}

[modify] https://crrev.com/9e0fd9a87d69362103af512b8e7b8946604abe71/cc/surfaces/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/9e0fd9a87d69362103af512b8e7b8946604abe71/cc/surfaces/surface.cc
[modify] https://crrev.com/9e0fd9a87d69362103af512b8e7b8946604abe71/cc/surfaces/surface.h
[modify] https://crrev.com/9e0fd9a87d69362103af512b8e7b8946604abe71/cc/surfaces/surface_manager.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7398c55e00a085cc03f10e16f3f42fe37f980ac

commit e7398c55e00a085cc03f10e16f3f42fe37f980ac
Author: samans <samans@chromium.org>
Date: Tue Mar 21 21:36:28 2017

RendererCompositorFrameSink should handle local surface id allocation

We are planning to use MojoCompositorFrameSink in the renderer process,
which means RendererCompositorFrameSink must be aware of LocalSurfaceId
of the surface it's submitting to.

BUG= 697864 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2728183002
Cr-Commit-Position: refs/heads/master@{#458556}

[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/devtools/render_frame_devtools_agent_host.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/browser_compositor_view_mac.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/common/view_messages.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/renderer/gpu/renderer_compositor_frame_sink.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/renderer/gpu/renderer_compositor_frame_sink.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/test/test_render_view_host.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/content/test/test_render_view_host.h
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/e7398c55e00a085cc03f10e16f3f42fe37f980ac/ui/android/delegated_frame_host_android.h

Comment 7 by samans@chromium.org, Mar 24 2017

Blockedon: 704968 704971

Comment 8 by samans@chromium.org, Mar 24 2017

Blockedon: 704972

Comment 9 by samans@chromium.org, Apr 12 2017

Status: Fixed (was: Assigned)
Blocking: -601863
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment