Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 *
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
10 var dialogParams;
11 var itemCount = 0;
12 var rememberBox;
14 function onLoad()
15 {
16 var cn;
17 var org;
18 var issuer;
20 dialogParams = window.arguments[0].QueryInterface(nsIDialogParamBlock);
21 cn = dialogParams.GetString(0);
22 org = dialogParams.GetString(1);
23 issuer = dialogParams.GetString(2);
25 // added with bug 431819. reuse string from caps in order to avoid string changes
26 var capsBundle = document.getElementById("caps_bundle");
27 var rememberString = capsBundle.getString("CheckMessage");
28 var rememberSetting = true;
30 var pref = Components.classes['@mozilla.org/preferences-service;1']
31 .getService(Components.interfaces.nsIPrefService);
32 if (pref) {
33 pref = pref.getBranch(null);
34 try {
35 rememberSetting =
36 pref.getBoolPref("security.remember_cert_checkbox_default_setting");
37 }
38 catch(e) {
39 // pref is missing
40 }
41 }
43 rememberBox = document.getElementById("rememberBox");
44 rememberBox.label = rememberString;
45 rememberBox.checked = rememberSetting;
47 var bundle = document.getElementById("pippki_bundle");
48 var message1 = bundle.getFormattedString("clientAuthMessage1", [org]);
49 var message2 = bundle.getFormattedString("clientAuthMessage2", [issuer]);
50 setText("hostname", cn);
51 setText("organization", message1);
52 setText("issuer", message2);
54 var selectElement = document.getElementById("nicknames");
55 itemCount = dialogParams.GetInt(0);
56 for (var i=0; i < itemCount; i++) {
57 var menuItemNode = document.createElement("menuitem");
58 var nick = dialogParams.GetString(i+3);
59 menuItemNode.setAttribute("value", i);
60 menuItemNode.setAttribute("label", nick); // this is displayed
61 selectElement.firstChild.appendChild(menuItemNode);
62 if (i == 0) {
63 selectElement.selectedItem = menuItemNode;
64 }
65 }
67 setDetails();
68 }
70 function setDetails()
71 {
72 var index = parseInt(document.getElementById("nicknames").value);
73 var details = dialogParams.GetString(index+itemCount+3);
74 document.getElementById("details").value = details;
75 }
77 function onCertSelected()
78 {
79 setDetails();
80 }
82 function doOK()
83 {
84 dialogParams.SetInt(0,1);
85 var index = parseInt(document.getElementById("nicknames").value);
86 dialogParams.SetInt(1, index);
87 dialogParams.SetInt(2, rememberBox.checked);
88 return true;
89 }
91 function doCancel()
92 {
93 dialogParams.SetInt(0,0);
94 dialogParams.SetInt(1, -1); // invalid value
95 dialogParams.SetInt(2, rememberBox.checked);
96 return true;
97 }