Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Side by Side Diff: chrome/browser/resources/options/reset_profile_settings_overlay.js

Issue 2236663002: Add origin of settings reset request to feedback reports. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Dan's comments, take 3 Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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_]);
Dan Beam 2016/09/16 19:48:29 nit: if you expect this to always be non-empty, wr
alito 2016/09/16 20:16:15 An empty string is ok to be passed here. It can ha
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
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 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698