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

Unified Diff: extensions/browser/process_manager.cc

Issue 189683002: Add TestExtensionsBrowserClient, move ProcessManagerTest to //extensions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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: extensions/browser/process_manager.cc
diff --git a/extensions/browser/process_manager.cc b/extensions/browser/process_manager.cc
index 721bc14cb976272c0b1ce30bdcd304a70c8f4959..6298553ebe7cd64742d01e73d6c6690f3cef6ba1 100644
--- a/extensions/browser/process_manager.cc
+++ b/extensions/browser/process_manager.cc
@@ -95,7 +95,8 @@ void OnRenderViewHostUnregistered(BrowserContext* context,
class IncognitoProcessManager : public ProcessManager {
public:
IncognitoProcessManager(BrowserContext* incognito_context,
- BrowserContext* original_context);
+ BrowserContext* original_context,
+ ProcessManager* original_manager);
virtual ~IncognitoProcessManager() {}
virtual bool CreateBackgroundHost(const Extension* extension,
const GURL& url) OVERRIDE;
@@ -189,12 +190,26 @@ ProcessManager* ProcessManager::Create(BrowserContext* context) {
if (context->IsOffTheRecord()) {
BrowserContext* original_context = client->GetOriginalContext(context);
- return new IncognitoProcessManager(context, original_context);
+ ProcessManager* original_manager =
+ ExtensionSystem::Get(original_context)->process_manager();
+ return new IncognitoProcessManager(
+ context, original_context, original_manager);
}
return new ProcessManager(context, context);
}
+// static
+ProcessManager* ProcessManager::CreateIncognitoForTesting(
+ BrowserContext* incognito_context,
+ BrowserContext* original_context,
+ ProcessManager* original_manager) {
+ DCHECK(incognito_context->IsOffTheRecord());
+ DCHECK(!original_context->IsOffTheRecord());
+ return new IncognitoProcessManager(
+ incognito_context, original_context, original_manager);
+}
+
ProcessManager::ProcessManager(BrowserContext* context,
BrowserContext* original_context)
: site_instance_(SiteInstance::Create(context)),
@@ -861,10 +876,10 @@ bool ProcessManager::DeferLoadingBackgroundHosts() const {
IncognitoProcessManager::IncognitoProcessManager(
BrowserContext* incognito_context,
- BrowserContext* original_context)
+ BrowserContext* original_context,
+ ProcessManager* original_manager)
: ProcessManager(incognito_context, original_context),
- original_manager_(
- ExtensionSystem::Get(original_context)->process_manager()) {
+ original_manager_(original_manager) {
DCHECK(incognito_context->IsOffTheRecord());
// The original profile will have its own ProcessManager to

Powered by Google App Engine
This is Rietveld 408576698