Index: chrome/browser/resources/options2/certificate_restore_overlay.js |
diff --git a/chrome/browser/resources/options2/certificate_restore_overlay.js b/chrome/browser/resources/options2/certificate_restore_overlay.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d76a32976035797afd1b4dc243551177941e719c |
--- /dev/null |
+++ b/chrome/browser/resources/options2/certificate_restore_overlay.js |
@@ -0,0 +1,97 @@ |
+// Copyright (c) 2011 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; |
+ |
+ /** |
+ * CertificateRestoreOverlay class |
+ * Encapsulated handling of the 'enter restore password' overlay page. |
+ * @class |
+ */ |
+ function CertificateRestoreOverlay() { |
+ OptionsPage.call(this, 'certificateRestore', |
+ '', |
+ 'certificateRestoreOverlay'); |
+ } |
+ |
+ cr.addSingletonGetter(CertificateRestoreOverlay); |
+ |
+ CertificateRestoreOverlay.prototype = { |
+ __proto__: OptionsPage.prototype, |
+ |
+ /** |
+ * Initializes the page. |
+ */ |
+ initializePage: function() { |
+ OptionsPage.prototype.initializePage.call(this); |
+ |
+ var self = this; |
+ $('certificateRestoreCancelButton').onclick = function(event) { |
+ self.cancelRestore_(); |
+ } |
+ $('certificateRestoreOkButton').onclick = function(event) { |
+ self.finishRestore_(); |
+ } |
+ |
+ self.clearInputFields_(); |
+ }, |
+ |
+ /** |
+ * Clears any uncommitted input, and dismisses the overlay. |
+ * @private |
+ */ |
+ dismissOverlay_: function() { |
+ this.clearInputFields_(); |
+ OptionsPage.closeOverlay(); |
+ }, |
+ |
+ /** |
+ * Attempt the restore operation. |
+ * The overlay will be left up with inputs disabled until the backend |
+ * finishes and dismisses it. |
+ * @private |
+ */ |
+ finishRestore_: function() { |
+ chrome.send('importPersonalCertificatePasswordSelected', |
+ [$('certificateRestorePassword').value]); |
+ $('certificateRestoreCancelButton').disabled = true; |
+ $('certificateRestoreOkButton').disabled = true; |
+ }, |
+ |
+ /** |
+ * Cancel the restore operation. |
+ * @private |
+ */ |
+ cancelRestore_: function() { |
+ chrome.send('cancelImportExportCertificate'); |
+ this.dismissOverlay_(); |
+ }, |
+ |
+ /** |
+ * Clears the value of each input field. |
+ * @private |
+ */ |
+ clearInputFields_: function() { |
+ $('certificateRestorePassword').value = ''; |
+ $('certificateRestoreCancelButton').disabled = false; |
+ $('certificateRestoreOkButton').disabled = false; |
+ }, |
+ }; |
+ |
+ CertificateRestoreOverlay.show = function() { |
+ CertificateRestoreOverlay.getInstance().clearInputFields_(); |
+ OptionsPage.navigateToPage('certificateRestore'); |
+ }; |
+ |
+ CertificateRestoreOverlay.dismiss = function() { |
+ CertificateRestoreOverlay.getInstance().dismissOverlay_(); |
+ }; |
+ |
+ // Export |
+ return { |
+ CertificateRestoreOverlay: CertificateRestoreOverlay |
+ }; |
+ |
+}); |