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

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

Issue 1822913003: Handle the button presses in the password edit dialog. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@password-edit-dialog.gitbr
Patch Set: simplify Created 4 years, 8 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/password_edit_dialog.js
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.js b/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.js
index b992e2cc44775d6572adbec47033b42314f81dde..b841f52b241c094e7ac4f6f026ee47c5207dd26f 100644
--- a/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.js
+++ b/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.js
@@ -22,19 +22,74 @@ Polymer({
type: Object,
value: null,
},
+
+ password: {
+ type: String,
+ value: '',
+ },
},
/** Opens the dialog. */
open: function() {
+ this.password = '';
this.$.dialog.open();
},
+ /** Closes the dialog. */
+ close: function() {
+ this.$.dialog.close();
+ },
+
/**
- * Creates an empty password of specified length.
- * @param {number} length
- * @return {string} password
+ * Gets the password input's type. Should be 'text' when password is visible
+ * and 'password' when it's not.
+ * @param {string} password
* @private
*/
- getEmptyPassword_: function(length) { return ' '.repeat(length); },
+ getPasswordInputType_: function(password) {
+ return password ? 'text' : 'password';
+ },
+
+ /**
+ * Gets the text of the password. Will use the value of |password| unless it
+ * cannot be shown, in which case it will be spaces.
+ * @param {!chrome.passwordsPrivate.PasswordUiEntry} item
+ * @param {string} password
+ * @private
+ */
+ getPassword_: function(item, password) {
+ if (password)
+ return password;
+ return item ? ' '.repeat(item.numCharactersInPassword) : '';
+ },
+
+ /**
+ * Handler for tapping the show/hide button. Will fire an event to request the
+ * password for this login pair.
+ * @private
+ */
+ onShowPasswordButtonTap_: function() {
+ if (this.password)
+ this.password = '';
+ else
+ this.fire('show-password', this.item.loginPair); // Request the password.
+ },
+
+ /**
+ * Handler for tapping the 'cancel' button. Should just dismiss the dialog.
+ * @private
+ */
+ onCancelButtonTap_: function() {
+ this.close();
+ },
+
+ /**
+ * Handler for tapping the save button.
+ * @private
+ */
+ onSaveButtonTap_: function() {
+ // TODO(hcarmona): what to save?
+ this.close();
+ },
});
})();

Powered by Google App Engine
This is Rietveld 408576698