Index: extensions/browser/extension_host.cc |
diff --git a/extensions/browser/extension_host.cc b/extensions/browser/extension_host.cc |
index 0eac1fbbf30b12e227cdc6c143db6f2423bec3a5..f623a0c0d74455040b20d87ab8ae359b1c267862 100644 |
--- a/extensions/browser/extension_host.cc |
+++ b/extensions/browser/extension_host.cc |
@@ -130,8 +130,10 @@ ExtensionHost::ExtensionHost(const Extension* extension, |
host_type == VIEW_TYPE_EXTENSION_DIALOG || |
host_type == VIEW_TYPE_EXTENSION_INFOBAR || |
host_type == VIEW_TYPE_EXTENSION_POPUP); |
- host_contents_.reset(WebContents::Create( |
- WebContents::CreateParams(browser_context_, site_instance))), |
+ WebContents::CreateParams create_params(browser_context_, site_instance); |
+ if (host_type == VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) |
+ create_params.initially_hidden = true; |
+ host_contents_.reset(WebContents::Create(create_params)); |
content::WebContentsObserver::Observe(host_contents_.get()); |
host_contents_->SetDelegate(this); |
SetViewType(host_contents_.get(), host_type); |
@@ -427,4 +429,10 @@ void ExtensionHost::RequestMediaAccessPermission( |
web_contents, request, callback, extension()); |
} |
+bool ExtensionHost::IsWebContentsNeverVisible( |
+ content::WebContents* web_contents) { |
+ ViewType view_type = extensions::GetViewType(web_contents); |
+ return view_type == extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE; |
+} |
+ |
} // namespace extensions |