Chromium Code Reviews| Index: chrome/browser/resources/options2/browser_options.js |
| diff --git a/chrome/browser/resources/options2/browser_options.js b/chrome/browser/resources/options2/browser_options.js |
| index 010db60b5fb2d8c2d29b2db8181c354adf9820c9..587bde3a1fc8e2490d650942f555142d8b954326 100644 |
| --- a/chrome/browser/resources/options2/browser_options.js |
| +++ b/chrome/browser/resources/options2/browser_options.js |
| @@ -236,6 +236,46 @@ cr.define('options', function() { |
| }, |
| /** |
| + * Updates managed banner visibility state. This function iterates over |
| + * all input fields of all subpages and if any of these is marked as managed |
| + * it triggers the managed banner to be visible. |
|
James Hawkins
2012/02/09 04:41:45
@private
|
| + */ |
| + updateManagedBannerVisibility_: function() { |
| + var bannerDiv = $('managed-prefs-banner'); |
| + |
| + var controlledByPolicy = false; |
| + var controlledByExtension = false; |
| + var inputElements = document.querySelectorAll('input[controlled-by]'); |
| + var mainPages = document.querySelectorAll('#page-container .page'); |
| + for (var i = 0, len = inputElements.length; i < len; i++) { |
| + if (inputElements[i].controlledBy == 'policy') |
| + controlledByPolicy = true; |
| + else if (inputElements[i].controlledBy == 'extension') |
| + controlledByExtension = true; |
| + } |
| + if (!controlledByPolicy && !controlledByExtension) { |
| + bannerDiv.classList.add('hidden'); |
| + for (var i = 0; i < mainPages.length; i++) |
| + mainPages[i].classList.remove('under-managed-prefs-banner'); |
| + } else { |
| + bannerDiv.classList.remove('hidden'); |
| + for (var i = 0; i < mainPages.length; i++) |
| + mainPages[i].classList.add('under-managed-prefs-banner'); |
| + |
| + if (controlledByPolicy && !controlledByExtension) { |
| + $('managed-prefs-text').textContent = |
| + templateData.policyManagedPrefsBannerText; |
| + } else if (!controlledByPolicy && controlledByExtension) { |
| + $('managed-prefs-text').textContent = |
| + templateData.extensionManagedPrefsBannerText; |
| + } else if (controlledByPolicy && controlledByExtension) { |
| + $('managed-prefs-text').textContent = |
| + templateData.policyAndExtensionManagedPrefsBannerText; |
| + } |
| + } |
| + }, |
| + |
| + /** |
| * Initializes a button for controlling screen brightness. |
| * @param {string} id Button ID. |
| * @param {string} callback Name of the callback function. |
| @@ -622,6 +662,7 @@ cr.define('options', function() { |
| 'updateAccountPicture', |
| 'updateAutocompleteSuggestions', |
| 'updateHomePageLabel', |
| + 'updateManagedBannerVisibility', |
| 'updateSearchEngines', |
| 'updateStartupPages', |
| ].forEach(function(name) { |