| Index: chrome/browser/chromeos/settings/system_settings_provider.cc
|
| diff --git a/chrome/browser/chromeos/settings/system_settings_provider.cc b/chrome/browser/chromeos/settings/system_settings_provider.cc
|
| index e636b91a50f57d49c30ddba7e394dd28162047d2..02b9d119771810335613da447b7d7700ecd616ad 100644
|
| --- a/chrome/browser/chromeos/settings/system_settings_provider.cc
|
| +++ b/chrome/browser/chromeos/settings/system_settings_provider.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/strings/string16.h"
|
| #include "base/time/time.h"
|
| #include "base/values.h"
|
| +#include "chrome/browser/chromeos/system/timezone_util.h"
|
| #include "chromeos/login/login_state.h"
|
| #include "chromeos/settings/cros_settings_names.h"
|
|
|
| @@ -20,6 +21,8 @@ SystemSettingsProvider::SystemSettingsProvider(
|
| timezone_settings->AddObserver(this);
|
| timezone_value_.reset(
|
| new base::Value(timezone_settings->GetCurrentTimezoneID()));
|
| + per_user_timezone_enabled_value_.reset(
|
| + new base::Value(system::PerUserTimezoneEnabled()));
|
| }
|
|
|
| SystemSettingsProvider::~SystemSettingsProvider() {
|
| @@ -41,11 +44,16 @@ void SystemSettingsProvider::DoSet(const std::string& path,
|
| // This will call TimezoneChanged.
|
| system::TimezoneSettings::GetInstance()->SetTimezoneFromID(timezone_id);
|
| }
|
| + // kPerUserTimezoneEnabled is read-only.
|
| }
|
|
|
| const base::Value* SystemSettingsProvider::Get(const std::string& path) const {
|
| if (path == kSystemTimezone)
|
| return timezone_value_.get();
|
| +
|
| + if (path == kPerUserTimezoneEnabled)
|
| + return per_user_timezone_enabled_value_.get();
|
| +
|
| return NULL;
|
| }
|
|
|
| @@ -56,7 +64,7 @@ CrosSettingsProvider::TrustedStatus
|
| }
|
|
|
| bool SystemSettingsProvider::HandlesSetting(const std::string& path) const {
|
| - return path == kSystemTimezone;
|
| + return path == kSystemTimezone || path == kPerUserTimezoneEnabled;
|
| }
|
|
|
| void SystemSettingsProvider::TimezoneChanged(const icu::TimeZone& timezone) {
|
|
|