PageRenderTime 37ms CodeModel.GetById 13ms app.highlight 16ms RepoModel.GetById 2ms app.codeStats 0ms

/security/manager/pki/resources/content/clientauthask.js

http://github.com/zpao/v8monkey
JavaScript | 134 lines | 79 code | 15 blank | 40 comment | 4 complexity | 62540737cefac6d56ff27ad1a1fa603e MD5 | raw file
  1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2 *
  3 * ***** BEGIN LICENSE BLOCK *****
  4 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  5 *
  6 * The contents of this file are subject to the Mozilla Public License Version
  7 * 1.1 (the "License"); you may not use this file except in compliance with
  8 * the License. You may obtain a copy of the License at
  9 * http://www.mozilla.org/MPL/
 10 *
 11 * Software distributed under the License is distributed on an "AS IS" basis,
 12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 13 * for the specific language governing rights and limitations under the
 14 * License.
 15 *
 16 * The Original Code is mozilla.org code.
 17 *
 18 * The Initial Developer of the Original Code is
 19 * Netscape Communications Corporation.
 20 * Portions created by the Initial Developer are Copyright (C) 1998
 21 * the Initial Developer. All Rights Reserved.
 22 *
 23 * Contributor(s):
 24 *   Javier Delgadillo <javi@netscape.com>
 25 *
 26 * Alternatively, the contents of this file may be used under the terms of
 27 * either the GNU General Public License Version 2 or later (the "GPL"), or
 28 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 29 * in which case the provisions of the GPL or the LGPL are applicable instead
 30 * of those above. If you wish to allow use of your version of this file only
 31 * under the terms of either the GPL or the LGPL, and not to allow others to
 32 * use your version of this file under the terms of the MPL, indicate your
 33 * decision by deleting the provisions above and replace them with the notice
 34 * and other provisions required by the GPL or the LGPL. If you do not delete
 35 * the provisions above, a recipient may use your version of this file under
 36 * the terms of any one of the MPL, the GPL or the LGPL.
 37 *
 38 * ***** END LICENSE BLOCK ***** */
 39
 40
 41const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
 42
 43var dialogParams;
 44var itemCount = 0;
 45var rememberBox;
 46
 47function onLoad()
 48{
 49    var cn;
 50    var org;
 51    var issuer;
 52
 53    dialogParams = window.arguments[0].QueryInterface(nsIDialogParamBlock);
 54    cn = dialogParams.GetString(0);
 55    org = dialogParams.GetString(1);
 56    issuer = dialogParams.GetString(2);
 57
 58    // added with bug 431819. reuse string from caps in order to avoid string changes
 59    var capsBundle = srGetStrBundle("chrome://global/locale/security/caps.properties");
 60    var rememberString = capsBundle.GetStringFromName("CheckMessage");
 61    var rememberSetting = true;
 62
 63    var pref = Components.classes['@mozilla.org/preferences-service;1']
 64	       .getService(Components.interfaces.nsIPrefService);
 65    if (pref) {
 66      pref = pref.getBranch(null);
 67      try {
 68	rememberSetting = 
 69	  pref.getBoolPref("security.remember_cert_checkbox_default_setting");
 70      }
 71      catch(e) {
 72	// pref is missing
 73      }
 74    }
 75
 76    rememberBox = document.getElementById("rememberBox");
 77    rememberBox.label = rememberString;
 78    rememberBox.checked = rememberSetting;
 79
 80    var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
 81    var message1 = bundle.formatStringFromName("clientAuthMessage1", 
 82                                             [org],
 83                                             1);
 84    var message2 = bundle.formatStringFromName("clientAuthMessage2",
 85                                             [issuer],
 86                                             1);
 87    setText("hostname", cn);
 88    setText("organization", message1);
 89    setText("issuer", message2);
 90
 91    var selectElement = document.getElementById("nicknames");
 92    itemCount = dialogParams.GetInt(0);
 93    for (var i=0; i < itemCount; i++) {
 94        var menuItemNode = document.createElement("menuitem");
 95        var nick = dialogParams.GetString(i+3);
 96        menuItemNode.setAttribute("value", i);
 97        menuItemNode.setAttribute("label", nick); // this is displayed
 98        selectElement.firstChild.appendChild(menuItemNode);
 99        if (i == 0) {
100            selectElement.selectedItem = menuItemNode;
101        }
102    }
103
104    setDetails();
105}
106
107function setDetails()
108{
109  var index = parseInt(document.getElementById("nicknames").value);
110  var details = dialogParams.GetString(index+itemCount+3);
111  document.getElementById("details").value = details;
112}
113
114function onCertSelected()
115{
116  setDetails();
117}
118
119function doOK()
120{
121  dialogParams.SetInt(0,1);
122  var index = parseInt(document.getElementById("nicknames").value);
123  dialogParams.SetInt(1, index);
124  dialogParams.SetInt(2, rememberBox.checked);
125  return true;
126}
127
128function doCancel()
129{
130  dialogParams.SetInt(0,0);
131  dialogParams.SetInt(1, -1); // invalid value
132  dialogParams.SetInt(2, rememberBox.checked);
133  return true;
134}