| 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 157a17d6a8edae0bbb689d3ff51549b36245b193..60536b72721e02a3b1180538c4ef128f52b4ae59 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -1197,7 +1197,7 @@ void WebContentsImpl::Observe(int type,
|
| void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
| render_manager_.Init(
|
| params.browser_context, params.site_instance, params.routing_id,
|
| - params.main_frame_routing_id);
|
| + params.main_frame_routing_id, params.initially_hidden);
|
|
|
| view_.reset(GetContentClient()->browser()->
|
| OverrideCreateWebContentsView(this, &render_view_host_delegate_view_));
|
| @@ -1486,6 +1486,8 @@ void WebContentsImpl::CreateNewWindow(
|
| BrowserPluginGuest::CreateWithOpener(instance_id, new_contents_impl,
|
| GetBrowserPluginGuest(), !!new_contents_impl->opener());
|
| }
|
| + if (params.disposition == NEW_BACKGROUND_TAB)
|
| + create_params.initially_hidden = true;
|
| new_contents->Init(create_params);
|
|
|
| // Save the window for later if we're not suppressing the opener (since it
|
| @@ -1546,8 +1548,9 @@ void WebContentsImpl::CreateNewWidget(int route_id,
|
| bool is_fullscreen,
|
| WebKit::WebPopupType popup_type) {
|
| RenderProcessHost* process = GetRenderProcessHost();
|
| + bool hidden = !should_normally_be_visible_;
|
| RenderWidgetHostImpl* widget_host =
|
| - new RenderWidgetHostImpl(this, process, route_id);
|
| + new RenderWidgetHostImpl(this, process, route_id, hidden);
|
| created_widgets_.insert(widget_host);
|
|
|
| RenderWidgetHostViewPort* widget_view = RenderWidgetHostViewPort::FromRWHV(
|
| @@ -1765,8 +1768,9 @@ bool WebContentsImpl::NavigateToEntry(
|
| if (entry.GetURL().spec().size() > kMaxURLChars)
|
| return false;
|
|
|
| + bool hidden = !should_normally_be_visible_;
|
| RenderViewHostImpl* dest_render_view_host =
|
| - static_cast<RenderViewHostImpl*>(render_manager_.Navigate(entry));
|
| + static_cast<RenderViewHostImpl*>(render_manager_.Navigate(entry, hidden));
|
| if (!dest_render_view_host)
|
| return false; // Unable to create the desired render view host.
|
|
|
| @@ -3432,7 +3436,8 @@ WebPreferences WebContentsImpl::GetWebkitPrefs() {
|
|
|
| int WebContentsImpl::CreateSwappedOutRenderView(
|
| SiteInstance* instance) {
|
| - return render_manager_.CreateRenderView(instance, MSG_ROUTING_NONE, true);
|
| + return render_manager_.CreateRenderView(instance, MSG_ROUTING_NONE,
|
| + true, true);
|
| }
|
|
|
| void WebContentsImpl::OnUserGesture() {
|
| @@ -3602,7 +3607,8 @@ int WebContentsImpl::CreateOpenerRenderViews(SiteInstance* instance) {
|
|
|
| // Create a swapped out RenderView in the given SiteInstance if none exists,
|
| // setting its opener to the given route_id. Return the new view's route_id.
|
| - return render_manager_.CreateRenderView(instance, opener_route_id, true);
|
| + return render_manager_.CreateRenderView(instance, opener_route_id,
|
| + true, true);
|
| }
|
|
|
| NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() {
|
|
|