| Index: chrome/browser/resources/settings/controls/settings_radio_group.js
|
| diff --git a/chrome/browser/resources/settings/controls/settings_radio_group.js b/chrome/browser/resources/settings/controls/settings_radio_group.js
|
| index a9bc71dc07eca16fade086dd9b6e4a54868dce5b..389ebcd4fa1776ceaab9946dfeeb9e961918ff14 100644
|
| --- a/chrome/browser/resources/settings/controls/settings_radio_group.js
|
| +++ b/chrome/browser/resources/settings/controls/settings_radio_group.js
|
| @@ -15,9 +15,15 @@
|
| Polymer({
|
| is: 'settings-radio-group',
|
|
|
| - behaviors: [PrefControlBehavior],
|
| + behaviors: [CrPolicyPrefBehavior, PrefControlBehavior],
|
|
|
| properties: {
|
| + disabled_: {
|
| + observer: 'disabledChanged_',
|
| + type: Boolean,
|
| + value: false,
|
| + },
|
| +
|
| /**
|
| * IronSelectableBehavior selected attribute.
|
| */
|
| @@ -34,8 +40,17 @@ Polymer({
|
|
|
| /** @private */
|
| prefChanged_: function() {
|
| - this.selected = Settings.PrefUtil.prefToString(
|
| - /** @type {!chrome.settingsPrivate.PrefObject} */(this.pref));
|
| + var pref = /** @type {!chrome.settingsPrivate.PrefObject} */(this.pref);
|
| + this.disabled_ = this.isPrefPolicyControlled(pref);
|
| + this.selected = Settings.PrefUtil.prefToString(pref);
|
| + },
|
| +
|
| + /** @private */
|
| + disabledChanged_: function() {
|
| + var radioButtons = this.queryAllEffectiveChildren('paper-radio-button');
|
| + for (var i = 0; i < radioButtons.length; ++i) {
|
| + radioButtons[i].disabled = this.disabled_;
|
| + }
|
| },
|
|
|
| /** @private */
|
|
|