Bug 1940967 - Vendor glean_parser v16.2.0 r=TravisLong,mach-reviewers,ahal
[gecko.git] / security / manager / pki / resources / content / downloadcert.js
blob84519974416ca03dcd20b3f83b6594aadead53d1
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 /* import-globals-from pippki.js */
5 "use strict";
7 /**
8  * @file Implements the functionality of downloadcert.xhtml: a dialog that allows
9  *       a user to confirm whether to import a certificate, and if so what trust
10  *       to give it.
11  * @param {nsISupports} window.arguments.0
12  *           Certificate to confirm import of, queryable to nsIX509Cert.
13  * @param {nsISupports} window.arguments.1
14  *           Object to set the return values of calling the dialog on, queryable
15  *           to the underlying type of DownloadCertReturnValues.
16  */
18 /**
19  * @typedef DownloadCertReturnValues
20  * @type {nsIWritablePropertyBag2}
21  * @property {boolean} importConfirmed
22  *           Set to true if the user confirmed import of the cert and accepted
23  *           the dialog, false otherwise.
24  * @property {boolean} trustForSSL
25  *           Set to true if the cert should be trusted for SSL, false otherwise.
26  *           Undefined value if |importConfirmed| is not true.
27  * @property {boolean} trustForEmail
28  *           Set to true if the cert should be trusted for e-mail, false
29  *           otherwise. Undefined value if |importConfirmed| is not true.
30  */
32 /**
33  * The cert to potentially import.
34  *
35  * @type {nsIX509Cert}
36  */
37 var gCert;
39 /**
40  * onload() handler.
41  */
42 function onLoad() {
43   gCert = window.arguments[0].QueryInterface(Ci.nsIX509Cert);
45   document.addEventListener("dialogaccept", onDialogAccept);
46   document.addEventListener("dialogcancel", onDialogCancel);
48   let bundle = document.getElementById("pippki_bundle");
49   let caName = gCert.commonName;
50   if (!caName.length) {
51     caName = bundle.getString("unnamedCA");
52   }
54   setText("trustHeader", bundle.getFormattedString("newCAMessage1", [caName]));
57 /**
58  * Handler for the "View Cert" button.
59  */
60 function viewCert() {
61   viewCertHelper(window, gCert, "window");
64 /**
65  * ondialogaccept() handler.
66  */
67 function onDialogAccept() {
68   let checkSSL = document.getElementById("trustSSL");
69   let checkEmail = document.getElementById("trustEmail");
71   let retVals = window.arguments[1].QueryInterface(Ci.nsIWritablePropertyBag2);
72   retVals.setPropertyAsBool("importConfirmed", true);
73   retVals.setPropertyAsBool("trustForSSL", checkSSL.checked);
74   retVals.setPropertyAsBool("trustForEmail", checkEmail.checked);
77 /**
78  * ondialogcancel() handler.
79  */
80 function onDialogCancel() {
81   let retVals = window.arguments[1].QueryInterface(Ci.nsIWritablePropertyBag2);
82   retVals.setPropertyAsBool("importConfirmed", false);