| Index: content/browser/renderer_host/render_widget_host_view_mac.mm
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| index c91614f5c60f505661f68f3390315a215913abfc..593ba3f9ae8bff3060f4b1057dbd3731951352f4 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -468,8 +468,19 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
|
| [cocoa_view_ setLayer:background_layer_];
|
| [cocoa_view_ setWantsLayer:YES];
|
|
|
| - browser_compositor_.reset(new BrowserCompositorMac(
|
| - this, this, render_widget_host_->is_hidden(), [cocoa_view_ window]));
|
| + // GuestViews have two RenderWidgetHostViews and so we need to make sure
|
| + // we don't have FrameSinkId collisions.
|
| + ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
|
| + cc::FrameSinkId frame_sink_id =
|
| + is_guest_view_hack_
|
| + ? factory->GetContextFactoryPrivate()->AllocateFrameSinkId()
|
| + : cc::FrameSinkId(base::checked_cast<uint32_t>(
|
| + render_widget_host_->GetProcess()->GetID()),
|
| + base::checked_cast<uint32_t>(
|
| + render_widget_host_->GetRoutingID()));
|
| + browser_compositor_.reset(
|
| + new BrowserCompositorMac(this, this, render_widget_host_->is_hidden(),
|
| + [cocoa_view_ window], frame_sink_id));
|
|
|
| display::Screen::GetScreen()->AddObserver(this);
|
|
|
|
|