Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 2385193002: FrameSinkIds use to WindowIds in window server, Process ID/Route ID in renderer (Closed)
Patch Set: Added missing serialization Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 823b386c0639f2137e3e589722feeceec2115ac1..6d973b4d20d8673283d97128fc56cb471bfe483a 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -454,9 +454,17 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
last_active_widget_process_id_(ChildProcessHost::kInvalidUniqueID),
last_active_widget_routing_id_(MSG_ROUTING_NONE),
weak_ptr_factory_(this) {
+ // GuestViews have two RenderWidgetHostViews and so we need to make sure
+ // we don't have FrameSinkId collisions.
ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
- delegated_frame_host_ = base::MakeUnique<DelegatedFrameHost>(
- factory->GetContextFactory()->AllocateFrameSinkId(), this);
+ cc::FrameSinkId frame_sink_id =
+ is_guest_view_hack_
+ ? factory->GetContextFactory()->AllocateFrameSinkId()
+ : cc::FrameSinkId(
+ base::checked_cast<uint32_t>(host_->GetProcess()->GetID()),
+ base::checked_cast<uint32_t>(host_->GetRoutingID()));
+ delegated_frame_host_ =
+ base::MakeUnique<DelegatedFrameHost>(frame_sink_id, this);
if (!is_guest_view_hack_)
host_->SetView(this);
« no previous file with comments | « content/browser/frame_host/render_widget_host_view_child_frame.cc ('k') | services/ui/ws/frame_generator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698