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

Unified Diff: chrome/browser/resources/options/password_manager.js

Issue 1193143003: Enable import/export of passwords into/from Password Manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and comments Created 5 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/options/password_manager.js
diff --git a/chrome/browser/resources/options/password_manager.js b/chrome/browser/resources/options/password_manager.js
index 6e16ebac5e14d48e2cba966de98e8638f585fa26..0b2080e01c703259cf6dfd4c8aece498bb3f964e 100644
--- a/chrome/browser/resources/options/password_manager.js
+++ b/chrome/browser/resources/options/password_manager.js
@@ -59,6 +59,8 @@ cr.define('options', function() {
initializePage: function() {
Page.prototype.initializePage.call(this);
+ var self = this;
+
$('auto-signin-block').hidden =
!loadTimeData.getBoolean('enableCredentialManagerAPI');
@@ -66,8 +68,20 @@ cr.define('options', function() {
PageManager.closeOverlay();
};
+ $('password-manager-import-confirm').onclick = function() {
+ self.setImportCompleteUiVisibility_(false);
+ };
+
+ $('password-manager-import').onclick = function() {
+ chrome.send('importPassword');
+ };
+
+ $('password-manager-export').onclick = function() {
+ chrome.send('exportPassword');
+ };
+
$('password-search-box').addEventListener('search',
- this.handleSearchQueryChange_.bind(this));
+ this.handleSearchQueryChange_.bind(this));
$('exceptions-learn-more').onclick = function() {
chrome.send('coreOptionsUserMetricsAction',
@@ -89,6 +103,7 @@ cr.define('options', function() {
// Updating the password lists may cause a blocking platform dialog pop up
// (Mac, Linux), so we delay this operation until the page is shown.
chrome.send('updatePasswordLists');
+ this.setImportCompleteUiVisibility_(false);
$('password-search-box').focus();
},
@@ -233,6 +248,30 @@ cr.define('options', function() {
setManageAccountLinkVisibility_: function(visible) {
$('manage-passwords-span').hidden = !visible;
},
+
+ /**
+ * @param {boolean} visible Whether the import-password-complete UI should
+ * be visible.
+ * @private
+ */
+ setImportCompleteUiVisibility_: function(visible) {
+ var sect1 = Array.prototype.slice.call(document.querySelectorAll(
+ '.password-manager-home'));
+ var sect2 = Array.prototype.slice.call(document.querySelectorAll(
+ '.import-password-complete'));
+ var sections = sect1.concat(sect2);
+ for (var i = 0; i < sections.length; i++) {
+ if (visible)
+ sections[i].classList.add('importing');
+ else
+ sections[i].classList.remove('importing');
+ }
+ },
+
+ showImportExportButton_: function() {
+ $('password-manager-import').disabled = false;
+ $('password-manager-export').disabled = false;
+ },
};
/**
@@ -240,8 +279,8 @@ cr.define('options', function() {
* @param {number} rowIndex indicating the row to remove.
*/
PasswordManager.removeSavedPassword = function(rowIndex) {
- chrome.send('removeSavedPassword', [String(rowIndex)]);
- chrome.send('coreOptionsUserMetricsAction',
+ chrome.send('removeSavedPassword', [String(rowIndex)]);
+ chrome.send('coreOptionsUserMetricsAction',
['Options_PasswordManagerDeletePassword']);
};
@@ -250,7 +289,7 @@ cr.define('options', function() {
* @param {number} rowIndex indicating the row to remove.
*/
PasswordManager.removePasswordException = function(rowIndex) {
- chrome.send('removePasswordException', [String(rowIndex)]);
+ chrome.send('removePasswordException', [String(rowIndex)]);
};
PasswordManager.requestShowPassword = function(index) {
@@ -262,7 +301,9 @@ cr.define('options', function() {
'setManageAccountLinkVisibility',
'setSavedPasswordsList',
'setPasswordExceptionsList',
- 'showPassword'
+ 'showPassword',
+ 'setImportCompleteUiVisibility',
+ 'showImportExportButton'
]);
// Export

Powered by Google App Engine
This is Rietveld 408576698