Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3802)

Unified Diff: chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc

Issue 1377933004: Modify --isolate-extensions to not isolate hosted apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@no_isolate_apps3
Patch Set: Fixes from charlie Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
diff --git a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
index bb82828623909b202a6c7492ce0966a5eadced09..15ea34cf2ea0606e30be13e144d70aad25ab8531 100644
--- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
+++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
@@ -19,6 +19,7 @@
#include "chrome/browser/renderer_host/chrome_extension_message_filter.h"
#include "chrome/browser/sync_file_system/local/sync_file_system_backend.h"
#include "chrome/common/chrome_constants.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension_process_policy.h"
#include "components/guest_view/browser/guest_view_message_filter.h"
#include "content/public/browser/browser_thread.h"
@@ -184,6 +185,26 @@ bool ChromeContentBrowserClientExtensionsPart::ShouldUseProcessPerSite(
}
// static
+bool ChromeContentBrowserClientExtensionsPart::DoesSiteRequireDedicatedProcess(
+ content::BrowserContext* browser_context,
+ const GURL& effective_site_url) {
+ if (effective_site_url.SchemeIs(extensions::kExtensionScheme)) {
+ // --isolate-extensions should isolate extensions, except for hosted apps.
+ // Isolating hosted apps is a good idea, but ought to be a separate knob.
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ ::switches::kIsolateExtensions)) {
+ const Extension* extension =
+ ExtensionRegistry::Get(browser_context)
+ ->enabled_extensions()
+ .GetExtensionOrAppByURL(effective_site_url);
+ if (extension && !extension->is_hosted_app())
+ return true;
+ }
+ }
+ return false;
+}
+
+// static
bool ChromeContentBrowserClientExtensionsPart::ShouldLockToOrigin(
content::BrowserContext* browser_context,
const GURL& effective_site_url) {
« no previous file with comments | « chrome/browser/extensions/chrome_content_browser_client_extensions_part.h ('k') | chrome/browser/site_details.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698