Index: chrome/browser/extensions/extension_process_manager.cc |
diff --git a/chrome/browser/extensions/extension_process_manager.cc b/chrome/browser/extensions/extension_process_manager.cc |
index 50e853626af1b3e1608f65c9729f0bf1cdeb3b2b..33e92f308671bbb2df226bd88832745915393862 100644 |
--- a/chrome/browser/extensions/extension_process_manager.cc |
+++ b/chrome/browser/extensions/extension_process_manager.cc |
@@ -54,10 +54,6 @@ class IncognitoExtensionProcessManager : public ExtensionProcessManager { |
const content::NotificationSource& source, |
const content::NotificationDetails& details); |
- // Returns the extension for an URL, which can either be a chrome-extension |
- // URL or a web app URL. |
- const Extension* GetExtensionOrAppByURL(const GURL& url); |
- |
// Returns true if the extension is allowed to run in incognito mode. |
bool IsIncognitoEnabled(const Extension* extension); |
@@ -146,7 +142,8 @@ ExtensionHost* ExtensionProcessManager::CreateViewHost( |
Profile::FromBrowserContext(browsing_instance_->browser_context()); |
ExtensionService* service = profile->GetExtensionService(); |
if (service) { |
- const Extension* extension = service->GetExtensionByURL(url); |
+ const Extension* extension = |
+ service->extensions()->GetByID(url.host()); |
if (extension) |
return CreateViewHost(extension, url, browser, view_type); |
} |
@@ -439,23 +436,16 @@ void IncognitoExtensionProcessManager::CreateBackgroundHost( |
SiteInstance* IncognitoExtensionProcessManager::GetSiteInstanceForURL( |
const GURL& url) { |
- const Extension* extension = GetExtensionOrAppByURL(url); |
- if (!extension || extension->incognito_split_mode()) { |
- return ExtensionProcessManager::GetSiteInstanceForURL(url); |
- } else { |
- return original_manager_->GetSiteInstanceForURL(url); |
- } |
-} |
- |
-const Extension* IncognitoExtensionProcessManager::GetExtensionOrAppByURL( |
- const GURL& url) { |
Profile* profile = |
Profile::FromBrowserContext(browsing_instance_->browser_context()); |
ExtensionService* service = profile->GetExtensionService(); |
- if (!service) |
- return NULL; |
- return (url.SchemeIs(chrome::kExtensionScheme)) ? |
- service->GetExtensionByURL(url) : service->GetExtensionByWebExtent(url); |
+ if (service) { |
+ const Extension* extension = service->extensions()->GetExtensionOrAppByURL( |
+ ExtensionURLInfo(url)); |
+ if (extension && !extension->incognito_split_mode()) |
+ return original_manager_->GetSiteInstanceForURL(url); |
+ } |
+ return ExtensionProcessManager::GetSiteInstanceForURL(url); |
} |
bool IncognitoExtensionProcessManager::IsIncognitoEnabled( |