| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 <include src="../../../../ui/webui/resources/js/cr/ui/focus_row.js"> | 5 <include src="../../../../ui/webui/resources/js/cr/ui/focus_row.js"> | 
| 6 <include src="../../../../ui/webui/resources/js/cr/ui/focus_grid.js"> | 6 <include src="../../../../ui/webui/resources/js/cr/ui/focus_grid.js"> | 
| 7 <include src="../uber/uber_utils.js"> | 7 <include src="../uber/uber_utils.js"> | 
| 8 <include src="drag_and_drop_handler.js"> | 8 <include src="drag_and_drop_handler.js"> | 
| 9 <include src="extension_code.js"> | 9 <include src="extension_code.js"> | 
| 10 <include src="extension_commands_overlay.js"> | 10 <include src="extension_commands_overlay.js"> | 
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 189     update_: function(profileInfo) { | 189     update_: function(profileInfo) { | 
| 190       // We only set the page to be loading if we haven't already finished an | 190       // We only set the page to be loading if we haven't already finished an | 
| 191       // initial load, because otherwise the updates are all incremental and | 191       // initial load, because otherwise the updates are all incremental and | 
| 192       // don't need to display the interstitial spinner. | 192       // don't need to display the interstitial spinner. | 
| 193       if (!this.hasLoaded_) | 193       if (!this.hasLoaded_) | 
| 194         this.setLoading_(true); | 194         this.setLoading_(true); | 
| 195       webuiResponded = true; | 195       webuiResponded = true; | 
| 196 | 196 | 
| 197       /** @const */ | 197       /** @const */ | 
| 198       var supervised = profileInfo.isSupervised; | 198       var supervised = profileInfo.isSupervised; | 
|  | 199       var developerModeControlledByPolicy = | 
|  | 200           profileInfo.isDeveloperModeControlledByPolicy; | 
| 199 | 201 | 
| 200       var pageDiv = $('extension-settings'); | 202       var pageDiv = $('extension-settings'); | 
| 201       pageDiv.classList.toggle('profile-is-supervised', supervised); | 203       pageDiv.classList.toggle('profile-is-supervised', supervised); | 
| 202       pageDiv.classList.toggle('showing-banner', supervised); | 204       pageDiv.classList.toggle('showing-banner', supervised); | 
| 203 | 205 | 
| 204       var devControlsCheckbox = $('toggle-dev-on'); | 206       var devControlsCheckbox = $('toggle-dev-on'); | 
| 205       devControlsCheckbox.checked = profileInfo.inDeveloperMode; | 207       devControlsCheckbox.checked = profileInfo.inDeveloperMode; | 
| 206       devControlsCheckbox.disabled = supervised; | 208       devControlsCheckbox.disabled = | 
|  | 209           supervised || developerModeControlledByPolicy; | 
|  | 210 | 
|  | 211       // This is necessary e.g. if developer mode is now disabled by policy | 
|  | 212       // but extension developer tools were visible. | 
|  | 213       this.updateDevControlsVisibility_(false); | 
|  | 214       this.updateDevToggleControlledIndicator_(developerModeControlledByPolicy); | 
| 207 | 215 | 
| 208       $('load-unpacked').disabled = !profileInfo.canLoadUnpacked; | 216       $('load-unpacked').disabled = !profileInfo.canLoadUnpacked; | 
| 209       var extensionList = $('extension-settings-list'); | 217       var extensionList = $('extension-settings-list'); | 
| 210       extensionList.updateExtensionsData( | 218       extensionList.updateExtensionsData( | 
| 211           profileInfo.isIncognitoAvailable, | 219           profileInfo.isIncognitoAvailable, | 
| 212           profileInfo.appInfoDialogEnabled).then(function() { | 220           profileInfo.appInfoDialogEnabled).then(function() { | 
| 213         if (!this.hasLoaded_) { | 221         if (!this.hasLoaded_) { | 
| 214           this.hasLoaded_ = true; | 222           this.hasLoaded_ = true; | 
| 215           this.setLoading_(false); | 223           this.setLoading_(false); | 
| 216         } | 224         } | 
| 217         this.onExtensionCountChanged(); | 225         this.onExtensionCountChanged(); | 
| 218       }.bind(this)); | 226       }.bind(this)); | 
| 219     }, | 227     }, | 
| 220 | 228 | 
| 221     /** | 229     /** | 
|  | 230      * Shows or hides the 'controlled by policy' indicator on the dev-toggle | 
|  | 231      * checkbox. | 
|  | 232      * @param {boolean} devModeControlledByPolicy true if the indicator | 
|  | 233      *     should be showing. | 
|  | 234      * @private | 
|  | 235      */ | 
|  | 236     updateDevToggleControlledIndicator_: function(devModeControlledByPolicy) { | 
|  | 237       var controlledIndicator = document.querySelector( | 
|  | 238           '#dev-toggle .controlled-setting-indicator'); | 
|  | 239 | 
|  | 240       if (!(controlledIndicator instanceof cr.ui.ControlledIndicator)) | 
|  | 241         cr.ui.ControlledIndicator.decorate(controlledIndicator); | 
|  | 242 | 
|  | 243       // We control the visibility of the ControlledIndicator by setting or | 
|  | 244       // removing the 'controlled-by' attribute (see controlled_indicator.css). | 
|  | 245       var isVisible = controlledIndicator.getAttribute('controlled-by'); | 
|  | 246       if (devModeControlledByPolicy && !isVisible) { | 
|  | 247         var controlledBy = 'policy'; | 
|  | 248         controlledIndicator.setAttribute( | 
|  | 249            'controlled-by', controlledBy); | 
|  | 250         controlledIndicator.setAttribute( | 
|  | 251             'text' + controlledBy, | 
|  | 252             loadTimeData.getString('extensionControlledSettingPolicy')); | 
|  | 253       } else if (!devModeControlledByPolicy && isVisible) { | 
|  | 254         // This hides the element - see above. | 
|  | 255         controlledIndicator.removeAttribute('controlled-by'); | 
|  | 256       } | 
|  | 257     }, | 
|  | 258 | 
|  | 259     /** | 
| 222      * Shows the loading spinner and hides elements that shouldn't be visible | 260      * Shows the loading spinner and hides elements that shouldn't be visible | 
| 223      * while loading. | 261      * while loading. | 
| 224      * @param {boolean} isLoading | 262      * @param {boolean} isLoading | 
| 225      * @private | 263      * @private | 
| 226      */ | 264      */ | 
| 227     setLoading_: function(isLoading) { | 265     setLoading_: function(isLoading) { | 
| 228       document.documentElement.classList.toggle('loading', isLoading); | 266       document.documentElement.classList.toggle('loading', isLoading); | 
| 229       $('loading-spinner').hidden = !isLoading; | 267       $('loading-spinner').hidden = !isLoading; | 
| 230       $('dev-controls').hidden = isLoading; | 268       $('dev-controls').hidden = isLoading; | 
| 231       this.updateDevControlsVisibility_(false); | 269       this.updateDevControlsVisibility_(false); | 
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 425 | 463 | 
| 426   // Export | 464   // Export | 
| 427   return { | 465   return { | 
| 428     ExtensionSettings: ExtensionSettings | 466     ExtensionSettings: ExtensionSettings | 
| 429   }; | 467   }; | 
| 430 }); | 468 }); | 
| 431 | 469 | 
| 432 window.addEventListener('load', function(e) { | 470 window.addEventListener('load', function(e) { | 
| 433   extensions.ExtensionSettings.getInstance().initialize(); | 471   extensions.ExtensionSettings.getInstance().initialize(); | 
| 434 }); | 472 }); | 
| OLD | NEW | 
|---|