summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/options2/certificate_backup_overlay.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/resources/options2/certificate_backup_overlay.js')
-rw-r--r--chrome/browser/resources/options2/certificate_backup_overlay.js116
1 files changed, 116 insertions, 0 deletions
diff --git a/chrome/browser/resources/options2/certificate_backup_overlay.js b/chrome/browser/resources/options2/certificate_backup_overlay.js
new file mode 100644
index 0000000..e700347
--- /dev/null
+++ b/chrome/browser/resources/options2/certificate_backup_overlay.js
@@ -0,0 +1,116 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+cr.define('options', function() {
+ const OptionsPage = options.OptionsPage;
+
+ /**
+ * CertificateBackupOverlay class
+ * Encapsulated handling of the 'enter backup password' overlay page.
+ * @class
+ */
+ function CertificateBackupOverlay() {
+ OptionsPage.call(this, 'certificateBackupOverlay',
+ '',
+ 'certificateBackupOverlay');
+ }
+
+ cr.addSingletonGetter(CertificateBackupOverlay);
+
+ CertificateBackupOverlay.prototype = {
+ __proto__: OptionsPage.prototype,
+
+ /**
+ * Initializes the page.
+ */
+ initializePage: function() {
+ OptionsPage.prototype.initializePage.call(this);
+
+ var self = this;
+ $('certificateBackupCancelButton').onclick = function(event) {
+ self.cancelBackup_();
+ }
+ $('certificateBackupOkButton').onclick = function(event) {
+ self.finishBackup_();
+ }
+ $('certificateBackupPassword').oninput =
+ $('certificateBackupPassword2').oninput = function(event) {
+ self.comparePasswords_();
+ }
+
+ self.clearInputFields_();
+ },
+
+ /**
+ * Clears any uncommitted input, and dismisses the overlay.
+ * @private
+ */
+ dismissOverlay_: function() {
+ this.clearInputFields_();
+ OptionsPage.closeOverlay();
+ },
+
+ /**
+ * Attempt the Backup operation.
+ * The overlay will be left up with inputs disabled until the backend
+ * finishes and dismisses it.
+ * @private
+ */
+ finishBackup_: function() {
+ chrome.send('exportPersonalCertificatePasswordSelected',
+ [$('certificateBackupPassword').value]);
+ $('certificateBackupCancelButton').disabled = true;
+ $('certificateBackupOkButton').disabled = true;
+ $('certificateBackupPassword').disabled = true;
+ $('certificateBackupPassword2').disabled = true;
+ },
+
+ /**
+ * Cancel the Backup operation.
+ * @private
+ */
+ cancelBackup_: function() {
+ chrome.send('cancelImportExportCertificate');
+ this.dismissOverlay_();
+ },
+
+ /**
+ * Compares the password fields and sets the button state appropriately.
+ * @private
+ */
+ comparePasswords_: function() {
+ var password1 = $('certificateBackupPassword').value;
+ var password2 = $('certificateBackupPassword2').value;
+ $('certificateBackupOkButton').disabled =
+ !password1 || password1 != password2;
+ },
+
+ /**
+ * Clears the value of each input field.
+ * @private
+ */
+ clearInputFields_: function() {
+ $('certificateBackupPassword').value = '';
+ $('certificateBackupPassword2').value = '';
+ $('certificateBackupPassword').disabled = false;
+ $('certificateBackupPassword2').disabled = false;
+ $('certificateBackupCancelButton').disabled = false;
+ $('certificateBackupOkButton').disabled = true;
+ },
+ };
+
+ CertificateBackupOverlay.show = function() {
+ CertificateBackupOverlay.getInstance().clearInputFields_();
+ OptionsPage.navigateToPage('certificateBackupOverlay');
+ };
+
+ CertificateBackupOverlay.dismiss = function() {
+ CertificateBackupOverlay.getInstance().dismissOverlay_();
+ };
+
+ // Export
+ return {
+ CertificateBackupOverlay: CertificateBackupOverlay
+ };
+});