Index: components/policy/core/common/policy_loader_mac.cc |
diff --git a/components/policy/core/common/policy_loader_mac.cc b/components/policy/core/common/policy_loader_mac.cc |
index 04e6314887de0c770a925f585ae71b6f8a9a14b2..bcdd78d577d90208dd58c70b9cd79cfde8b25f52 100644 |
--- a/components/policy/core/common/policy_loader_mac.cc |
+++ b/components/policy/core/common/policy_loader_mac.cc |
@@ -32,7 +32,20 @@ PolicyLoaderMac::PolicyLoaderMac( |
MacPreferences* preferences) |
: AsyncPolicyLoader(task_runner), |
preferences_(preferences), |
- managed_policy_path_(managed_policy_path) {} |
+ managed_policy_path_(managed_policy_path), |
+ application_id_(kCFPreferencesCurrentApplication) { |
+} |
+ |
+PolicyLoaderMac::PolicyLoaderMac( |
+ scoped_refptr<base::SequencedTaskRunner> task_runner, |
+ const base::FilePath& managed_policy_path, |
+ MacPreferences* preferences, |
+ CFStringRef application_id) |
+ : AsyncPolicyLoader(task_runner), |
+ preferences_(preferences), |
+ managed_policy_path_(managed_policy_path), |
+ application_id_(application_id) { |
+} |
PolicyLoaderMac::~PolicyLoaderMac() {} |
@@ -45,7 +58,7 @@ void PolicyLoaderMac::InitOnBackgroundThread() { |
} |
scoped_ptr<PolicyBundle> PolicyLoaderMac::Load() { |
- preferences_->AppSynchronize(kCFPreferencesCurrentApplication); |
+ preferences_->AppSynchronize(application_id_); |
scoped_ptr<PolicyBundle> bundle(new PolicyBundle()); |
// Load Chrome's policy. |
@@ -61,12 +74,11 @@ scoped_ptr<PolicyBundle> PolicyLoaderMac::Load() { |
base::ScopedCFTypeRef<CFStringRef> name( |
base::SysUTF8ToCFStringRef(it.key())); |
base::ScopedCFTypeRef<CFPropertyListRef> value( |
- preferences_->CopyAppValue(name, kCFPreferencesCurrentApplication)); |
+ preferences_->CopyAppValue(name, application_id_)); |
if (!value.get()) |
continue; |
policy_present = true; |
- bool forced = |
- preferences_->AppValueIsForced(name, kCFPreferencesCurrentApplication); |
+ bool forced = preferences_->AppValueIsForced(name, application_id_); |
PolicyLevel level = forced ? POLICY_LEVEL_MANDATORY : |
POLICY_LEVEL_RECOMMENDED; |
// TODO(joaodasilva): figure the policy scope. |