| 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;
|
|
|
|
|