| Index: chrome/browser/browsing_instance.cc
|
| diff --git a/chrome/browser/browsing_instance.cc b/chrome/browser/browsing_instance.cc
|
| index aba73b29159ef262af1ddabbc964fa523710b05c..22c6ab5786b5cceffc32307d747f2c45f076ee96 100644
|
| --- a/chrome/browser/browsing_instance.cc
|
| +++ b/chrome/browser/browsing_instance.cc
|
| @@ -22,6 +22,12 @@ bool BrowsingInstance::ShouldUseProcessPerSite(const GURL& url) {
|
| const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
| if (command_line.HasSwitch(switches::kProcessPerSite))
|
| return true;
|
| +
|
| + if (url.SchemeIs(chrome::kExtensionScheme)) {
|
| + // Always consolidate extensions regardless of the command line, because
|
| + // they will break if split into multiple processes.
|
| + return true;
|
| + }
|
|
|
| if (!command_line.HasSwitch(switches::kProcessPerTab)) {
|
| // We are not in process-per-site or process-per-tab, so we must be in the
|
| @@ -30,10 +36,9 @@ bool BrowsingInstance::ShouldUseProcessPerSite(const GURL& url) {
|
| // Note that --single-process may have been specified, but that affects the
|
| // process creation logic in RenderProcessHost, so we do not need to worry
|
| // about it here.
|
| - if (url.SchemeIs(chrome::kChromeUIScheme) ||
|
| - url.SchemeIs(chrome::kExtensionScheme))
|
| + if (url.SchemeIs(chrome::kChromeUIScheme))
|
| // Always consolidate instances of the new tab page (and instances of any
|
| - // other internal resource urls), as well as extensions.
|
| + // other internal resource urls.
|
| return true;
|
|
|
| // TODO(creis): List any other special cases that we want to limit to a
|
|
|