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

Unified Diff: chrome/browser/resources/options/content_settings.js

Issue 11078023: Add controlled setting indicators for content settings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. 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/content_settings.js
diff --git a/chrome/browser/resources/options/content_settings.js b/chrome/browser/resources/options/content_settings.js
index a17a18b75eee95ca98c3060b3d5705a0ad8177c6..9ca9dfa5336c8fcf1ad92c3d04e1d213d063a151 100644
--- a/chrome/browser/resources/options/content_settings.js
+++ b/chrome/browser/resources/options/content_settings.js
@@ -100,15 +100,30 @@ cr.define('options', function() {
*/
ContentSettings.setContentFilterSettingsValue = function(dict) {
for (var group in dict) {
+ var managedBy = dict[group].managedBy;
+ var controlledBy = managedBy == 'policy' || managedBy == 'extension' ?
+ managedBy : null;
document.querySelector('input[type=radio][name=' + group + '][value=' +
dict[group].value + ']').checked = true;
var radios = document.querySelectorAll('input[type=radio][name=' +
group + ']');
- var managedBy = dict[group]['managedBy'];
for (var i = 0, len = radios.length; i < len; i++) {
radios[i].disabled = (managedBy != 'default');
- radios[i].controlledBy = managedBy;
+ radios[i].controlledBy = controlledBy;
}
+ var indicators = document.querySelectorAll(
+ 'span.controlled-setting-indicator[content-setting=' + group + ']');
+ if (indicators.length == 0)
+ continue;
+ // Create a synthetic pref change event decorated as
+ // CoreOptionsHandler::CreateValueForPref() does.
+ var event = new cr.Event(group);
+ event.value = {
+ value: dict[group].value,
+ controlledBy: controlledBy,
+ };
+ for (var i = 0; i < indicators.length; i++)
+ indicators[i].handlePrefChange(event);
}
OptionsPage.updateManagedBannerVisibility();
};

Powered by Google App Engine
This is Rietveld 408576698