| 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 cr.define('options', function() { | 5 cr.define('options', function() { |
| 6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; | 6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
| 7 /** @const */ var SettingsDialog = options.SettingsDialog; | 7 /** @const */ var SettingsDialog = options.SettingsDialog; |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * StartupOverlay class | 10 * StartupOverlay class |
| 11 * Encapsulated handling of the 'Set Startup pages' overlay page. | 11 * Encapsulated handling of the 'Set Startup pages' overlay page. |
| 12 * @constructor | 12 * @constructor |
| 13 * @extends {options.SettingsDialog} | 13 * @extends {options.SettingsDialog} |
| 14 */ | 14 */ |
| 15 function StartupOverlay() { | 15 function StartupOverlay() { |
| 16 SettingsDialog.call(this, 'startup', | 16 SettingsDialog.call( |
| 17 loadTimeData.getString('startupPagesOverlayTabTitle'), | 17 this, 'startup', loadTimeData.getString('startupPagesOverlayTabTitle'), |
| 18 'startup-overlay', | 18 'startup-overlay', |
| 19 assertInstanceof($('startup-overlay-confirm'), HTMLButtonElement), | 19 assertInstanceof($('startup-overlay-confirm'), HTMLButtonElement), |
| 20 assertInstanceof($('startup-overlay-cancel'), HTMLButtonElement)); | 20 assertInstanceof($('startup-overlay-cancel'), HTMLButtonElement)); |
| 21 } | 21 } |
| 22 | 22 |
| 23 cr.addSingletonGetter(StartupOverlay); | 23 cr.addSingletonGetter(StartupOverlay); |
| 24 | 24 |
| 25 StartupOverlay.prototype = { | 25 StartupOverlay.prototype = { |
| 26 __proto__: SettingsDialog.prototype, | 26 __proto__: SettingsDialog.prototype, |
| 27 | 27 |
| 28 /** | 28 /** |
| 29 * An autocomplete list that can be attached to a text field during editing. | 29 * An autocomplete list that can be attached to a text field during editing. |
| 30 * @type {HTMLElement} | 30 * @type {HTMLElement} |
| 31 * @private | 31 * @private |
| 32 */ | 32 */ |
| 33 autocompleteList_: null, | 33 autocompleteList_: null, |
| 34 | 34 |
| 35 startup_pages_pref_: { | 35 startup_pages_pref_: {'name': 'session.startup_urls', 'disabled': false}, |
| 36 'name': 'session.startup_urls', | |
| 37 'disabled': false | |
| 38 }, | |
| 39 | 36 |
| 40 /** @override */ | 37 /** @override */ |
| 41 initializePage: function() { | 38 initializePage: function() { |
| 42 SettingsDialog.prototype.initializePage.call(this); | 39 SettingsDialog.prototype.initializePage.call(this); |
| 43 | 40 |
| 44 var self = this; | 41 var self = this; |
| 45 | 42 |
| 46 var startupPagesList = $('startupPagesList'); | 43 var startupPagesList = $('startupPagesList'); |
| 47 options.browser_options.StartupPageList.decorate(startupPagesList); | 44 options.browser_options.StartupPageList.decorate(startupPagesList); |
| 48 startupPagesList.autoExpands = true; | 45 startupPagesList.autoExpands = true; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 }, | 77 }, |
| 81 | 78 |
| 82 /** | 79 /** |
| 83 * Sets the enabled state of the custom startup page list | 80 * Sets the enabled state of the custom startup page list |
| 84 * @param {boolean} disable True to disable, false to enable | 81 * @param {boolean} disable True to disable, false to enable |
| 85 */ | 82 */ |
| 86 setControlsDisabled: function(disable) { | 83 setControlsDisabled: function(disable) { |
| 87 var startupPagesList = $('startupPagesList'); | 84 var startupPagesList = $('startupPagesList'); |
| 88 startupPagesList.disabled = disable; | 85 startupPagesList.disabled = disable; |
| 89 // Explicitly set disabled state for input text elements. | 86 // Explicitly set disabled state for input text elements. |
| 90 var inputs = startupPagesList.querySelectorAll("input[type='text']"); | 87 var inputs = startupPagesList.querySelectorAll('input[type=\'text\']'); |
| 91 for (var i = 0; i < inputs.length; i++) | 88 for (var i = 0; i < inputs.length; i++) |
| 92 inputs[i].disabled = disable; | 89 inputs[i].disabled = disable; |
| 93 $('startupUseCurrentButton').disabled = disable; | 90 $('startupUseCurrentButton').disabled = disable; |
| 94 }, | 91 }, |
| 95 | 92 |
| 96 /** | 93 /** |
| 97 * Enables or disables the the custom startup page list controls | 94 * Enables or disables the the custom startup page list controls |
| 98 * based on the whether the 'pages to restore on startup' pref is enabled. | 95 * based on the whether the 'pages to restore on startup' pref is enabled. |
| 99 */ | 96 */ |
| 100 updateControlStates: function() { | 97 updateControlStates: function() { |
| 101 this.setControlsDisabled( | 98 this.setControlsDisabled(this.startup_pages_pref_.disabled); |
| 102 this.startup_pages_pref_.disabled); | |
| 103 }, | 99 }, |
| 104 | 100 |
| 105 /** | 101 /** |
| 106 * Handles change events of the preference | 102 * Handles change events of the preference |
| 107 * 'session.startup_urls'. | 103 * 'session.startup_urls'. |
| 108 * @param {Event} event Preference changed event. | 104 * @param {Event} event Preference changed event. |
| 109 * @private | 105 * @private |
| 110 */ | 106 */ |
| 111 handleStartupPageListChange_: function(event) { | 107 handleStartupPageListChange_: function(event) { |
| 112 this.startup_pages_pref_.disabled = event.value.disabled; | 108 this.startup_pages_pref_.disabled = event.value.disabled; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 }, | 149 }, |
| 154 }; | 150 }; |
| 155 | 151 |
| 156 // Forward public APIs to private implementations. | 152 // Forward public APIs to private implementations. |
| 157 cr.makePublic(StartupOverlay, [ | 153 cr.makePublic(StartupOverlay, [ |
| 158 'updateStartupPages', | 154 'updateStartupPages', |
| 159 'updateAutocompleteSuggestions', | 155 'updateAutocompleteSuggestions', |
| 160 ]); | 156 ]); |
| 161 | 157 |
| 162 // Export | 158 // Export |
| 163 return { | 159 return {StartupOverlay: StartupOverlay}; |
| 164 StartupOverlay: StartupOverlay | |
| 165 }; | |
| 166 }); | 160 }); |
| OLD | NEW |