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

Unified Diff: chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc

Issue 52343002: policy: Register OffTheRecordProfile at UserCloudPolicyManagerFactory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated comments. Created 7 years, 1 month 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/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..630b96616678fca4864caed707cac2df3007f27f 100644
--- a/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc
+++ b/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc
@@ -28,14 +28,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",
@@ -45,17 +55,17 @@ UserCloudPolicyManagerFactory::~UserCloudPolicyManagerFactory() {}
UserCloudPolicyManager* UserCloudPolicyManagerFactory::GetManagerForProfile(
Profile* profile) {
- // Get the manager for the original profile, since the PolicyService is
- // also shared between the incognito Profile and the original Profile.
- ManagerMap::const_iterator it = managers_.find(profile->GetOriginalProfile());
+ // In case |profile| is an incognito Profile, |manager_| will have a matching
+ // entry pointing to the PolicyService of the original Profile.
+ ManagerMap::const_iterator it = managers_.find(profile);
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,6 +79,17 @@ scoped_ptr<UserCloudPolicyManager>
return manager.Pass();
}
+UserCloudPolicyManager*
+UserCloudPolicyManagerFactory::RegisterManagerForOffTheRecordProfile(
+ Profile* original_profile,
+ Profile* off_the_record_profile) {
+ // Register the PolicyService of the original Profile for the respective
+ // incognito Profile. See GetManagerForProfile above.
+ 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);

Powered by Google App Engine
This is Rietveld 408576698