Chromium Code Reviews| Index: chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc |
| diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc |
| index 48a81cb418a7dca2df0e0da89efb161a3cb84440..37228b0f27d3741f87fc9a8ad0b7ea4821c35ead 100644 |
| --- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc |
| +++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc |
| @@ -175,6 +175,8 @@ bool CheckManagementModeTransition(policy::ManagementMode current_mode, |
| return false; |
| } |
| +static bool g_test_owner_settings = false; |
| + |
| } // namespace |
| OwnerSettingsServiceChromeOS::ManagementSettings::ManagementSettings() { |
| @@ -637,6 +639,60 @@ void OwnerSettingsServiceChromeOS::UpdateDeviceSettings( |
| } else { |
| NOTREACHED(); |
| } |
| + } else if (g_test_owner_settings && path == kExtensionCacheSize) { |
|
Mattias Nissler (ping if slow)
2015/03/27 12:42:06
yuck - why is this needed?
Ivan Podogov
2015/03/27 12:51:14
You may see below a list of settings that are not
Mattias Nissler (ping if slow)
2015/03/27 12:58:52
Which are these tests? Can't we inject the necessa
Ivan Podogov
2015/03/27 13:10:50
In order of the settings listed here (their names
Mattias Nissler (ping if slow)
2015/03/27 13:45:58
Looked at this - I think the correct approach is t
|
| + em::ExtensionCacheSizeProto* extension_cache_size = |
| + settings.mutable_extension_cache_size(); |
| + int cache_size; |
| + if (value.GetAsInteger(&cache_size)) { |
| + extension_cache_size->set_extension_cache_size(cache_size); |
| + } else { |
| + NOTREACHED(); |
| + } |
| + } else if (g_test_owner_settings && path == kDeviceAttestationEnabled) { |
| + em::AttestationSettingsProto* attestation_settings = |
| + settings.mutable_attestation_settings(); |
| + bool setting_enabled; |
| + if (value.GetAsBoolean(&setting_enabled)) { |
| + attestation_settings->set_attestation_enabled(setting_enabled); |
| + } else { |
| + NOTREACHED(); |
| + } |
| + } else if (g_test_owner_settings && path == kHeartbeatEnabled) { |
| + em::DeviceHeartbeatSettingsProto* heartbeat_settings = |
| + settings.mutable_device_heartbeat_settings(); |
| + bool setting_enabled; |
| + if (value.GetAsBoolean(&setting_enabled)) { |
| + heartbeat_settings->set_heartbeat_enabled(setting_enabled); |
| + } else { |
| + NOTREACHED(); |
| + } |
| + } else if (g_test_owner_settings && path == kHeartbeatFrequency) { |
| + em::DeviceHeartbeatSettingsProto* heartbeat_settings = |
| + settings.mutable_device_heartbeat_settings(); |
| + int heartbeat_frequency; |
| + if (value.GetAsInteger(&heartbeat_frequency)) { |
| + heartbeat_settings->set_heartbeat_frequency(heartbeat_frequency); |
| + } else { |
| + NOTREACHED(); |
| + } |
| + } else if (g_test_owner_settings && path == kRebootOnShutdown) { |
| + em::RebootOnShutdownProto* reboot_on_shutdown = |
| + settings.mutable_reboot_on_shutdown(); |
| + bool setting_enabled; |
| + if (value.GetAsBoolean(&setting_enabled)) { |
| + reboot_on_shutdown->set_reboot_on_shutdown(setting_enabled); |
| + } else { |
| + NOTREACHED(); |
| + } |
| + } else if (g_test_owner_settings && path == kReportUploadFrequency) { |
| + em::DeviceReportingProto* reporting_policy = |
| + settings.mutable_device_reporting(); |
| + int upload_frequency; |
| + if (value.GetAsInteger(&upload_frequency)) { |
| + reporting_policy->set_device_status_frequency(upload_frequency); |
| + } else { |
| + NOTREACHED(); |
| + } |
| } else { |
| // The remaining settings don't support Set(), since they are not |
| // intended to be customizable by the user: |
| @@ -778,4 +834,12 @@ void OwnerSettingsServiceChromeOS::ReportStatusAndContinueStoring( |
| StorePendingChanges(); |
| } |
| +ScopedTestOwnerSettings::ScopedTestOwnerSettings() { |
| + g_test_owner_settings = true; |
| +} |
| + |
| +ScopedTestOwnerSettings::~ScopedTestOwnerSettings() { |
| + g_test_owner_settings = false; |
| +} |
| + |
| } // namespace chromeos |