Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3175)

Unified Diff: chrome/browser/resources/options/chromeos/internet_detail.js

Issue 11066015: Finish implementation of controlled setting indicator (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments addressed. Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}
}

Powered by Google App Engine
This is Rietveld 408576698