| Index: chrome/browser/resources/settings/people_page/password_prompt_dialog.js
|
| diff --git a/chrome/browser/resources/settings/people_page/password_prompt_dialog.js b/chrome/browser/resources/settings/people_page/password_prompt_dialog.js
|
| index 944be300729a55d39fbc942c1d744a90b2e80790..415b33887fbb9bef90d2012f28a26431ff0b6fce 100644
|
| --- a/chrome/browser/resources/settings/people_page/password_prompt_dialog.js
|
| +++ b/chrome/browser/resources/settings/people_page/password_prompt_dialog.js
|
| @@ -90,32 +90,37 @@ Polymer({
|
| return;
|
| }
|
|
|
| + if (this.$.dialog.open)
|
| + return;
|
| +
|
| this.$.dialog.showModal();
|
| },
|
|
|
| - /** Close the dialog. */
|
| - close: function() {
|
| + /** @private */
|
| + onCancelTap_: function() {
|
| if (this.$.dialog.open)
|
| this.$.dialog.close();
|
| + },
|
|
|
| + /**
|
| + * Called whenever the dialog is closed.
|
| + * @private
|
| + */
|
| + onClose_: function() {
|
| this.password_ = '';
|
| },
|
|
|
| - /** Cancel the password prompt. */
|
| - cancel: function() {
|
| - if (this.$.dialog.open)
|
| - this.$.dialog.cancel();
|
| -
|
| - // We bind setModes_ in an on-change event, so when the user hits cancel
|
| - // after they enter their valid password we may have authenticated them.
|
| - this.setModes_ = undefined;
|
| + /** @private */
|
| + onKeydown_: function(e) {
|
| + if (e.key == 'Enter')
|
| + this.submitPassword_();
|
| },
|
|
|
| /**
|
| * Run the account password check.
|
| * @private
|
| */
|
| - checkPassword_: function() {
|
| + submitPassword_: function() {
|
| clearTimeout(this.clearAccountPasswordTimeout_);
|
|
|
| // The user might have started entering a password and then deleted it all.
|
| @@ -150,7 +155,8 @@ Polymer({
|
|
|
| this.clearAccountPasswordTimeout_ = setTimeout(
|
| clearSetModes.bind(this), PASSWORD_ACTIVE_DURATION_MS);
|
| - this.close();
|
| + // Closing the dialog will clear this.password_.
|
| + this.$.dialog.close();
|
| }
|
| }
|
|
|
|
|