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 3853866cc2885f82e2853c3384b73dba49582390..6da4ea4050abbae1893248f23e26611add674407 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -398,6 +398,14 @@ bool ChromeContentBrowserClient::IsSuitableHost( |
ExtensionService* service = profile->GetExtensionService(); |
extensions::ProcessMap* process_map = service->process_map(); |
+ // Don't allow the Task Manager to share a process with anything else. |
+ // Otherwise it can affect the renderers it is observing. |
+ // Note: we could create another RenderProcessHostPrivilege bucket for |
+ // this to allow multiple chrome://tasks instances to share, but that's |
+ // a very unlikely case without serious consequences. |
+ if (site_url.GetOrigin() == GURL(chrome::kChromeUITaskManagerURL).GetOrigin()) |
+ return false; |
+ |
// These may be NULL during tests. In that case, just assume any site can |
// share any host. |
if (!service || !process_map) |