diff options
author | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-08 11:13:02 +0000 |
---|---|---|
committer | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-08 11:13:02 +0000 |
commit | 53726ead25cb3e70d790ef69a575226038fc81f1 (patch) | |
tree | 59dd7c97eaa9995ff0b162c771cb4c775687ddc9 /chrome/browser/chromeos/settings | |
parent | 905d83cf9cf5d4b7a0bf8b82b93e58643fd960c2 (diff) | |
download | chromium_src-53726ead25cb3e70d790ef69a575226038fc81f1.zip chromium_src-53726ead25cb3e70d790ef69a575226038fc81f1.tar.gz chromium_src-53726ead25cb3e70d790ef69a575226038fc81f1.tar.bz2 |
Added a timezone policy and pyauto tests for it.
BUG=chromium-os:27206
TEST=See included tests.
Review URL: https://chromiumcodereview.appspot.com/10827050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150536 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/settings')
3 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/settings/cros_settings_names.cc b/chrome/browser/chromeos/settings/cros_settings_names.cc index 0cb3aad..38cf3c9 100644 --- a/chrome/browser/chromeos/settings/cros_settings_names.cc +++ b/chrome/browser/chromeos/settings/cros_settings_names.cc @@ -23,7 +23,12 @@ const char kSettingProxyEverywhere[] = "cros.proxy.everywhere"; // All cros.signed.* settings are stored in SignedSettings. const char kSignedDataRoamingEnabled[] = "cros.signed.data_roaming_enabled"; +// The first constant refers to the user setting editable in the UI. The second +// refers to the timezone policy. These are currently separated because the +// policy stack for device settings does not support the required behavior (see +// the description in policy_templates.json). const char kSystemTimezone[] = "cros.system.timezone"; +const char kSystemTimezonePolicy[] = "cros.system.timezone_policy"; const char kDeviceOwner[] = "cros.device.owner"; diff --git a/chrome/browser/chromeos/settings/cros_settings_names.h b/chrome/browser/chromeos/settings/cros_settings_names.h index c75c834a..349f68a 100644 --- a/chrome/browser/chromeos/settings/cros_settings_names.h +++ b/chrome/browser/chromeos/settings/cros_settings_names.h @@ -19,6 +19,7 @@ extern const char kSettingProxyEverywhere[]; extern const char kSignedDataRoamingEnabled[]; +extern const char kSystemTimezonePolicy[]; extern const char kSystemTimezone[]; extern const char kDeviceOwner[]; diff --git a/chrome/browser/chromeos/settings/device_settings_provider.cc b/chrome/browser/chromeos/settings/device_settings_provider.cc index 0c1432e..b8f0e0e 100644 --- a/chrome/browser/chromeos/settings/device_settings_provider.cc +++ b/chrome/browser/chromeos/settings/device_settings_provider.cc @@ -61,6 +61,7 @@ const char* kKnownSettings[] = { kSignedDataRoamingEnabled, kStartUpUrls, kStatsReportingPref, + kSystemTimezonePolicy, }; // Upper bound for number of retries to fetch a signed setting. @@ -298,6 +299,7 @@ void DeviceSettingsProvider::SetInPolicy() { // kScreenSaverExtensionId // kScreenSaverTimeout // kStartUpUrls + // kSystemTimezonePolicy NOTREACHED(); } @@ -526,6 +528,14 @@ void DeviceSettingsProvider::DecodeGenericPolicies( policy.has_release_channel() && policy.release_channel().has_release_channel_delegated() && policy.release_channel().release_channel_delegated()); + + if (policy.has_system_timezone()) { + if (policy.system_timezone().has_timezone()) { + new_values_cache->SetString( + kSystemTimezonePolicy, + policy.system_timezone().timezone()); + } + } } void DeviceSettingsProvider::UpdateValuesCache() { |