Chromium Code Reviews| Index: content/browser/web_contents/web_contents_impl.cc |
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
| index d30295dd1177d90efaa4a3244ef7d946b004384f..ed611d03f3405f19612774c20d768da6ccecedd8 100644 |
| --- a/content/browser/web_contents/web_contents_impl.cc |
| +++ b/content/browser/web_contents/web_contents_impl.cc |
| @@ -2874,22 +2874,20 @@ void WebContentsImpl::RenderViewCreated(RenderViewHost* render_view_host) { |
| Source<WebContents>(this), |
| Details<RenderViewHost>(render_view_host)); |
| NavigationEntry* entry = controller_.GetActiveEntry(); |
| - if (!entry) |
| - return; |
| - |
| - // When we're creating views, we're still doing initial setup, so we always |
| - // use the pending Web UI rather than any possibly existing committed one. |
| - if (render_manager_.pending_web_ui()) |
| - render_manager_.pending_web_ui()->RenderViewCreated(render_view_host); |
| + if (entry) { |
| + // When we're creating views, we're still doing initial setup, so we always |
| + // use the pending Web UI rather than any possibly existing committed one. |
| + if (render_manager_.pending_web_ui()) |
| + render_manager_.pending_web_ui()->RenderViewCreated(render_view_host); |
| + |
| + if (entry->IsViewSourceMode()) { |
| + // Put the renderer in view source mode. |
| + render_view_host->Send( |
| + new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); |
| + } |
| - if (entry->IsViewSourceMode()) { |
| - // Put the renderer in view source mode. |
| - render_view_host->Send( |
| - new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); |
| + view_->RenderViewCreated(render_view_host); |
| } |
| - |
| - view_->RenderViewCreated(render_view_host); |
| - |
| FOR_EACH_OBSERVER( |
| WebContentsObserver, observers_, RenderViewCreated(render_view_host)); |
| } |
| @@ -3636,9 +3634,9 @@ NavigationEntry* |
| return controller_.GetLastCommittedEntry(); |
| } |
| -bool WebContentsImpl::CreateRenderViewForRenderManager( |
| - RenderViewHost* render_view_host, int opener_route_id) { |
| - TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderViewForRenderManager"); |
| +bool WebContentsImpl::CreateRenderView(RenderViewHost* render_view_host, |
| + int opener_route_id, |
| + int max_page_id) { |
| // Can be NULL during tests. |
| RenderWidgetHostView* rwh_view = view_->CreateViewForWidget(render_view_host); |
| @@ -3646,11 +3644,6 @@ bool WebContentsImpl::CreateRenderViewForRenderManager( |
| if (rwh_view) |
| rwh_view->SetSize(view_->GetContainerSize()); |
| - // Make sure we use the correct starting page_id in the new RenderView. |
| - UpdateMaxPageIDIfNecessary(render_view_host); |
| - int32 max_page_id = |
| - GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance()); |
|
Charlie Reis
2013/08/21 22:06:26
These max page ID calls have to stay, or else the
michaelbai
2013/08/21 23:32:17
Done.
|
| - |
| if (!static_cast<RenderViewHostImpl*>( |
| render_view_host)->CreateRenderView(string16(), |
| opener_route_id, |
| @@ -3670,6 +3663,24 @@ bool WebContentsImpl::CreateRenderViewForRenderManager( |
| return true; |
| } |
| +bool WebContentsImpl::CreateRenderViewForRenderManager( |
| + RenderViewHost* render_view_host, int opener_route_id) { |
| + TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderViewForRenderManager"); |
| + |
| + // Make sure we use the correct starting page_id in the new RenderView. |
| + UpdateMaxPageIDIfNecessary(render_view_host); |
| + int32 max_page_id = |
| + GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance()); |
| + return CreateRenderView(render_view_host, opener_route_id, max_page_id); |
| +} |
| + |
| +#if defined(OS_ANDROID) |
| +bool WebContentsImpl::CreateRenderViewWithoutNavigationEntry( |
| + RenderViewHost* render_view_host) { |
| + return CreateRenderView(render_view_host, MSG_ROUTING_NONE, -1); |
|
Charlie Reis
2013/08/21 22:06:26
Just call CreatRenderViewForRenderManager here.
michaelbai
2013/08/21 23:32:17
Done.
|
| +} |
| +#endif |
| + |
| void WebContentsImpl::OnDialogClosed(RenderViewHost* rvh, |
| IPC::Message* reply_msg, |
| bool success, |