| Index: chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js
|
| diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js
|
| index 8742dae0efb3fcc8b086095dce5c8c011f4444bf..cecb4a55d5a33c2cd7d0857af52609fc3c155ab2 100644
|
| --- a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js
|
| +++ b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js
|
| @@ -46,6 +46,13 @@ Polymer({
|
| type: Array,
|
| value: function() { return []; },
|
| },
|
| +
|
| +
|
| + /**
|
| + * Assigning a non-null value triggers the add/edit dialog.
|
| + * @private {?chrome.passwordsPrivate.PasswordUiEntry}
|
| + */
|
| + activePassword: Object,
|
| },
|
|
|
| listeners: {
|
| @@ -55,14 +62,13 @@ Polymer({
|
| /**
|
| * Sets the password in the current password dialog if the loginPair matches.
|
| * @param {!chrome.passwordsPrivate.LoginPair} loginPair
|
| - * @param {!string} password
|
| + * @param {string} password
|
| */
|
| setPassword: function(loginPair, password) {
|
| - var passwordDialog = this.$.passwordEditDialog;
|
| - if (passwordDialog.item && passwordDialog.item.loginPair &&
|
| - passwordDialog.item.loginPair.originUrl == loginPair.originUrl &&
|
| - passwordDialog.item.loginPair.username == loginPair.username) {
|
| - passwordDialog.password = password;
|
| + if (this.activePassword &&
|
| + this.activePassword.loginPair.originUrl == loginPair.originUrl &&
|
| + this.activePassword.loginPair.username == loginPair.username) {
|
| + this.$$('password-edit-dialog').password = password;
|
| }
|
| },
|
|
|
| @@ -72,13 +78,18 @@ Polymer({
|
| */
|
| onMenuEditPasswordTap_: function() {
|
| var menu = /** @type {CrSharedMenuElement} */(this.$.menu);
|
| - var data =
|
| + this.activePassword =
|
| /** @type {chrome.passwordsPrivate.PasswordUiEntry} */(menu.itemData);
|
| - this.$.passwordEditDialog.item = data;
|
| - this.$.passwordEditDialog.open();
|
| menu.closeMenu();
|
| },
|
|
|
| + /** @private */
|
| + unstampPasswordEditDialog_: function(e) {
|
| + var expectedDialog = this.$$('password-edit-dialog').$.dialog;
|
| + if (Polymer.dom(e).rootTarget == expectedDialog)
|
| + this.activePassword = null;
|
| + },
|
| +
|
| /**
|
| * Fires an event that should delete the saved password.
|
| * @private
|
|
|