Chromium Code Reviews| Index: content/renderer/render_widget.cc |
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
| index 691874df188fe501dbde7e77046dfae03c0d1974..4eaeac73a2043376ce8942d882efea0c5220fe03 100644 |
| --- a/content/renderer/render_widget.cc |
| +++ b/content/renderer/render_widget.cc |
| @@ -203,6 +203,7 @@ namespace content { |
| RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
| blink::WebPopupType popup_type, |
| const ScreenInfo& screen_info, |
| + const cc::FrameSinkId& frame_sink_id, |
| bool swapped_out, |
| bool hidden, |
| bool never_visible) |
| @@ -234,6 +235,7 @@ RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
| pending_window_rect_count_(0), |
| screen_info_(screen_info), |
| device_scale_factor_(screen_info_.device_scale_factor), |
| + frame_sink_id_(frame_sink_id), |
| #if defined(OS_ANDROID) |
| text_field_is_dirty_(false), |
| #endif |
| @@ -285,10 +287,12 @@ void RenderWidget::InstallCreateHook( |
| RenderWidget* RenderWidget::Create(int32_t opener_id, |
| CompositorDependencies* compositor_deps, |
| blink::WebPopupType popup_type, |
| - const ScreenInfo& screen_info) { |
| + const ScreenInfo& screen_info, |
| + const cc::FrameSinkId& frame_sink_id) { |
| DCHECK(opener_id != MSG_ROUTING_NONE); |
| - scoped_refptr<RenderWidget> widget(new RenderWidget( |
| - compositor_deps, popup_type, screen_info, false, false, false)); |
| + scoped_refptr<RenderWidget> widget( |
| + new RenderWidget(compositor_deps, popup_type, screen_info, frame_sink_id, |
| + false, false, false)); |
| if (widget->Init(opener_id)) { // adds reference on success. |
| return widget.get(); |
| } |
| @@ -301,7 +305,8 @@ RenderWidget* RenderWidget::CreateForFrame( |
| bool hidden, |
| const ScreenInfo& screen_info, |
| CompositorDependencies* compositor_deps, |
| - blink::WebLocalFrame* frame) { |
| + blink::WebLocalFrame* frame, |
| + const cc::FrameSinkId& frame_sink_id) { |
| CHECK_NE(routing_id, MSG_ROUTING_NONE); |
| // TODO(avi): Before RenderViewImpl has-a RenderWidget, the browser passes the |
| // same routing ID for both the view routing ID and the main frame widget |
| @@ -315,9 +320,10 @@ RenderWidget* RenderWidget::CreateForFrame( |
| scoped_refptr<RenderWidget> widget( |
| g_create_render_widget |
| ? g_create_render_widget(compositor_deps, blink::WebPopupTypeNone, |
| - screen_info, false, hidden, false) |
| + screen_info, frame_sink_id, false, hidden, |
|
Fady Samuel
2016/10/26 15:00:18
This isn't right. Each RenderWidget should share t
|
| + false) |
| : new RenderWidget(compositor_deps, blink::WebPopupTypeNone, |
| - screen_info, false, hidden, false)); |
| + screen_info, frame_sink_id, false, hidden, false)); |
| widget->SetRoutingID(routing_id); |
| widget->for_oopif_ = true; |
| // DoInit increments the reference count on |widget|, keeping it alive after |