Index: chrome/browser/chromeos/extensions/info_private_api.cc |
diff --git a/chrome/browser/chromeos/extensions/info_private_api.cc b/chrome/browser/chromeos/extensions/info_private_api.cc |
index 29bd74e2387dafa036aa085ba42a4ce3aa4386e8..6e50990e7077b2fd5fcd62243e362e899bcfef4a 100644 |
--- a/chrome/browser/chromeos/extensions/info_private_api.cc |
+++ b/chrome/browser/chromeos/extensions/info_private_api.cc |
@@ -326,11 +326,19 @@ std::unique_ptr<base::Value> ChromeosInfoPrivateGetFunction::GetValue( |
} |
if (property_name == kPropertyTimezone) { |
- // TODO(crbug.com/697817): Convert CrosSettings::Get to take a unique_ptr. |
- return base::WrapUnique<base::Value>( |
- chromeos::CrosSettings::Get() |
- ->GetPref(chromeos::kSystemTimezone) |
- ->DeepCopy()); |
+ if (chromeos::system::PerUserTimezoneEnabled()) { |
+ return base::WrapUnique<base::Value>( |
+ Profile::FromBrowserContext(context_) |
+ ->GetPrefs() |
+ ->GetUserPrefValue(prefs::kUserTimezone) |
+ ->DeepCopy()); |
+ } else { |
stevenjb
2017/07/10 19:10:52
No else
Alexander Alekseev
2017/07/14 03:32:46
Done.
|
+ // TODO(crbug.com/697817): Convert CrosSettings::Get to take a unique_ptr. |
+ return base::WrapUnique<base::Value>( |
+ chromeos::CrosSettings::Get() |
+ ->GetPref(chromeos::kSystemTimezone) |
+ ->DeepCopy()); |
+ } |
} |
if (property_name == kPropertySupportedTimezones) { |
@@ -363,8 +371,13 @@ ExtensionFunction::ResponseAction ChromeosInfoPrivateSetFunction::Run() { |
if (param_name == kPropertyTimezone) { |
std::string param_value; |
EXTENSION_FUNCTION_VALIDATE(args_->GetString(1, ¶m_value)); |
- chromeos::CrosSettings::Get()->Set(chromeos::kSystemTimezone, |
- base::Value(param_value)); |
+ if (chromeos::system::PerUserTimezoneEnabled()) { |
+ Profile::FromBrowserContext(context_)->GetPrefs()->SetString( |
+ prefs::kUserTimezone, param_value); |
+ } else { |
+ chromeos::CrosSettings::Get()->Set(chromeos::kSystemTimezone, |
+ base::Value(param_value)); |
+ } |
} else { |
const char* pref_name = GetBoolPrefNameForApiProperty(param_name.c_str()); |
if (pref_name) { |