| Index: chrome/browser/chromeos/login/screens/network_screen.cc | 
| diff --git a/chrome/browser/chromeos/login/screens/network_screen.cc b/chrome/browser/chromeos/login/screens/network_screen.cc | 
| index 5fa9d2dca3ccbccff7e575477df82221ca1043d9..2facf72c8c06c935216aabd7ecba21bbb4ad48ea 100644 | 
| --- a/chrome/browser/chromeos/login/screens/network_screen.cc | 
| +++ b/chrome/browser/chromeos/login/screens/network_screen.cc | 
| @@ -20,6 +20,7 @@ | 
| #include "chrome/browser/chromeos/login/screens/network_view.h" | 
| #include "chrome/browser/chromeos/login/ui/input_events_blocker.h" | 
| #include "chrome/browser/chromeos/login/wizard_controller.h" | 
| +#include "chrome/browser/chromeos/system/timezone_util.h" | 
| #include "chrome/browser/profiles/profile_manager.h" | 
| #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h" | 
| #include "chrome/common/pref_names.h" | 
| @@ -132,12 +133,20 @@ std::string NetworkScreen::GetInputMethod() const { | 
| } | 
|  | 
| void NetworkScreen::SetTimezone(const std::string& timezone_id) { | 
| -  std::string current_timezone_id; | 
| -  CrosSettings::Get()->GetString(kSystemTimezone, ¤t_timezone_id); | 
| -  if (current_timezone_id == timezone_id || timezone_id.empty()) | 
| -    return; | 
| -  timezone_ = timezone_id; | 
| -  CrosSettings::Get()->SetString(kSystemTimezone, timezone_id); | 
| +  if (system::PerUserTimezoneEnabled()) { | 
| +    if (timezone_id.empty()) | 
| +      return; | 
| + | 
| +    timezone_ = timezone_id; | 
| +    chromeos::system::SetSystemAndSigninScreenTimezone(timezone_id); | 
| +  } else { | 
| +    std::string current_timezone_id; | 
| +    CrosSettings::Get()->GetString(kSystemTimezone, ¤t_timezone_id); | 
| +    if (current_timezone_id == timezone_id || timezone_id.empty()) | 
| +      return; | 
| +    timezone_ = timezone_id; | 
| +    CrosSettings::Get()->SetString(kSystemTimezone, timezone_id); | 
| +  } | 
| } | 
|  | 
| std::string NetworkScreen::GetTimezone() const { | 
|  |