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 5c821bbc0a354174a22762346ff042ed185d69d6..b7dc4b64d998a6f1f5586b1291a689c96b7a642a 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -351,6 +351,11 @@ GURL ChromeContentBrowserClient::GetEffectiveURL( |
if (!extension) |
return url; |
+ // Bookmark apps do not use the hosted app process model, and should be |
+ // treated as normal URLs. |
+ if (extension->from_bookmark()) |
+ return url; |
+ |
// If the URL is part of an extension's web extent, convert it to an |
// extension URL. |
return extension->GetResourceURL(url.path()); |
@@ -359,8 +364,8 @@ GURL ChromeContentBrowserClient::GetEffectiveURL( |
bool ChromeContentBrowserClient::ShouldUseProcessPerSite( |
content::BrowserContext* browser_context, const GURL& effective_url) { |
// Non-extension URLs should generally use process-per-site-instance. |
- // Because we expect to use the effective URL, hosted apps URLs should have |
- // an extension scheme by now. |
+ // Because we expect to use the effective URL, URLs for hosted apps (apart |
+ // from bookmark apps) should have an extension scheme by now. |
if (!effective_url.SchemeIs(chrome::kExtensionScheme)) |
return false; |