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 551be516a4e6aca6675779df82464594c7c3a2ed..d95c76010ec14d9fbed8756ad7e3902fa551c341 100644 |
| --- a/content/browser/web_contents/web_contents_impl.cc |
| +++ b/content/browser/web_contents/web_contents_impl.cc |
| @@ -2866,8 +2866,11 @@ void WebContentsImpl::RenderViewCreated(RenderViewHost* render_view_host) { |
| Source<WebContents>(this), |
| Details<RenderViewHost>(render_view_host)); |
| NavigationEntry* entry = controller_.GetActiveEntry(); |
| - if (!entry) |
| + if (!entry) { |
| + FOR_EACH_OBSERVER( |
| + WebContentsObserver, observers_, RenderViewCreated(render_view_host)); |
|
michaelbai
2013/08/20 00:40:22
I think this might reasonable, since the RenderVie
|
| return; |
| + } |
|
joth
2013/08/20 05:00:44
style nit: I'd put "if (entry)" around all this co
michaelbai
2013/08/20 19:15:20
Done.
|
| // 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. |
| @@ -3620,9 +3623,9 @@ NavigationEntry* |
| return controller_.GetLastCommittedEntry(); |
| } |
| -bool WebContentsImpl::CreateRenderViewForRenderManager( |
| - RenderViewHost* render_view_host, int opener_route_id) { |
| - TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderViewForRenderManager"); |
| +bool WebContentsImpl::CreateRenderViewInternal(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); |
| @@ -3630,11 +3633,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()); |
| - |
| if (!static_cast<RenderViewHostImpl*>( |
| render_view_host)->CreateRenderView(string16(), |
| opener_route_id, |
| @@ -3654,6 +3652,27 @@ 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 CreateRenderViewInternal(render_view_host, opener_route_id, |
| + max_page_id); |
| +} |
| + |
| +#if defined(OS_ANDROID) |
| +bool WebContentsImpl::CreateRenderView(RenderViewHost* render_view_host, |
| + int opener_route_id, |
| + int max_page_id) { |
| + return CreateRenderViewInternal(render_view_host, opener_route_id, |
| + max_page_id); |
| +} |
| +#endif |
| + |
| void WebContentsImpl::OnDialogClosed(RenderViewHost* rvh, |
| IPC::Message* reply_msg, |
| bool success, |