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 1bc711f8e33eaccc7c1fde4d77f5493a1b866c1f..a373375126df5593bbcf12fe1710ae90041e1d79 100644 |
--- a/chrome/browser/resources/options/browser_options.js |
+++ b/chrome/browser/resources/options/browser_options.js |
@@ -1492,8 +1492,7 @@ cr.define('options', function() { |
* @param {boolean} managed |
*/ |
setWallpaperManaged_: function(managed) { |
- var button = $('set-wallpaper'); |
- button.disabled = !!managed; |
+ this.setElementEnabled_($('set-wallpaper'), !managed); |
// Create a synthetic pref change event decorated as |
// CoreOptionsHandler::CreateValueForPref() does. |
@@ -1939,6 +1938,19 @@ cr.define('options', function() { |
handleSetTime_: function() { |
chrome.send('showSetTime'); |
}, |
+ |
+ /** |
+ * Enables or disables the given element. On Chrome OS, this uses |
+ * UIAccountTweaks so we don't enable an element that must stay disabled. |
+ * @param {!Element} element Element to enable or disable. |
+ * @param {boolean} enabled Whether to enable or disable the element. |
+ */ |
+ setElementEnabled_: function(element, enabled) { |
+ if (!cr.isChromeOS || !enabled) |
stevenjb
2014/09/25 15:45:33
Putting !cr.isChromeOS in a method called simply '
michaelpg
2014/09/29 18:50:56
We really should use this every time we enable/dis
|
+ element.disabled = !enabled; |
+ else |
+ UIAccountTweaks.enableElementIfPossible(element); |
+ }, |
}; |
//Forward public APIs to private implementations. |