Index: chrome/browser/chrome_content_browser_client.cc |
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
index bae8e9fb5dfe0b0695bf72bedcd0743ef6b83b6e..015a0438a7d8c2f33af27310a7fa17137ca35912 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -247,6 +247,24 @@ bool ChromeContentBrowserClient::IsURLSameAsAnySiteInstance(const GURL& url) { |
url == GURL(chrome::kChromeUIShorthangURL); |
} |
+bool ChromeContentBrowserClient::IsSuitableHost( |
+ RenderProcessHost* process_host, |
+ const GURL& site_url) { |
+ Profile* profile = |
+ Profile::FromBrowserContext(process_host->browser_context()); |
+ ExtensionProcessManager* extension_process_manager = |
+ profile->GetExtensionProcessManager(); |
+ |
+ // Maybe NULL during tests. |
+ if (!extension_process_manager) |
+ return true; |
+ |
+ bool is_extension_host = |
+ process_host->is_extension_process() || |
+ extension_process_manager->IsExtensionProcessHost(process_host->id()); |
+ return site_url.SchemeIs(chrome::kExtensionScheme) == is_extension_host; |
+} |
+ |
std::string ChromeContentBrowserClient::GetCanonicalEncodingNameByAliasName( |
const std::string& alias_name) { |
return CharacterEncoding::GetCanonicalEncodingNameByAliasName(alias_name); |