summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/settings
diff options
context:
space:
mode:
authorpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-08 11:13:02 +0000
committerpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-08 11:13:02 +0000
commit53726ead25cb3e70d790ef69a575226038fc81f1 (patch)
tree59dd7c97eaa9995ff0b162c771cb4c775687ddc9 /chrome/browser/chromeos/settings
parent905d83cf9cf5d4b7a0bf8b82b93e58643fd960c2 (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/chromeos/settings/cros_settings_names.cc5
-rw-r--r--chrome/browser/chromeos/settings/cros_settings_names.h1
-rw-r--r--chrome/browser/chromeos/settings/device_settings_provider.cc10
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() {