| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 5 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 } | 77 } |
| 78 return kDefaultConsumerDeviceManagementServerUrl; | 78 return kDefaultConsumerDeviceManagementServerUrl; |
| 79 }; | 79 }; |
| 80 | 80 |
| 81 } // namespace | 81 } // namespace |
| 82 | 82 |
| 83 BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS() | 83 BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS() |
| 84 : device_cloud_policy_manager_(NULL), | 84 : device_cloud_policy_manager_(NULL), |
| 85 global_user_cloud_policy_provider_(NULL), | 85 global_user_cloud_policy_provider_(NULL), |
| 86 weak_ptr_factory_(this) { | 86 weak_ptr_factory_(this) { |
| 87 if (g_testing_install_attributes) | 87 if (g_testing_install_attributes) { |
| 88 install_attributes_.reset(g_testing_install_attributes); | 88 install_attributes_.reset(g_testing_install_attributes); |
| 89 g_testing_install_attributes = NULL; |
| 90 } |
| 89 | 91 |
| 90 // SystemSaltGetter or DBusThreadManager may be uninitialized on unit tests. | 92 // SystemSaltGetter or DBusThreadManager may be uninitialized on unit tests. |
| 91 | 93 |
| 92 // TODO(satorux): Remove SystemSaltGetter::IsInitialized() when it's ready | 94 // TODO(satorux): Remove SystemSaltGetter::IsInitialized() when it's ready |
| 93 // (removing it now breaks tests). crbug.com/141016. | 95 // (removing it now breaks tests). crbug.com/141016. |
| 94 if (chromeos::SystemSaltGetter::IsInitialized() && | 96 if (chromeos::SystemSaltGetter::IsInitialized() && |
| 95 chromeos::DBusThreadManager::IsInitialized()) { | 97 chromeos::DBusThreadManager::IsInitialized()) { |
| 96 chromeos::CryptohomeClient* cryptohome_client = | 98 chromeos::CryptohomeClient* cryptohome_client = |
| 97 chromeos::DBusThreadManager::Get()->GetCryptohomeClient(); | 99 chromeos::DBusThreadManager::Get()->GetCryptohomeClient(); |
| 98 if (!g_testing_install_attributes) { | 100 if (!install_attributes_) { |
| 99 install_attributes_.reset( | 101 install_attributes_.reset( |
| 100 new EnterpriseInstallAttributes(cryptohome_client)); | 102 new EnterpriseInstallAttributes(cryptohome_client)); |
| 101 } | 103 } |
| 102 base::FilePath install_attrs_file; | 104 base::FilePath install_attrs_file; |
| 103 CHECK(PathService::Get(chromeos::FILE_INSTALL_ATTRIBUTES, | 105 CHECK(PathService::Get(chromeos::FILE_INSTALL_ATTRIBUTES, |
| 104 &install_attrs_file)); | 106 &install_attrs_file)); |
| 105 install_attributes_->ReadCacheFile(install_attrs_file); | 107 install_attributes_->ReadCacheFile(install_attrs_file); |
| 106 | 108 |
| 107 scoped_ptr<DeviceCloudPolicyStoreChromeOS> device_cloud_policy_store( | 109 scoped_ptr<DeviceCloudPolicyStoreChromeOS> device_cloud_policy_store( |
| 108 new DeviceCloudPolicyStoreChromeOS( | 110 new DeviceCloudPolicyStoreChromeOS( |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 ConfigurationPolicyProvider* user_policy_provider) { | 238 ConfigurationPolicyProvider* user_policy_provider) { |
| 237 global_user_cloud_policy_provider_->SetDelegate(user_policy_provider); | 239 global_user_cloud_policy_provider_->SetDelegate(user_policy_provider); |
| 238 } | 240 } |
| 239 | 241 |
| 240 void BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting( | 242 void BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting( |
| 241 EnterpriseInstallAttributes* attributes) { | 243 EnterpriseInstallAttributes* attributes) { |
| 242 DCHECK(!g_testing_install_attributes); | 244 DCHECK(!g_testing_install_attributes); |
| 243 g_testing_install_attributes = attributes; | 245 g_testing_install_attributes = attributes; |
| 244 } | 246 } |
| 245 | 247 |
| 248 void BrowserPolicyConnectorChromeOS::RemoveInstallAttributesForTesting() { |
| 249 if (g_testing_install_attributes) { |
| 250 delete g_testing_install_attributes; |
| 251 g_testing_install_attributes = NULL; |
| 252 } |
| 253 } |
| 254 |
| 246 // static | 255 // static |
| 247 void BrowserPolicyConnectorChromeOS::RegisterPrefs( | 256 void BrowserPolicyConnectorChromeOS::RegisterPrefs( |
| 248 PrefRegistrySimple* registry) { | 257 PrefRegistrySimple* registry) { |
| 249 registry->RegisterIntegerPref( | 258 registry->RegisterIntegerPref( |
| 250 prefs::kDevicePolicyRefreshRate, | 259 prefs::kDevicePolicyRefreshRate, |
| 251 CloudPolicyRefreshScheduler::kDefaultRefreshDelayMs); | 260 CloudPolicyRefreshScheduler::kDefaultRefreshDelayMs); |
| 252 } | 261 } |
| 253 | 262 |
| 254 void BrowserPolicyConnectorChromeOS::SetTimezoneIfPolicyAvailable() { | 263 void BrowserPolicyConnectorChromeOS::SetTimezoneIfPolicyAvailable() { |
| 255 typedef chromeos::CrosSettingsProvider Provider; | 264 typedef chromeos::CrosSettingsProvider Provider; |
| 256 Provider::TrustedStatus result = | 265 Provider::TrustedStatus result = |
| 257 chromeos::CrosSettings::Get()->PrepareTrustedValues(base::Bind( | 266 chromeos::CrosSettings::Get()->PrepareTrustedValues(base::Bind( |
| 258 &BrowserPolicyConnectorChromeOS::SetTimezoneIfPolicyAvailable, | 267 &BrowserPolicyConnectorChromeOS::SetTimezoneIfPolicyAvailable, |
| 259 weak_ptr_factory_.GetWeakPtr())); | 268 weak_ptr_factory_.GetWeakPtr())); |
| 260 | 269 |
| 261 if (result != Provider::TRUSTED) | 270 if (result != Provider::TRUSTED) |
| 262 return; | 271 return; |
| 263 | 272 |
| 264 std::string timezone; | 273 std::string timezone; |
| 265 if (chromeos::CrosSettings::Get()->GetString(chromeos::kSystemTimezonePolicy, | 274 if (chromeos::CrosSettings::Get()->GetString(chromeos::kSystemTimezonePolicy, |
| 266 &timezone) && | 275 &timezone) && |
| 267 !timezone.empty()) { | 276 !timezone.empty()) { |
| 268 chromeos::system::TimezoneSettings::GetInstance()->SetTimezoneFromID( | 277 chromeos::system::TimezoneSettings::GetInstance()->SetTimezoneFromID( |
| 269 base::UTF8ToUTF16(timezone)); | 278 base::UTF8ToUTF16(timezone)); |
| 270 } | 279 } |
| 271 } | 280 } |
| 272 | 281 |
| 273 } // namespace policy | 282 } // namespace policy |
| OLD | NEW |