Index: content/browser/frame_host/render_frame_host_impl.cc |
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc |
index 7be414e7cc4e91facd5fe3d789e1370d81a0c57b..1640ad5c22c07fc445023954037a10070e67754a 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -743,7 +743,31 @@ void RenderFrameHostImpl::OnDidCommitProvisionalLoad(const IPC::Message& msg) { |
frame_tree_node()->navigator()->DidNavigate(this, validated_params); |
} |
+void RenderFrameHostImpl::CreateRenderWidgetHost( |
+ RenderWidgetHostDelegate* delegate, |
+ bool hidden) { |
+ DCHECK(!render_widget_host_); |
+ int render_widget_host_routing_id = GetProcess()->GetNextRoutingID(); |
+ render_widget_host_.reset( |
+ new RenderWidgetHostImpl(delegate, |
+ GetProcess(), |
+ render_widget_host_routing_id, |
+ hidden)); |
+ |
+ new RenderWidgetHostViewChildFrame(render_widget_host_.get()); |
+ |
+ Send(new FrameMsg_NewWidgetForFrame(routing_id_, |
+ render_widget_host_routing_id, |
+ hidden)); |
+} |
+ |
RenderWidgetHostImpl* RenderFrameHostImpl::GetRenderWidgetHost() { |
+ if (render_widget_host_) |
+ return render_widget_host_.get(); |
+ |
+ // TODO(kenrb): When RenderViewHost no longer inherits RenderWidgetHost, |
+ // we can remove this fallback. Currently it is only used for the main |
+ // frame. |
return static_cast<RenderWidgetHostImpl*>(render_view_host_); |
} |