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 |