| Index: chrome/browser/resources/options/chromeos/internet_detail.js
|
| diff --git a/chrome/browser/resources/options/chromeos/internet_detail.js b/chrome/browser/resources/options/chromeos/internet_detail.js
|
| index 30dff847d4180e424eec3f4ef643d70cf5f8e130..8d7ece84134fb7dd2068820421e3ca689f66ac99 100644
|
| --- a/chrome/browser/resources/options/chromeos/internet_detail.js
|
| +++ b/chrome/browser/resources/options/chromeos/internet_detail.js
|
| @@ -975,7 +975,8 @@ cr.define('options.internet', function() {
|
| var inetServerHostname = $('inet-server-hostname');
|
| inetServerHostname.value = data.serverHostname.value;
|
| inetServerHostname.resetHandler = function() {
|
| - inetServerHostname.value = data.serverHostname.default;
|
| + OptionsPage.hideBubble();
|
| + inetServerHostname.value = data.serverHostname.recommendedValue;
|
| };
|
| } else {
|
| OptionsPage.showTab($('internet-nav-tab'));
|
| @@ -991,22 +992,24 @@ cr.define('options.internet', function() {
|
| indicators = cr.doc.querySelectorAll(
|
| '#details-internet-page .controlled-setting-indicator');
|
| for (var i = 0; i < indicators.length; i++) {
|
| - var dataProperty = indicators[i].getAttribute('data');
|
| - if (dataProperty && data[dataProperty]) {
|
| - var controlledBy = data[dataProperty].controlledBy;
|
| - if (controlledBy) {
|
| - indicators[i].controlledBy = controlledBy;
|
| - var forElement = $(indicators[i].getAttribute('for'));
|
| - if (forElement) {
|
| - forElement.disabled = controlledBy != 'recommended';
|
| - if (forElement.type == 'radio' && !forElement.checked)
|
| - indicators[i].hidden = true;
|
| - if (forElement.resetHandler)
|
| - indicators[i].resetHandler = forElement.resetHandler;
|
| - }
|
| - } else {
|
| - indicators[i].controlledBy = null;
|
| - }
|
| + var propName = indicators[i].getAttribute('data');
|
| + if (!propName || !data[propName])
|
| + continue;
|
| + var propData = data[propName];
|
| + // Create a synthetic pref change event decorated as
|
| + // CoreOptionsHandler::CreateValueForPref() does.
|
| + var event = new cr.Event(name);
|
| + event.value = {
|
| + value: propData.value,
|
| + controlledBy: propData.controlledBy,
|
| + recommendedValue: propData.recommendedValue,
|
| + };
|
| + indicators[i].handlePrefChange(event);
|
| + var forElement = $(indicators[i].getAttribute('for'));
|
| + if (forElement) {
|
| + forElement.disabled = propData.controlledBy == 'policy';
|
| + if (forElement.resetHandler)
|
| + indicators[i].resetHandler = forElement.resetHandler;
|
| }
|
| }
|
|
|
|
|