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

Side by Side Diff: chrome/browser/resources/settings/people_page/password_prompt_dialog.js

Issue 2841313002: md settings: Update lock screen to match new mocks. (Closed)
Patch Set: Rebased. Created 3 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * 7 *
8 * 'settings-password-prompt-dialog' shows a dialog which asks for the user to 8 * 'settings-password-prompt-dialog' shows a dialog which asks for the user to
9 * enter their password. It validates the password is correct. Once the user has 9 * enter their password. It validates the password is correct. Once the user has
10 * entered their account password, the page fires an 'authenticated' event and 10 * entered their account password, the page fires an 'authenticated' event and
(...skipping 23 matching lines...) Expand all
34 34
35 properties: { 35 properties: {
36 /** 36 /**
37 * A wrapper around chrome.quickUnlockPrivate.setModes with the account 37 * A wrapper around chrome.quickUnlockPrivate.setModes with the account
38 * password already supplied. If this is null, the authentication screen 38 * password already supplied. If this is null, the authentication screen
39 * needs to be redisplayed. This property will be cleared after 39 * needs to be redisplayed. This property will be cleared after
40 * |this.passwordActiveDurationMs_| milliseconds. 40 * |this.passwordActiveDurationMs_| milliseconds.
41 */ 41 */
42 setModes: { 42 setModes: {
43 type: Object, 43 type: Object,
44 notify: true 44 notify: true,
45 }, 45 },
46 46
47 /** 47 /**
48 * The actual value of the password field. This is cleared whenever the 48 * The actual value of the password field. This is cleared whenever the
49 * authentication screen is not displayed so that the user's password is not 49 * authentication screen is not displayed so that the user's password is not
50 * easily available to an attacker. The actual password is stored as an 50 * easily available to an attacker. The actual password is stored as an
51 * captured closure variable inside of setModes. 51 * captured closure variable inside of setModes.
52 * @private 52 * @private
53 */ 53 */
54 password_: { 54 password_: {
55 type: String, 55 type: String,
56 observer: 'onPasswordChanged_' 56 observer: 'onPasswordChanged_',
57 }, 57 },
58 58
59 /** 59 /**
60 * Helper property which marks password as valid/invalid. 60 * Helper property which marks password as valid/invalid.
61 * @private 61 * @private
62 */ 62 */
63 passwordInvalid_: Boolean, 63 passwordInvalid_: Boolean,
64 64
65 /** 65 /**
66 * Interface for chrome.quickUnlockPrivate calls. May be overriden by tests. 66 * Interface for chrome.quickUnlockPrivate calls. May be overriden by tests.
67 * @private 67 * @private
68 */ 68 */
69 quickUnlockPrivate_: { 69 quickUnlockPrivate_: {
70 type: Object, 70 type: Object,
71 value: chrome.quickUnlockPrivate 71 value: chrome.quickUnlockPrivate,
72 }, 72 },
73 73
74 /** 74 /**
75 * writeUma_ is a function that handles writing uma stats. It may be 75 * writeUma_ is a function that handles writing uma stats. It may be
76 * overridden for tests. 76 * overridden for tests.
77 * 77 *
78 * @type {Function} 78 * @type {Function}
79 * @private 79 * @private
80 */ 80 */
81 writeUma_: { 81 writeUma_: {
82 type: Object, 82 type: Object,
83 value: function() { return settings.recordLockScreenProgress; } 83 value: function() {
84 return settings.recordLockScreenProgress;
85 }
84 }, 86 },
85 87
86 /** 88 /**
87 * PASSWORD_ACTIVE_DURATION_MS value. May be overridden by tests. 89 * PASSWORD_ACTIVE_DURATION_MS value. May be overridden by tests.
88 * @private 90 * @private
89 */ 91 */
90 passwordActiveDurationMs_: { 92 passwordActiveDurationMs_: {
91 type: Number, 93 type: Number,
92 value: PASSWORD_ACTIVE_DURATION_MS 94 value: PASSWORD_ACTIVE_DURATION_MS,
93 }, 95 },
94 }, 96 },
95 97
98 /** @override */
99 attached: function() {
100 this.async(function() {
101 this.$.passwordInput.focus();
102 }.bind(this));
103 },
104
96 /** 105 /**
97 * Open up the dialog. This will wait until the dialog has loaded before 106 * Open up the dialog. This will wait until the dialog has loaded before
98 * opening it. 107 * opening it.
99 */ 108 */
100 open: function() { 109 open: function() {
101 // Wait until the dialog is attached to the DOM before trying to open it. 110 // Wait until the dialog is attached to the DOM before trying to open it.
102 var dialog = /** @type {{isConnected: boolean}} */ (this.$.dialog); 111 var dialog = /** @type {{isConnected: boolean}} */ (this.$.dialog);
103 if (!dialog.isConnected) { 112 if (!dialog.isConnected) {
104 setTimeout(this.open.bind(this)); 113 setTimeout(this.open.bind(this));
105 return; 114 return;
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 onPasswordChanged_: function() { 191 onPasswordChanged_: function() {
183 this.passwordInvalid_ = false; 192 this.passwordInvalid_ = false;
184 }, 193 },
185 194
186 /** @private */ 195 /** @private */
187 enableConfirm_: function() { 196 enableConfirm_: function() {
188 return !!this.password_ && !this.passwordInvalid_; 197 return !!this.password_ && !this.passwordInvalid_;
189 }, 198 },
190 199
191 /** 200 /**
192 * Helper method that checks if the current password is valid. 201 * Helper method that checks if the current password is valid.
193 * @param {function(boolean):void} onCheck 202 * @param {function(boolean):void} onCheck
194 */ 203 */
195 checkAccountPassword_: function(onCheck) { 204 checkAccountPassword_: function(onCheck) {
196 // We check the account password by trying to update the active set of quick 205 // We check the account password by trying to update the active set of quick
197 // unlock modes without changing any credentials. 206 // unlock modes without changing any credentials.
198 this.quickUnlockPrivate_.getActiveModes(function(modes) { 207 this.quickUnlockPrivate_.getActiveModes(function(modes) {
199 var credentials = 208 var credentials =
200 /** @type {!Array<string>} */ (Array(modes.length).fill('')); 209 /** @type {!Array<string>} */ (Array(modes.length).fill(''));
201 this.quickUnlockPrivate_.setModes( 210 this.quickUnlockPrivate_.setModes(
202 this.password_, modes, credentials, onCheck); 211 this.password_, modes, credentials, onCheck);
203 }.bind(this)); 212 }.bind(this));
204 } 213 }
205 }); 214 });
206 215
207 })(); 216 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698