Chromium Code Reviews| 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..82997a7be7d339e1a3c8bcb37c7c02171a43c58c 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; |
| + inetServerHostname.value = data.serverHostname.recommendedValue; |
| + OptionsPage.hideBubble(); |
| }; |
| } else { |
| OptionsPage.showTab($('internet-nav-tab')); |
| @@ -991,21 +992,23 @@ 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]) { |
|
James Hawkins
2012/10/04 16:16:51
Optional nit: Save a lot of indentation by continu
bartfab (slow)
2012/10/04 18:55:39
Done.
|
| + 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; |
| } |
| } |
| } |