Index: chrome/browser/resources/options/home_page_overlay.js |
diff --git a/chrome/browser/resources/options/home_page_overlay.js b/chrome/browser/resources/options/home_page_overlay.js |
index 01a76c54b54a5c1a98ef92d73df51ceca31b053c..3955b536bb4ee1091b81f353077b1b1a7d05bcc4 100644 |
--- a/chrome/browser/resources/options/home_page_overlay.js |
+++ b/chrome/browser/resources/options/home_page_overlay.js |
@@ -38,8 +38,9 @@ cr.define('options', function() { |
SettingsDialog.prototype.initializePage.call(this); |
var self = this; |
- $('homepage-use-ntp').onchange = this.updateHomePageInput_.bind(this); |
- $('homepage-use-url').onchange = this.updateHomePageInput_.bind(this); |
+ options.Preferences.getInstance().addEventListener( |
+ 'homepage_is_newtabpage', |
+ this.handleHomepageIsNTPPrefChange.bind(this)); |
var urlField = $('homepage-url-field'); |
urlField.addEventListener('keydown', function(event) { |
@@ -73,19 +74,22 @@ cr.define('options', function() { |
/** @inheritDoc */ |
didShowPage: function() { |
- this.updateHomePageInput_(); |
this.updateFavicon_(); |
}, |
/** |
- * Updates the state of the homepage text input. The input is enabled only |
- * if the |homepage-use-url| radio button is checked. |
- * @private |
+ * Updates the state of the homepage text input and its controlled setting |
+ * indicator when the |homepage_is_newtabpage| pref changes. The input is |
+ * enabled only if the homepage is not the NTP. The indicator is always |
+ * enabled but treats the input's value as read-only if the homepage is the |
+ * NTP. |
+ * @param {Event} Pref change event. |
*/ |
- updateHomePageInput_: function() { |
+ handleHomepageIsNTPPrefChange: function(event) { |
var urlField = $('homepage-url-field'); |
- var homePageUseURL = $('homepage-use-url'); |
- urlField.setDisabled('radio-choice', !homePageUseURL.checked); |
+ var urlFieldIndicator = $('homepage-url-field-indicator'); |
+ urlField.setDisabled('homepage-is-ntp', event.value.value); |
+ urlFieldIndicator.readOnly = event.value.value; |
}, |
/** |