Chromium Code Reviews| Index: chrome/browser/resources/options/browser_options.js |
| diff --git a/chrome/browser/resources/options/browser_options.js b/chrome/browser/resources/options/browser_options.js |
| index 2b63e80fc2d4970bc5dc83e69e9613109dd99ae9..15985e7b996e60ee2ecf981b1833785094aa8efc 100644 |
| --- a/chrome/browser/resources/options/browser_options.js |
| +++ b/chrome/browser/resources/options/browser_options.js |
| @@ -118,6 +118,18 @@ cr.define('options', function() { |
| systemTimezoneIsManaged_: false, |
| /** |
| + * True if system timezone detection is managed by policy. |
| + * @private {boolean} |
| + */ |
| + systemTimezoneAutomaticDetectionIsManaged_: false, |
| + |
| + /** |
| + * This is the value of SystemTimezoneAutomaticDetection policy. |
| + * @private {boolean} |
|
Dan Beam
2016/04/02 01:39:14
0 isn't a {boolean}
Alexander Alekseev
2016/04/05 08:03:38
Done.
|
| + */ |
| + systemTimezoneAutomaticDetectionValue_: 0, |
| + |
| + /** |
| * Cached bluetooth adapter state. |
| * @private {?chrome.bluetooth.AdapterState} |
| */ |
| @@ -1681,17 +1693,36 @@ cr.define('options', function() { |
| * @private |
| */ |
| updateTimezoneSectionState_: function() { |
| + var self = this; |
| + $('resolve-timezone-by-geolocation') |
| + .onclick = function(event) { |
| + self.resolveTimezoneByGeolocation_ = event.currentTarget.checked; |
| + }; |
| if (this.systemTimezoneIsManaged_) { |
| - $('resolve-timezone-by-geolocation-selection').disabled = true; |
| - $('resolve-timezone-by-geolocation').onclick = function(event) {}; |
| + $('resolve-timezone-by-geolocation').disabled = true; |
| + $('resolve-timezone-by-geolocation').checked = false; |
| + } else if (this.systemTimezoneAutomaticDetectionIsManaged_) { |
| + if (this.systemTimezoneAutomaticDetectionValue_ == |
| + 0 /* USERS_DECIDE */) { |
|
Dan Beam
2016/04/02 01:39:14
can you just put an @enum {number} into this scrip
Alexander Alekseev
2016/04/05 08:03:38
Done.
|
| + $('resolve-timezone-by-geolocation').disabled = false; |
| + $('resolve-timezone-by-geolocation') |
| + .checked = this.resolveTimezoneByGeolocation_; |
| + $('timezone-value-select') |
| + .disabled = this.resolveTimezoneByGeolocation_; |
| + } else { |
| + $('resolve-timezone-by-geolocation').disabled = true; |
| + $('resolve-timezone-by-geolocation') |
| + .checked = |
| + (this.systemTimezoneAutomaticDetectionValue_ != 1 /* DISABLED */); |
| + $('timezone-value-select').disabled = true; |
| + } |
| } else { |
| this.enableElementIfPossible_( |
| - getRequiredElement('resolve-timezone-by-geolocation-selection')); |
| - $('resolve-timezone-by-geolocation').onclick = function(event) { |
| - $('timezone-value-select').disabled = event.currentTarget.checked; |
| - }; |
| + getRequiredElement('resolve-timezone-by-geolocation')); |
| $('timezone-value-select').disabled = |
| this.resolveTimezoneByGeolocation_; |
| + $('resolve-timezone-by-geolocation') |
| + .checked = this.resolveTimezoneByGeolocation_; |
| } |
| }, |
| @@ -1707,6 +1738,18 @@ cr.define('options', function() { |
| }, |
| /** |
| + * This is called from chromium code when system timezone detection |
| + * "managed" state is changed. Enables or disables dependent settings. |
| + * @param {boolean} managed Is true when system timezone autodetection is |
| + * managed by enterprise policy. False otherwize. |
|
Dan Beam
2016/04/02 01:39:14
missing @param for value
Alexander Alekseev
2016/04/05 08:03:38
Done.
|
| + */ |
| + setSystemTimezoneAutomaticDetectionManaged_: function(managed, value) { |
| + this.systemTimezoneAutomaticDetectionIsManaged_ = managed; |
| + this.systemTimezoneAutomaticDetectionValue_ = value; |
| + this.updateTimezoneSectionState_(); |
| + }, |
| + |
| + /** |
| * This is Preferences event listener, which is called when |
| * kResolveTimezoneByGeolocation preference is changed. |
| * Enables or disables dependent settings. |
| @@ -2255,6 +2298,7 @@ cr.define('options', function() { |
| 'setProfilesInfo', |
| 'setSpokenFeedbackCheckboxState', |
| 'setSystemTimezoneManaged', |
| + 'setSystemTimezoneAutomaticDetectionManaged', |
| 'setThemesResetButtonEnabled', |
| 'setVirtualKeyboardCheckboxState', |
| 'setupPageZoomSelector', |