| 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 3148b622c985fac0d6b3ca8bfcd1825ae8be10d6..d4036395e9359dde92928e342019fc06eeed1483 100644
|
| --- a/chrome/browser/resources/options2/browser_options.js
|
| +++ b/chrome/browser/resources/options2/browser_options.js
|
| @@ -233,6 +233,47 @@ 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.
|
| + * @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.hidden = true;
|
| + for (var i = 0; i < mainPages.length; i++)
|
| + mainPages[i].classList.remove('under-managed-prefs-banner');
|
| + } else {
|
| + bannerDiv.hidden = false;
|
| + 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.
|
| @@ -596,6 +637,7 @@ cr.define('options', function() {
|
| 'updateAccountPicture',
|
| 'updateAutocompleteSuggestions',
|
| 'updateHomePageLabel',
|
| + 'updateManagedBannerVisibility',
|
| 'updateSearchEngines',
|
| 'updateSyncState',
|
| 'updateStartupPages',
|
|
|