New issue
Advanced search Search tips

Issue 668890 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Unify RenderWidgetHostViewChildFrame and RenderWidgetHostVIewGuest compositing code

Project Member Reported by fsam...@chromium.org, Nov 27 2016

Issue description

There's a lot of code duplication between these two classes. We should simply use the compositing code in RenderWidgetHostViewChildFrame. In particular,  RenderWidgetHostViewChildFrame::OnSwapCompositorFrame and RenderWidgetHostViewGuest::OnSwapCompositorFrame should be de-duped.
 
It might make sense for RenderWidgetHostViewChildFrame to implement MojoCompositorFrameSink.

Comment 2 by danakj@chromium.org, Nov 28 2016

Blocking: 601863
Blocking:
Components: MUS
Labels: Proj-Mustash-Mus-GPU displaycompositor
What kind of timeframe do we want for this? We're kind of hoping to turn on oopif webview in the next quarter, at which point this will be redundant, but if it's needed sooner ...
I don't expect this to be a massive amount of work. We can take care of it if need be. I'm just tracking work that needs to be done.

Comment 6 by samans@chromium.org, Jan 17 2017

Owner: samans@chromium.org
Blocking:
Status: Available (was: Untriaged)
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 24 2017

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

commit 56cee024237174f6a5a6281fa534bc3874aee8ef
Author: samans <samans@chromium.org>
Date: Tue Jan 24 01:45:03 2017

Unify RenderWidgetHostView(ChildFrame and Guest) compositing code

This CL achieves two goals:

- Right now the code in OnSwapCompositorFrame methods in
RenderWidgetHostViewChildFrame and RenderWidgetHostViewGuest are almost
identical. This CL extracts the common parts of these two methods into
a new method called ProcessCompositorFrame to minimize code
duplication.

- Switches to cc::SurfaceInfo in IPC communications to simplify the
API and be consistent with Mojo which already uses SurfaceInfo.

TBR=sunnyps@chromium.org

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

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

[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/cc/surfaces/surface_info.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/browser_plugin/browser_plugin_guest.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/cross_process_frame_connector.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/common/browser_plugin/browser_plugin_messages.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/common/frame_messages.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/renderer/browser_plugin/browser_plugin.h
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/56cee024237174f6a5a6281fa534bc3874aee8ef/content/renderer/render_frame_proxy.h

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

Sign in to add a comment