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 5ee926d1a48f50bc89b7540dcac159484c5c2853..3832b80e0c6de933c66e227a4b2762e017ecdc0f 100644 |
--- a/chrome/browser/resources/options/browser_options.js |
+++ b/chrome/browser/resources/options/browser_options.js |
@@ -109,6 +109,16 @@ cr.define('options', function() { |
*/ |
initializationComplete_: false, |
+ /** |
+ * Current status of "Resolve Timezone by Geolocation" checkbox. |
michaelpg
2015/07/20 21:40:51
Annotate: @private {boolean}
Alexander Alekseev
2015/07/21 05:34:29
Done.
|
+ */ |
+ resolveTimezoneByGeolocation_: false, |
+ |
+ /** |
+ * True if system timezone is managed by policy. |
michaelpg
2015/07/20 21:40:51
Annotate.
Alexander Alekseev
2015/07/21 05:34:29
Done.
|
+ */ |
+ systemTimezoneIsManaged_: false, |
+ |
/** @override */ |
initializePage: function() { |
Page.prototype.initializePage.call(this); |
@@ -407,9 +417,6 @@ cr.define('options', function() { |
// Timezone |
if (loadTimeData.getBoolean('enableTimeZoneTrackingOption')) { |
$('resolve-timezone-by-geolocation-selection').hidden = false; |
- this.setSystemTimezoneManaged_(false); |
- $('timezone-value-select').disabled = loadTimeData.getBoolean( |
- 'resolveTimezoneByGeolocationInitialValue'); |
} |
} |
@@ -1652,14 +1659,12 @@ cr.define('options', function() { |
}, |
/** |
- * This is called from chromium code when system timezone "managed" state |
- * is changed. Enables or disables dependent settings. |
- * @param {boolean} managed Is true when system Timezone is managed by |
- * enterprise policy. False otherwize. |
+ * This enables or disables dependent settings in timezone section. |
+ * @private |
*/ |
- setSystemTimezoneManaged_: function(managed) { |
+ updateTimezoneSectionVisibility_: function() { |
michaelpg
2015/07/20 21:40:51
rename: this changes enabled state, not visibility
Alexander Alekseev
2015/07/21 05:34:29
Done.
|
if (loadTimeData.getBoolean('enableTimeZoneTrackingOption')) { |
- if (managed) { |
+ if (this.systemTimezoneIsManaged_) { |
michaelpg
2015/07/20 21:40:51
If this is only used here, can you make it a param
Alexander Alekseev
2015/07/21 05:34:29
Done.
michaelpg
2015/07/21 23:47:36
Sorry, I think my logic was wrong! There are 2 var
|
$('resolve-timezone-by-geolocation-selection').disabled = true; |
$('resolve-timezone-by-geolocation').onclick = function(event) {}; |
} else { |
@@ -1669,12 +1674,34 @@ cr.define('options', function() { |
$('timezone-value-select').disabled = event.currentTarget.checked; |
}; |
$('timezone-value-select').disabled = |
- $('resolve-timezone-by-geolocation').checked; |
+ this.resolveTimezoneByGeolocation_; |
michaelpg
2015/07/20 21:40:51
Same request.
Alexander Alekseev
2015/07/21 05:34:29
Done.
|
} |
} |
}, |
/** |
+ * This is called from chromium code when system timezone "managed" state |
+ * is changed. Enables or disables dependent settings. |
+ * @param {boolean} managed Is true when system Timezone is managed by |
+ * enterprise policy. False otherwize. |
+ */ |
+ setSystemTimezoneManaged_: function(managed) { |
+ this.systemTimezoneIsManaged_ = managed; |
+ this.updateTimezoneSectionVisibility_(); |
+ }, |
+ |
+ /** |
+ * This is called from chromium code when kResolveTimezoneByGeolocation |
+ * preference is changed. Enables or disables dependent settings. |
+ * @param {boolean} value Is true or false when |
+ * kResolveTimezoneByGeolocation preference is true or false. |
michaelpg
2015/07/20 21:40:51
nit: indent 4 spaces
Alexander Alekseev
2015/07/21 05:34:29
Done.
|
+ */ |
+ onResolveTimezoneByGeolocationChanged_: function(value) { |
michaelpg
2015/07/20 21:40:51
This is a plain preference, so you can trigger thi
Alexander Alekseev
2015/07/21 05:34:29
This is what I was looking for! Thank you.
|
+ this.resolveTimezoneByGeolocation_ = value; |
+ this.updateTimezoneSectionVisibility_(); |
+ }, |
+ |
+ /** |
* Handle the 'add device' button click. |
* @private |
*/ |
@@ -2146,6 +2173,7 @@ cr.define('options', function() { |
'getStartStopSyncButton', |
'hideBluetoothSettings', |
'notifyInitializationComplete', |
+ 'onResolveTimezoneByGeolocationChanged', |
'removeBluetoothDevice', |
'scrollToSection', |
'setAccountPictureManaged', |