| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 Page = cr.ui.pageManager.Page; | 6 var Page = cr.ui.pageManager.Page; |
| 7 | 7 |
| 8 var AutomaticSettingsResetBanner = options.AutomaticSettingsResetBanner; | 8 var AutomaticSettingsResetBanner = options.AutomaticSettingsResetBanner; |
| 9 | 9 |
| 10 /** | 10 /** |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 * Indicates whether the overlay is a triggered reset overlay. | 37 * Indicates whether the overlay is a triggered reset overlay. |
| 38 * @type {boolean} | 38 * @type {boolean} |
| 39 * @private | 39 * @private |
| 40 */ | 40 */ |
| 41 isTriggered_: false, | 41 isTriggered_: false, |
| 42 | 42 |
| 43 /** @override */ | 43 /** @override */ |
| 44 initializePage: function() { | 44 initializePage: function() { |
| 45 Page.prototype.initializePage.call(this); | 45 Page.prototype.initializePage.call(this); |
| 46 | 46 |
| 47 // Set the onclick handlers only once when initializing the regular reset | 47 if (!ResetProfileSettingsOverlay.listenersAdded_) { |
| 48 // profile settings overlay. | |
| 49 if (!this.isTriggered_) { | |
| 50 $('reset-profile-settings-dismiss').onclick = function(e) { | 48 $('reset-profile-settings-dismiss').onclick = function(e) { |
| 51 ResetProfileSettingsOverlay.dismiss(); | 49 ResetProfileSettingsOverlay.dismiss(); |
| 52 }; | 50 }; |
| 53 $('reset-profile-settings-commit').onclick = function(e) { | 51 $('reset-profile-settings-commit').onclick = function(e) { |
| 54 ResetProfileSettingsOverlay.setResettingState(true); | 52 ResetProfileSettingsOverlay.setResettingState(true); |
| 55 chrome.send('performResetProfileSettings', | 53 chrome.send('performResetProfileSettings', |
| 56 [$('send-settings').checked]); | 54 [$('send-settings').checked, |
| 55 ResetProfileSettingsOverlay.resetRequestOrigin_]); |
| 57 }; | 56 }; |
| 58 $('expand-feedback').onclick = function(e) { | 57 $('expand-feedback').onclick = function(e) { |
| 59 var feedbackTemplate = $('feedback-template'); | 58 var feedbackTemplate = $('feedback-template'); |
| 60 feedbackTemplate.hidden = !feedbackTemplate.hidden; | 59 feedbackTemplate.hidden = !feedbackTemplate.hidden; |
| 61 e.preventDefault(); | 60 e.preventDefault(); |
| 62 }; | 61 }; |
| 62 |
| 63 ResetProfileSettingsOverlay.listenersAdded_ = true; |
| 63 } | 64 } |
| 64 }, | 65 }, |
| 65 | 66 |
| 66 /** | 67 /** |
| 67 * @override | 68 * @override |
| 68 * @suppress {checkTypes} | 69 * @suppress {checkTypes} |
| 69 * TODO(vitalyp): remove the suppression. See the explanation in | 70 * TODO(vitalyp): remove the suppression. See the explanation in |
| 70 * chrome/browser/resources/options/automatic_settings_reset_banner.js. | 71 * chrome/browser/resources/options/automatic_settings_reset_banner.js. |
| 71 */ | 72 */ |
| 72 didShowPage: function() { | 73 didShowPage: function() { |
| 73 $('reset-profile-settings-title').textContent = | 74 $('reset-profile-settings-title').textContent = |
| 74 loadTimeData.getString(this.isTriggered_ ? | 75 loadTimeData.getString(this.isTriggered_ ? |
| 75 'triggeredResetProfileSettingsOverlay' : | 76 'triggeredResetProfileSettingsOverlay' : |
| 76 'resetProfileSettingsOverlay'); | 77 'resetProfileSettingsOverlay'); |
| 77 $('reset-profile-settings-explanation').textContent = | 78 $('reset-profile-settings-explanation').textContent = |
| 78 loadTimeData.getString(this.isTriggered_ ? | 79 loadTimeData.getString(this.isTriggered_ ? |
| 79 'triggeredResetProfileSettingsExplanation' : | 80 'triggeredResetProfileSettingsExplanation' : |
| 80 'resetProfileSettingsExplanation'); | 81 'resetProfileSettingsExplanation'); |
| 81 | 82 |
| 83 // Set ResetProfileSettingsOverlay.resetRequestOrigin_ to indicate where |
| 84 // the reset request came from. |
| 85 if (this.isTriggered_) { |
| 86 ResetProfileSettingsOverlay.resetRequestOrigin_ = 'triggeredreset'; |
| 87 } else { |
| 88 // For the non-triggered reset overlay, a '#userclick' hash indicates |
| 89 // that the reset request came from the user clicking on the reset |
| 90 // settings button and is set by the browser_options page. A '#cct' hash |
| 91 // indicates that the reset request came from the CCT by launching |
| 92 // Chrome with the startup URL |
| 93 // chrome://settings/resetProfileSettings#cct. |
| 94 var hash = this.hash.slice(1).toLowerCase(); |
| 95 ResetProfileSettingsOverlay.resetRequestOrigin_ = |
| 96 (hash === 'cct' || hash === 'userclick') ? hash : ''; |
| 97 this.setHash(''); |
| 98 } |
| 99 |
| 82 chrome.send('onShowResetProfileDialog'); | 100 chrome.send('onShowResetProfileDialog'); |
| 83 }, | 101 }, |
| 84 | 102 |
| 85 /** @override */ | 103 /** @override */ |
| 86 didClosePage: function() { | 104 didClosePage: function() { |
| 87 chrome.send('onHideResetProfileDialog'); | 105 chrome.send('onHideResetProfileDialog'); |
| 88 }, | 106 }, |
| 89 }; | 107 }; |
| 90 | 108 |
| 109 /** @private {boolean} */ |
| 110 ResetProfileSettingsOverlay.listenersAdded_ = false; |
| 111 |
| 112 /** @private {string} */ |
| 113 ResetProfileSettingsOverlay.resetRequestOrigin_ = ''; |
| 114 |
| 91 /** | 115 /** |
| 92 * Enables/disables UI elements after/while Chrome is performing a reset. | 116 * Enables/disables UI elements after/while Chrome is performing a reset. |
| 93 * @param {boolean} state If true, UI elements are disabled. | 117 * @param {boolean} state If true, UI elements are disabled. |
| 94 */ | 118 */ |
| 95 ResetProfileSettingsOverlay.setResettingState = function(state) { | 119 ResetProfileSettingsOverlay.setResettingState = function(state) { |
| 96 $('reset-profile-settings-throbber').style.visibility = | 120 $('reset-profile-settings-throbber').style.visibility = |
| 97 state ? 'visible' : 'hidden'; | 121 state ? 'visible' : 'hidden'; |
| 98 $('reset-profile-settings-dismiss').disabled = state; | 122 $('reset-profile-settings-dismiss').disabled = state; |
| 99 $('reset-profile-settings-commit').disabled = state; | 123 $('reset-profile-settings-commit').disabled = state; |
| 100 }; | 124 }; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 123 var input = new JsEvalContext(feedbackListData); | 147 var input = new JsEvalContext(feedbackListData); |
| 124 var output = $('feedback-template'); | 148 var output = $('feedback-template'); |
| 125 jstProcess(input, output); | 149 jstProcess(input, output); |
| 126 }; | 150 }; |
| 127 | 151 |
| 128 // Export | 152 // Export |
| 129 return { | 153 return { |
| 130 ResetProfileSettingsOverlay: ResetProfileSettingsOverlay | 154 ResetProfileSettingsOverlay: ResetProfileSettingsOverlay |
| 131 }; | 155 }; |
| 132 }); | 156 }); |
| OLD | NEW |