Index: chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc |
diff --git a/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc b/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc |
index 02793284461a164b8911409468ea4ab334a0b327..3ac8cb2ad66241a0ff0a3043d69666fc5de20381 100644 |
--- a/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc |
+++ b/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc |
@@ -12,6 +12,7 @@ |
#include "chrome/browser/policy/cloud/user_cloud_policy_store.h" |
#include "chrome/browser/profiles/profile.h" |
#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" |
+#include "content/public/browser/browser_context.h" |
namespace policy { |
@@ -28,14 +29,24 @@ UserCloudPolicyManager* UserCloudPolicyManagerFactory::GetForProfile( |
// static |
scoped_ptr<UserCloudPolicyManager> |
-UserCloudPolicyManagerFactory::CreateForProfile( |
+UserCloudPolicyManagerFactory::CreateForOriginalProfile( |
Profile* profile, |
bool force_immediate_load, |
scoped_refptr<base::SequencedTaskRunner> background_task_runner) { |
- return GetInstance()->CreateManagerForProfile( |
+ return GetInstance()->CreateManagerForOriginalProfile( |
profile, force_immediate_load, background_task_runner); |
} |
+// static |
+UserCloudPolicyManager* |
+UserCloudPolicyManagerFactory::RegisterForOffTheRecordProfile( |
+ Profile* original_profile, |
+ Profile* off_the_record_profile) { |
+ return GetInstance()->RegisterManagerForOffTheRecordProfile( |
+ original_profile, off_the_record_profile); |
+} |
+ |
+ |
UserCloudPolicyManagerFactory::UserCloudPolicyManagerFactory() |
: BrowserContextKeyedBaseFactory( |
"UserCloudPolicyManager", |
@@ -44,18 +55,18 @@ UserCloudPolicyManagerFactory::UserCloudPolicyManagerFactory() |
UserCloudPolicyManagerFactory::~UserCloudPolicyManagerFactory() {} |
UserCloudPolicyManager* UserCloudPolicyManagerFactory::GetManagerForProfile( |
- Profile* profile) { |
+ content::BrowserContext* context) { |
// Get the manager for the original profile, since the PolicyService is |
// also shared between the incognito Profile and the original Profile. |
Joao da Silva
2013/11/04 09:53:38
Update this comment.
pneubeck (no reviews)
2013/11/04 12:38:50
Done.
|
- ManagerMap::const_iterator it = managers_.find(profile->GetOriginalProfile()); |
+ ManagerMap::const_iterator it = managers_.find(context); |
return it != managers_.end() ? it->second : NULL; |
} |
scoped_ptr<UserCloudPolicyManager> |
- UserCloudPolicyManagerFactory::CreateManagerForProfile( |
- Profile* profile, |
- bool force_immediate_load, |
- scoped_refptr<base::SequencedTaskRunner> background_task_runner) { |
+UserCloudPolicyManagerFactory::CreateManagerForOriginalProfile( |
+ Profile* profile, |
+ bool force_immediate_load, |
+ scoped_refptr<base::SequencedTaskRunner> background_task_runner) { |
scoped_ptr<UserCloudPolicyStore> store( |
UserCloudPolicyStore::Create(profile, background_task_runner)); |
if (force_immediate_load) |
@@ -69,35 +80,43 @@ scoped_ptr<UserCloudPolicyManager> |
return manager.Pass(); |
} |
+UserCloudPolicyManager* |
+UserCloudPolicyManagerFactory::RegisterManagerForOffTheRecordProfile( |
+ Profile* original_profile, |
+ Profile* off_the_record_profile) { |
+ UserCloudPolicyManager* manager = GetManagerForProfile(original_profile); |
+ Register(off_the_record_profile, manager); |
+ return manager; |
+} |
+ |
void UserCloudPolicyManagerFactory::BrowserContextShutdown( |
content::BrowserContext* context) { |
- Profile* profile = static_cast<Profile*>(context); |
- if (profile->IsOffTheRecord()) |
+ if (context->IsOffTheRecord()) |
return; |
- UserCloudPolicyManager* manager = GetManagerForProfile(profile); |
+ UserCloudPolicyManager* manager = GetManagerForProfile(context); |
if (manager) |
manager->Shutdown(); |
} |
void UserCloudPolicyManagerFactory::SetEmptyTestingFactory( |
- content::BrowserContext* profile) { |
+ content::BrowserContext* context) { |
} |
void UserCloudPolicyManagerFactory::CreateServiceNow( |
- content::BrowserContext* profile) { |
+ content::BrowserContext* context) { |
} |
-void UserCloudPolicyManagerFactory::Register(Profile* profile, |
+void UserCloudPolicyManagerFactory::Register(content::BrowserContext* context, |
UserCloudPolicyManager* instance) { |
- UserCloudPolicyManager*& entry = managers_[profile]; |
+ UserCloudPolicyManager*& entry = managers_[context]; |
DCHECK(!entry); |
entry = instance; |
} |
void UserCloudPolicyManagerFactory::Unregister( |
- Profile* profile, |
+ content::BrowserContext* context, |
UserCloudPolicyManager* instance) { |
- ManagerMap::iterator entry = managers_.find(profile); |
+ ManagerMap::iterator entry = managers_.find(context); |
if (entry != managers_.end()) { |
DCHECK_EQ(instance, entry->second); |
managers_.erase(entry); |