Index: chrome/browser/extensions/extension_process_manager.cc |
=================================================================== |
--- chrome/browser/extensions/extension_process_manager.cc (revision 34039) |
+++ chrome/browser/extensions/extension_process_manager.cc (working copy) |
@@ -49,6 +49,7 @@ |
} |
ExtensionProcessManager::~ExtensionProcessManager() { |
+ CloseBackgroundHosts(); |
DCHECK(background_hosts_.empty()); |
} |
@@ -57,7 +58,8 @@ |
Browser* browser, |
ViewType::Type view_type) { |
DCHECK(extension); |
- DCHECK(browser); |
+ // A NULL browser may only be given for pop-up views. |
+ DCHECK(browser || (!browser && view_type == ViewType::EXTENSION_POPUP)); |
ExtensionHost* host = |
new ExtensionHost(extension, GetSiteInstanceForURL(url), url, view_type); |
host->CreateView(browser); |
@@ -68,7 +70,8 @@ |
ExtensionHost* ExtensionProcessManager::CreateView(const GURL& url, |
Browser* browser, |
ViewType::Type view_type) { |
- DCHECK(browser); |
+ // A NULL browser may only be given for pop-up views. |
+ DCHECK(browser || (!browser && view_type == ViewType::EXTENSION_POPUP)); |
ExtensionsService* service = |
browsing_instance_->profile()->GetExtensionsService(); |
if (service) { |