Chromium Code Reviews| Index: content/renderer/render_widget.cc |
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
| index 8cf0ae0735652ea30717f1baa56af0806975a309..7809c6db192881af4c344c259adc5655053f836e 100644 |
| --- a/content/renderer/render_widget.cc |
| +++ b/content/renderer/render_widget.cc |
| @@ -448,6 +448,25 @@ RenderWidget* RenderWidget::Create(int32 opener_id, |
| } |
| // static |
| +RenderWidget* RenderWidget::CreateForFrame( |
| + int routing_id, bool hidden, const blink::WebScreenInfo& screen_info) { |
|
nasko
2014/10/01 16:37:14
style: params need to be on separate lines each
kenrb
2014/10/01 19:27:51
Done.
|
| + DCHECK(routing_id != MSG_ROUTING_NONE); |
| + scoped_refptr<RenderWidget> widget( |
| + new RenderWidget(blink::WebPopupTypeNone, |
| + screen_info, |
| + false, |
| + hidden, |
| + false)); |
| + widget->routing_id_ = routing_id; |
| + //TODO(kenrb): Change CreateWebWidget to CreateWebFrameWidget before landing! |
| + if (widget->DoInit(MSG_ROUTING_NONE, |
| + RenderWidget::CreateWebWidget(widget.get()), |
| + 0)) |
|
nasko
2014/10/01 16:37:14
nit: s/0/nullptr/
kenrb
2014/10/01 19:27:51
Done.
|
| + return widget.get(); |
|
nasko
2014/10/01 16:37:14
style: {} needed because the if clause spans multi
kenrb
2014/10/01 19:27:51
Done.
|
| + return NULL; |
| +} |
| + |
| +// static |
| WebWidget* RenderWidget::CreateWebWidget(RenderWidget* render_widget) { |
| switch (render_widget->popup_type_) { |
| case blink::WebPopupTypeNone: // Nothing to create. |
| @@ -480,7 +499,10 @@ bool RenderWidget::DoInit(int32 opener_id, |
| webwidget_ = web_widget; |
| - bool result = RenderThread::Get()->Send(create_widget_message); |
| + bool result = true; |
| + if (create_widget_message) |
| + result = RenderThread::Get()->Send(create_widget_message); |
| + |
| if (result) { |
| RenderThread::Get()->AddRoute(routing_id_, this); |
| // Take a reference on behalf of the RenderThread. This will be balanced |