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

Unified Diff: chrome/browser/resources/options2/certificate_edit_ca_trust_overlay.js

Issue 8895023: Options2: Pull the trigger. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: DIAF. Created 9 years 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/options2/certificate_edit_ca_trust_overlay.js
diff --git a/chrome/browser/resources/options2/certificate_edit_ca_trust_overlay.js b/chrome/browser/resources/options2/certificate_edit_ca_trust_overlay.js
new file mode 100644
index 0000000000000000000000000000000000000000..86fa5f7769df12cb0df74c4077bbd6fb96bb1f23
--- /dev/null
+++ b/chrome/browser/resources/options2/certificate_edit_ca_trust_overlay.js
@@ -0,0 +1,164 @@
+// 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;
+
+ /**
+ * CertificateEditCaTrustOverlay class
+ * Encapsulated handling of the 'edit ca trust' and 'import ca' overlay pages.
+ * @class
+ */
+ function CertificateEditCaTrustOverlay() {
+ OptionsPage.call(this, 'certificateEditCaTrustOverlay',
+ '',
+ 'certificateEditCaTrustOverlay');
+ }
+
+ cr.addSingletonGetter(CertificateEditCaTrustOverlay);
+
+ CertificateEditCaTrustOverlay.prototype = {
+ __proto__: OptionsPage.prototype,
+
+ /**
+ * Dismisses the overlay.
+ * @private
+ */
+ dismissOverlay_: function() {
+ OptionsPage.closeOverlay();
+ },
+
+ /**
+ * Enables or disables input fields.
+ * @private
+ */
+ enableInputs_: function(enabled) {
+ $('certificateCaTrustSSLCheckbox').disabled =
+ $('certificateCaTrustEmailCheckbox').disabled =
+ $('certificateCaTrustObjSignCheckbox').disabled =
+ $('certificateEditCaTrustCancelButton').disabled =
+ $('certificateEditCaTrustOkButton').disabled = !enabled;
+ },
+
+ /**
+ * Attempt the Edit operation.
+ * The overlay will be left up with inputs disabled until the backend
+ * finishes and dismisses it.
+ * @private
+ */
+ finishEdit_: function() {
+ // TODO(mattm): Send checked values as booleans. For now send them as
+ // strings, since WebUIBindings::send does not support any other types :(
+ chrome.send('editCaCertificateTrust',
+ [this.certId,
+ $('certificateCaTrustSSLCheckbox').checked.toString(),
+ $('certificateCaTrustEmailCheckbox').checked.toString(),
+ $('certificateCaTrustObjSignCheckbox').checked.toString()]);
+ this.enableInputs_(false);
+ },
+
+ /**
+ * Cancel the Edit operation.
+ * @private
+ */
+ cancelEdit_: function() {
+ this.dismissOverlay_();
+ },
+
+ /**
+ * Attempt the Import operation.
+ * The overlay will be left up with inputs disabled until the backend
+ * finishes and dismisses it.
+ * @private
+ */
+ finishImport_: function() {
+ // TODO(mattm): Send checked values as booleans. For now send them as
+ // strings, since WebUIBindings::send does not support any other types :(
+ chrome.send('importCaCertificateTrustSelected',
+ [$('certificateCaTrustSSLCheckbox').checked.toString(),
+ $('certificateCaTrustEmailCheckbox').checked.toString(),
+ $('certificateCaTrustObjSignCheckbox').checked.toString()]);
+ this.enableInputs_(false);
+ },
+
+ /**
+ * Cancel the Import operation.
+ * @private
+ */
+ cancelImport_: function() {
+ chrome.send('cancelImportExportCertificate');
+ this.dismissOverlay_();
+ },
+ };
+
+ /**
+ * Callback from CertificateManagerHandler with the trust values.
+ * @param {boolean} trustSSL The initial value of SSL trust checkbox.
+ * @param {boolean} trustEmail The initial value of Email trust checkbox.
+ * @param {boolean} trustObjSign The initial value of Object Signing trust
+ */
+ CertificateEditCaTrustOverlay.populateTrust = function(
+ trustSSL, trustEmail, trustObjSign) {
+ $('certificateCaTrustSSLCheckbox').checked = trustSSL;
+ $('certificateCaTrustEmailCheckbox').checked = trustEmail;
+ $('certificateCaTrustObjSignCheckbox').checked = trustObjSign;
+ CertificateEditCaTrustOverlay.getInstance().enableInputs_(true);
+ }
+
+ /**
+ * Show the Edit CA Trust overlay.
+ * @param {string} certId The id of the certificate to be passed to the
+ * certificate manager model.
+ * @param {string} certName The display name of the certificate.
+ * checkbox.
+ */
+ CertificateEditCaTrustOverlay.show = function(certId, certName) {
+ var self = CertificateEditCaTrustOverlay.getInstance();
+ self.certId = certId;
+ $('certificateEditCaTrustCancelButton').onclick = function(event) {
+ self.cancelEdit_();
+ }
+ $('certificateEditCaTrustOkButton').onclick = function(event) {
+ self.finishEdit_();
+ }
+ $('certificateEditCaTrustDescription').textContent =
+ localStrings.getStringF('certificateEditCaTrustDescriptionFormat',
+ certName);
+ self.enableInputs_(false);
+ OptionsPage.navigateToPage('certificateEditCaTrustOverlay');
+ chrome.send('getCaCertificateTrust', [certId]);
+ }
+
+ /**
+ * Show the Import CA overlay.
+ * @param {string} certId The id of the certificate to be passed to the
+ * certificate manager model.
+ * @param {string} certName The display name of the certificate.
+ * checkbox.
+ */
+ CertificateEditCaTrustOverlay.showImport = function(certName) {
+ var self = CertificateEditCaTrustOverlay.getInstance();
+ // TODO(mattm): do we want a view certificate button here like firefox has?
+ $('certificateEditCaTrustCancelButton').onclick = function(event) {
+ self.cancelImport_();
+ }
+ $('certificateEditCaTrustOkButton').onclick = function(event) {
+ self.finishImport_();
+ }
+ $('certificateEditCaTrustDescription').textContent =
+ localStrings.getStringF('certificateImportCaDescriptionFormat',
+ certName);
+ CertificateEditCaTrustOverlay.populateTrust(false, false, false);
+ OptionsPage.navigateToPage('certificateEditCaTrustOverlay');
+ }
+
+ CertificateEditCaTrustOverlay.dismiss = function() {
+ CertificateEditCaTrustOverlay.getInstance().dismissOverlay_();
+ };
+
+ // Export
+ return {
+ CertificateEditCaTrustOverlay: CertificateEditCaTrustOverlay
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698