| Index: chrome/browser/resources/chromeos/login/oobe_welcome.js | 
| diff --git a/chrome/browser/resources/chromeos/login/oobe_welcome.js b/chrome/browser/resources/chromeos/login/oobe_welcome.js | 
| index db32a89e4c7f1f5adcc999f26544c8c0ab21f59b..6fb51628056a970923924c724a9cebd46016125d 100644 | 
| --- a/chrome/browser/resources/chromeos/login/oobe_welcome.js | 
| +++ b/chrome/browser/resources/chromeos/login/oobe_welcome.js | 
| @@ -59,6 +59,14 @@ Polymer({ | 
| }, | 
|  | 
| /** | 
| +     * Flag that shows Timezone Selection screen. | 
| +     */ | 
| +    timezoneScreenShown: { | 
| +      type: Boolean, | 
| +      value: false, | 
| +    }, | 
| + | 
| +    /** | 
| * Flag that shows Network Selection screen. | 
| */ | 
| networkSelectionScreenShown: { | 
| @@ -81,6 +89,23 @@ Polymer({ | 
| a11yStatus: { | 
| type: Object, | 
| }, | 
| + | 
| +    /** | 
| +     * A list of timezones for Timezone Selection screen. | 
| +     * @type {!Array<OobeTypes.TimezoneDsc>} | 
| +     */ | 
| +    timezones: { | 
| +      type: Object, | 
| +      value: [], | 
| +    }, | 
| + | 
| +    /** | 
| +     * If UI uses forced keyboard navigation. | 
| +     */ | 
| +    highlightStrength: { | 
| +      type: String, | 
| +      value: '', | 
| +    }, | 
| }, | 
|  | 
| /** | 
| @@ -91,6 +116,7 @@ Polymer({ | 
| this.networkSelectionScreenShown = false; | 
| this.languageSelectionScreenShown = false; | 
| this.accessibilityOptionsScreenShown = false; | 
| +    this.timezoneScreenShown = false; | 
| }, | 
|  | 
| /** | 
| @@ -146,6 +172,14 @@ Polymer({ | 
| }, | 
|  | 
| /** | 
| +   * Returns true if timezone button should be visible. | 
| +   * @private | 
| +   */ | 
| +  isTimezoneButtonVisible_: function(highlightStrength) { | 
| +    return highlightStrength === 'strong'; | 
| +  }, | 
| + | 
| +  /** | 
| * Handle "Next" button for "Welcome" screen. | 
| * | 
| * @private | 
| @@ -176,6 +210,16 @@ Polymer({ | 
| }, | 
|  | 
| /** | 
| +   * Handle "Timezone" button for "Welcome" screen. | 
| +   * | 
| +   * @private | 
| +   */ | 
| +  onWelcomeTimezoneButtonClicked_: function() { | 
| +    this.hideAllScreens_(); | 
| +    this.timezoneScreenShown = true; | 
| +  }, | 
| + | 
| +  /** | 
| * Handle Networwork Setup screen "Proxy settings" button. | 
| * | 
| * @private | 
| @@ -345,4 +389,30 @@ Polymer({ | 
| chrome.send( | 
| event.currentTarget.chromeMessage, [event.currentTarget.checked]); | 
| }, | 
| + | 
| +  /** ******************** Timezone section ******************* */ | 
| + | 
| +  /** | 
| +   * Handle "OK" button for "Timezone Selection" screen. | 
| +   * | 
| +   * @private | 
| +   */ | 
| +  closeTimezoneSection_: function() { | 
| +    this.hideAllScreens_(); | 
| +    this.welcomeScreenShown = true; | 
| +  }, | 
| + | 
| +  /** | 
| +   * Handle timezone selection. | 
| +   * | 
| +   * @param {!{detail: {!OobeTypes.Timezone}}} event | 
| +   * @private | 
| +   */ | 
| +  onTimezoneSelected_: function(event) { | 
| +    var item = event.detail; | 
| +    if (!item) | 
| +      return; | 
| + | 
| +    this.screen.onTimezoneSelected_(item.value); | 
| +  }, | 
| }); | 
|  |