Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
| 7 | 7 |
| 8 /** | 8 /** |
| 9 * AlertOverlay class | 9 * AlertOverlay class |
| 10 * Encapsulated handling of a generic alert. | 10 * Encapsulated handling of a generic alert. |
| 11 * @class | 11 * @class |
| 12 */ | 12 */ |
| 13 function AlertOverlay() { | 13 function AlertOverlay() { |
| 14 OptionsPage.call(this, 'alertOverlay', '', 'alertOverlay'); | 14 OptionsPage.call(this, 'alertOverlay', '', 'alertOverlay'); |
| 15 } | 15 } |
| 16 | 16 |
| 17 cr.addSingletonGetter(AlertOverlay); | 17 cr.addSingletonGetter(AlertOverlay); |
| 18 | 18 |
| 19 AlertOverlay.prototype = { | 19 AlertOverlay.prototype = { |
| 20 // Inherit AlertOverlay from OptionsPage. | 20 // Inherit AlertOverlay from OptionsPage. |
| 21 __proto__: OptionsPage.prototype, | 21 __proto__: OptionsPage.prototype, |
| 22 | 22 |
| 23 /** | 23 /** |
| 24 * Whether the page can be shown. Used to make sure the page is only | |
| 25 * shown via AlertOverlay.Show(), and not via the address bar. | |
| 26 * @private | |
| 27 */ | |
| 28 canShow_: false, | |
| 29 | |
| 30 /** | |
| 24 * Initialize the page. | 31 * Initialize the page. |
| 25 */ | 32 */ |
| 26 initializePage: function() { | 33 initializePage: function() { |
| 27 // Call base class implementation to start preference initialization. | 34 // Call base class implementation to start preference initialization. |
| 28 OptionsPage.prototype.initializePage.call(this); | 35 OptionsPage.prototype.initializePage.call(this); |
| 29 | 36 |
| 30 var self = this; | 37 var self = this; |
| 31 $('alertOverlayOk').onclick = function(event) { | 38 $('alertOverlayOk').onclick = function(event) { |
| 32 self.handleOK_(); | 39 self.handleOK_(); |
| 33 }; | 40 }; |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 52 /** | 59 /** |
| 53 * Handle the 'cancel' button. Clear the overlay and call the cancel | 60 * Handle the 'cancel' button. Clear the overlay and call the cancel |
| 54 * callback if available. | 61 * callback if available. |
| 55 * @private | 62 * @private |
| 56 */ | 63 */ |
| 57 handleCancel_: function() { | 64 handleCancel_: function() { |
| 58 OptionsPage.closeOverlay(); | 65 OptionsPage.closeOverlay(); |
| 59 if (this.cancelCallback != undefined) { | 66 if (this.cancelCallback != undefined) { |
| 60 this.cancelCallback.call(); | 67 this.cancelCallback.call(); |
| 61 } | 68 } |
| 62 } | 69 }, |
| 70 | |
| 71 /** | |
| 72 * The page is getting hidden. Don't let it be shown again. | |
| 73 */ | |
| 74 willHidePage: function() { | |
| 75 canShow_ = false; | |
|
Vitaly Pavlenko
2014/10/01 23:29:53
This should be
this.canShow_ = false;
right?
Evan Stade
2014/10/13 16:21:55
yes
| |
| 76 }, | |
| 77 | |
| 78 /** @inheritDoc */ | |
| 79 canShowPage: function() { | |
| 80 return this.canShow_; | |
| 81 }, | |
| 63 }; | 82 }; |
| 64 | 83 |
| 65 /** | 84 /** |
| 66 * Show an alert overlay with the given message, button titles, and | 85 * Show an alert overlay with the given message, button titles, and |
| 67 * callbacks. | 86 * callbacks. |
| 68 * @param {string} title The alert title to display to the user. | 87 * @param {string} title The alert title to display to the user. |
| 69 * @param {string} message The alert message to display to the user. | 88 * @param {string} message The alert message to display to the user. |
| 70 * @param {string} okTitle The title of the OK button. If undefined or empty, | 89 * @param {string} okTitle The title of the OK button. If undefined or empty, |
| 71 * no button is shown. | 90 * no button is shown. |
| 72 * @param {string} cancelTitle The title of the cancel button. If undefined or | 91 * @param {string} cancelTitle The title of the cancel button. If undefined or |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 101 $('alertOverlayOk').style.display = 'none'; | 120 $('alertOverlayOk').style.display = 'none'; |
| 102 } | 121 } |
| 103 | 122 |
| 104 if (cancelTitle != undefined && cancelTitle != '') { | 123 if (cancelTitle != undefined && cancelTitle != '') { |
| 105 $('alertOverlayCancel').textContent = cancelTitle; | 124 $('alertOverlayCancel').textContent = cancelTitle; |
| 106 $('alertOverlayCancel').style.display = 'inline'; | 125 $('alertOverlayCancel').style.display = 'inline'; |
| 107 } else { | 126 } else { |
| 108 $('alertOverlayCancel').style.display = 'none'; | 127 $('alertOverlayCancel').style.display = 'none'; |
| 109 } | 128 } |
| 110 | 129 |
| 111 AlertOverlay.getInstance().okCallback = okCallback; | 130 var alertOverlay = AlertOverlay.getInstance(); |
| 112 AlertOverlay.getInstance().cancelCallback = cancelCallback; | 131 alertOverlay.okCallback = okCallback; |
| 132 alertOverlay.cancelCallback = cancelCallback; | |
| 133 alertOverlay.canShow_ = true; | |
| 113 | 134 |
| 135 // Intentionally don't show the URL in the location bar as we don't want | |
| 136 // people trying to navigate here by hand. | |
| 114 OptionsPage.showPageByName('alertOverlay', false); | 137 OptionsPage.showPageByName('alertOverlay', false); |
| 115 } | 138 } |
| 116 | 139 |
| 117 // Export | 140 // Export |
| 118 return { | 141 return { |
| 119 AlertOverlay: AlertOverlay | 142 AlertOverlay: AlertOverlay |
| 120 }; | 143 }; |
| 121 }); | 144 }); |
| OLD | NEW |