Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index b540e2bbd859026f04474b46060faac615b1f868..eca7a8df67b494ebb7f26e1ab50cd4765d7bd91f 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -209,13 +209,14 @@ namespace content { |
// RenderWidget --------------------------------------------------------------- |
-RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
+RenderWidget::RenderWidget(int32_t widget_routing_id, |
+ CompositorDependencies* compositor_deps, |
blink::WebPopupType popup_type, |
const ScreenInfo& screen_info, |
bool swapped_out, |
bool hidden, |
bool never_visible) |
- : routing_id_(MSG_ROUTING_NONE), |
+ : routing_id_(widget_routing_id), |
compositor_deps_(compositor_deps), |
webwidget_internal_(nullptr), |
owner_delegate_(nullptr), |
@@ -255,6 +256,7 @@ RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
text_input_client_observer_(new TextInputClientObserver(this)), |
#endif |
focused_pepper_plugin_(nullptr) { |
+ DCHECK_NE(routing_id_, MSG_ROUTING_NONE); |
if (!swapped_out) |
RenderProcess::current()->AddRefProcess(); |
DCHECK(RenderThread::Get()); |
@@ -303,9 +305,9 @@ RenderWidget* RenderWidget::Create(int32_t opener_id, |
return nullptr; |
} |
- scoped_refptr<RenderWidget> widget(new RenderWidget( |
- compositor_deps, popup_type, screen_info, false, false, false)); |
- widget->InitRoutingID(routing_id); |
+ scoped_refptr<RenderWidget> widget( |
+ new RenderWidget(routing_id, compositor_deps, popup_type, screen_info, |
+ false, false, false)); |
widget->Init(opener_id, RenderWidget::CreateWebWidget(widget.get())); |
DCHECK(!widget->HasOneRef()); // RenderWidget::Init() adds a reference. |
return widget.get(); |
@@ -330,14 +332,15 @@ RenderWidget* RenderWidget::CreateForFrame( |
} |
scoped_refptr<RenderWidget> widget( |
g_create_render_widget |
- ? g_create_render_widget(compositor_deps, blink::WebPopupTypeNone, |
- screen_info, false, hidden, false) |
- : new RenderWidget(compositor_deps, blink::WebPopupTypeNone, |
- screen_info, false, hidden, false)); |
+ ? g_create_render_widget(widget_routing_id, compositor_deps, |
+ blink::WebPopupTypeNone, screen_info, false, |
+ hidden, false) |
+ : new RenderWidget(widget_routing_id, compositor_deps, |
+ blink::WebPopupTypeNone, screen_info, false, |
+ hidden, false)); |
widget->for_oopif_ = true; |
// Init increments the reference count on |widget|, keeping it alive after |
// this function returns. |
- widget->InitRoutingID(widget_routing_id); |
widget->Init(MSG_ROUTING_NONE, |
RenderWidget::CreateWebFrameWidget(widget.get(), frame)); |
@@ -389,17 +392,13 @@ void RenderWidget::SetSwappedOut(bool is_swapped_out) { |
RenderProcess::current()->AddRefProcess(); |
} |
-void RenderWidget::InitRoutingID(int32_t routing_id) { |
- DCHECK_EQ(routing_id_, MSG_ROUTING_NONE); |
- routing_id_ = routing_id; |
- input_handler_.reset(new RenderWidgetInputHandler( |
- GetRenderWidgetInputHandlerDelegate(this), this)); |
-} |
- |
void RenderWidget::Init(int32_t opener_id, WebWidget* web_widget) { |
DCHECK(!webwidget_internal_); |
DCHECK_NE(routing_id_, MSG_ROUTING_NONE); |
+ input_handler_.reset(new RenderWidgetInputHandler( |
+ GetRenderWidgetInputHandlerDelegate(this), this)); |
+ |
if (opener_id != MSG_ROUTING_NONE) |
opener_id_ = opener_id; |