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

Unified Diff: chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js

Issue 2154263004: [MD Settings] Lazy create dialogs in Passwords and Autofill section. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Feedback 2.0 Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698