| 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="../uber/uber_utils.js"> | 5 <include src="../uber/uber_utils.js"> |
| 6 <include src="extension_code.js"> | 6 <include src="extension_code.js"> |
| 7 <include src="extension_commands_overlay.js"> | 7 <include src="extension_commands_overlay.js"> |
| 8 <include src="extension_error_overlay.js"> |
| 8 <include src="extension_focus_manager.js"> | 9 <include src="extension_focus_manager.js"> |
| 9 <include src="extension_list.js"> | 10 <include src="extension_list.js"> |
| 10 <include src="pack_extension_overlay.js"> | 11 <include src="pack_extension_overlay.js"> |
| 11 <include src="extension_error_overlay.js"> | |
| 12 <include src="extension_loader.js"> | 12 <include src="extension_loader.js"> |
| 13 <include src="extension_options_overlay.js"> | 13 <include src="extension_options_overlay.js"> |
| 14 | 14 |
| 15 <if expr="chromeos"> | 15 <if expr="chromeos"> |
| 16 <include src="chromeos/kiosk_apps.js"> | 16 <include src="chromeos/kiosk_apps.js"> |
| 17 </if> | 17 </if> |
| 18 | 18 |
| 19 /** |
| 20 * The type of the extension data object. The definition is based on |
| 21 * chrome/browser/ui/webui/extensions/extension_settings_handler.cc: |
| 22 * ExtensionSettingsHandler::HandleRequestExtensionsData() |
| 23 * @typedef {{developerMode: boolean, |
| 24 * extensions: Array, |
| 25 * incognitoAvailable: boolean, |
| 26 * loadUnpackedDisabled: boolean, |
| 27 * profileIsSupervised: boolean, |
| 28 * promoteAppsDevTools: boolean}} |
| 29 */ |
| 30 var ExtensionDataResponse; |
| 31 |
| 19 // Used for observing function of the backend datasource for this page by | 32 // Used for observing function of the backend datasource for this page by |
| 20 // tests. | 33 // tests. |
| 21 var webuiResponded = false; | 34 var webuiResponded = false; |
| 22 | 35 |
| 23 cr.define('extensions', function() { | 36 cr.define('extensions', function() { |
| 24 var ExtensionsList = options.ExtensionsList; | 37 var ExtensionsList = options.ExtensionsList; |
| 25 | 38 |
| 26 // Implements the DragWrapper handler interface. | 39 // Implements the DragWrapper handler interface. |
| 27 var dragWrapperHandler = { | 40 var dragWrapperHandler = { |
| 28 /** @override */ | 41 /** @override */ |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 */ | 265 */ |
| 253 handleToggleDevMode_: function(e) { | 266 handleToggleDevMode_: function(e) { |
| 254 if ($('toggle-dev-on').checked) { | 267 if ($('toggle-dev-on').checked) { |
| 255 $('dev-controls').hidden = false; | 268 $('dev-controls').hidden = false; |
| 256 window.setTimeout(function() { | 269 window.setTimeout(function() { |
| 257 $('extension-settings').classList.add('dev-mode'); | 270 $('extension-settings').classList.add('dev-mode'); |
| 258 }, 0); | 271 }, 0); |
| 259 } else { | 272 } else { |
| 260 $('extension-settings').classList.remove('dev-mode'); | 273 $('extension-settings').classList.remove('dev-mode'); |
| 261 } | 274 } |
| 262 window.setTimeout(this.updatePromoVisibility_.bind(this)); | 275 window.setTimeout(this.updatePromoVisibility_.bind(this), 0); |
| 263 | 276 |
| 264 chrome.send('extensionSettingsToggleDeveloperMode'); | 277 chrome.send('extensionSettingsToggleDeveloperMode'); |
| 265 }, | 278 }, |
| 266 | 279 |
| 267 /** | 280 /** |
| 268 * Called when a transition has ended for #dev-controls. | 281 * Called when a transition has ended for #dev-controls. |
| 269 * @param {Event} e webkitTransitionEnd event. | 282 * @param {Event} e webkitTransitionEnd event. |
| 270 * @private | 283 * @private |
| 271 */ | 284 */ |
| 272 handleDevControlsTransitionEnd_: function(e) { | 285 handleDevControlsTransitionEnd_: function(e) { |
| 273 if (e.propertyName == 'height' && | 286 if (e.propertyName == 'height' && |
| 274 !$('extension-settings').classList.contains('dev-mode')) { | 287 !$('extension-settings').classList.contains('dev-mode')) { |
| 275 $('dev-controls').hidden = true; | 288 $('dev-controls').hidden = true; |
| 276 } | 289 } |
| 277 }, | 290 }, |
| 278 }; | 291 }; |
| 279 | 292 |
| 280 /** | 293 /** |
| 281 * Called by the dom_ui_ to re-populate the page with data representing | 294 * Called by the dom_ui_ to re-populate the page with data representing |
| 282 * the current state of installed extensions. | 295 * the current state of installed extensions. |
| 296 * @param {ExtensionDataResponse} extensionsData |
| 283 */ | 297 */ |
| 284 ExtensionSettings.returnExtensionsData = function(extensionsData) { | 298 ExtensionSettings.returnExtensionsData = function(extensionsData) { |
| 285 // We can get called many times in short order, thus we need to | 299 // We can get called many times in short order, thus we need to |
| 286 // be careful to remove the 'finished loading' timeout. | 300 // be careful to remove the 'finished loading' timeout. |
| 287 if (this.loadingTimeout_) | 301 if (this.loadingTimeout_) |
| 288 window.clearTimeout(this.loadingTimeout_); | 302 window.clearTimeout(this.loadingTimeout_); |
| 289 document.documentElement.classList.add('loading'); | 303 document.documentElement.classList.add('loading'); |
| 290 this.loadingTimeout_ = window.setTimeout(function() { | 304 this.loadingTimeout_ = window.setTimeout(function() { |
| 291 document.documentElement.classList.remove('loading'); | 305 document.documentElement.classList.remove('loading'); |
| 292 }, 0); | 306 }, 0); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 currentlyShowingOverlay.classList.remove('showing'); | 410 currentlyShowingOverlay.classList.remove('showing'); |
| 397 | 411 |
| 398 if (node) | 412 if (node) |
| 399 node.classList.add('showing'); | 413 node.classList.add('showing'); |
| 400 | 414 |
| 401 var pages = document.querySelectorAll('.page'); | 415 var pages = document.querySelectorAll('.page'); |
| 402 for (var i = 0; i < pages.length; i++) { | 416 for (var i = 0; i < pages.length; i++) { |
| 403 pages[i].setAttribute('aria-hidden', node ? 'true' : 'false'); | 417 pages[i].setAttribute('aria-hidden', node ? 'true' : 'false'); |
| 404 } | 418 } |
| 405 | 419 |
| 406 overlay.hidden = !node; | 420 $('overlay').hidden = !node; |
| 407 uber.invokeMethodOnParent(node ? 'beginInterceptingEvents' : | 421 uber.invokeMethodOnParent(node ? 'beginInterceptingEvents' : |
| 408 'stopInterceptingEvents'); | 422 'stopInterceptingEvents'); |
| 409 }; | 423 }; |
| 410 | 424 |
| 411 /** | 425 /** |
| 412 * Utility function to find the width of various UI strings and synchronize | 426 * Utility function to find the width of various UI strings and synchronize |
| 413 * the width of relevant spans. This is crucial for making sure the | 427 * the width of relevant spans. This is crucial for making sure the |
| 414 * Enable/Enabled checkboxes align, as well as the Developer Mode checkbox. | 428 * Enable/Enabled checkboxes align, as well as the Developer Mode checkbox. |
| 415 */ | 429 */ |
| 416 function measureCheckboxStrings() { | 430 function measureCheckboxStrings() { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 440 | 454 |
| 441 // Export | 455 // Export |
| 442 return { | 456 return { |
| 443 ExtensionSettings: ExtensionSettings | 457 ExtensionSettings: ExtensionSettings |
| 444 }; | 458 }; |
| 445 }); | 459 }); |
| 446 | 460 |
| 447 window.addEventListener('load', function(e) { | 461 window.addEventListener('load', function(e) { |
| 448 extensions.ExtensionSettings.getInstance().initialize(); | 462 extensions.ExtensionSettings.getInstance().initialize(); |
| 449 }); | 463 }); |
| OLD | NEW |