| Index: content/browser/web_contents/render_view_host_manager.cc
|
| diff --git a/content/browser/web_contents/render_view_host_manager.cc b/content/browser/web_contents/render_view_host_manager.cc
|
| index 9d29a09c6a349cadd2fb5281f76c3dd69444d66f..2c92430be926b3f1df35f470a4e5dee367b02b12 100644
|
| --- a/content/browser/web_contents/render_view_host_manager.cc
|
| +++ b/content/browser/web_contents/render_view_host_manager.cc
|
| @@ -83,7 +83,7 @@ void RenderViewHostManager::Init(BrowserContext* browser_context,
|
| render_view_host_ = static_cast<RenderViewHostImpl*>(
|
| RenderViewHostFactory::Create(
|
| site_instance, render_view_delegate_, render_widget_delegate_,
|
| - routing_id, main_frame_routing_id, false));
|
| + routing_id, main_frame_routing_id, false, delegate_->IsHidden()));
|
|
|
| // Keep track of renderer processes as they start to shut down or are
|
| // crashed/killed.
|
| @@ -642,8 +642,10 @@ SiteInstance* RenderViewHostManager::GetSiteInstanceForEntry(
|
| int RenderViewHostManager::CreateRenderView(
|
| SiteInstance* instance,
|
| int opener_route_id,
|
| - bool swapped_out) {
|
| + bool swapped_out,
|
| + bool hidden) {
|
| CHECK(instance);
|
| + DCHECK(!swapped_out || hidden); // Swapped out views should always be hidden.
|
|
|
| // Check if we've already created an RVH for this SiteInstance. If so, try
|
| // to re-use the existing one, which has already been initialized. We'll
|
| @@ -662,7 +664,8 @@ int RenderViewHostManager::CreateRenderView(
|
| render_widget_delegate_,
|
| MSG_ROUTING_NONE,
|
| MSG_ROUTING_NONE,
|
| - swapped_out));
|
| + swapped_out,
|
| + hidden));
|
|
|
| // If the new RVH is swapped out already, store it. Otherwise prevent the
|
| // process from exiting while we're trying to navigate in it.
|
| @@ -894,7 +897,8 @@ RenderViewHostImpl* RenderViewHostManager::UpdateRendererStateForNavigate(
|
|
|
| // Create a non-swapped-out pending RVH with the given opener and navigate
|
| // it.
|
| - int route_id = CreateRenderView(new_instance, opener_route_id, false);
|
| + int route_id = CreateRenderView(new_instance, opener_route_id, false,
|
| + delegate_->IsHidden());
|
| if (route_id == MSG_ROUTING_NONE)
|
| return NULL;
|
|
|
|
|