home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 October / Gamestar_77_2005-10_dvd.iso / Programy / nsb-install-8-0.exe / chrome / browser.jar / content / browser / pref / pref-advanced.js < prev    next >
Encoding:
Text File  |  2005-07-29  |  6.5 KB  |  181 lines

  1.  
  2.  
  3. var _elementIDs = ["moveSystemCaret", "useAutoScrolling",
  4.                     "useSmoothScrolling", "enableAutoImageResizing",
  5.                     "useSSL2", "useSSL3", "useTLS1", "useTypeAheadFind",
  6.                     "certSelection", "securityOCSPEnabled", "serviceURL", "signingCA",
  7.                     // moved to tab browsing panel
  8.                     //"tabbedExternalLinks", "hideTabBar", "warnOnClose",
  9. "autoInstallUpdates","autoDownloadInstallUpdatesToExtension",
  10.                     "tabbedWindowLinks",
  11.                                         "showBlockedCount","playBlockedSound"];
  12.  
  13. const nsIX509CertDB = Components.interfaces.nsIX509CertDB;
  14. const nsX509CertDB = "@mozilla.org/security/x509certdb;1";
  15. const nsIOCSPResponder = Components.interfaces.nsIOCSPResponder;
  16. const nsISupportsArray = Components.interfaces.nsISupportsArray;
  17.  
  18. var certdb;
  19. var ocspResponders;
  20.  
  21. function onOK()
  22. {
  23.   // the .ui pref is only the saved state of the prefs dialog's radio buttons.
  24.   // the other pref is the real one.
  25.   try {
  26.     var prefVal = document.getElementById("tabbedOpenForce").checked ?
  27.                     document.getElementById("tabbedWindowLinks").value : 2;
  28.     parent.hPrefWindow.setPref("int", "browser.link.open_newwindow", prefVal);
  29.   } catch(e) {
  30.     // never loaded |advanced| pane
  31.   }
  32. }
  33.  
  34. function Startup() {
  35.   var prefVal = parent.hPrefWindow.getPref("int", "browser.link.open_newwindow",
  36.                                            false);
  37.   document.getElementById("tabbedOpenForce").checked = prefVal != 2;
  38.   updateWindowLinksBehavior();
  39.   parent.hPrefWindow.registerOKCallbackFunc(onOK);
  40.  
  41.   // XXXben - Hide Single Window mode prefs for 1.0 to avoid crashes see 266759
  42.   if (parent.hPrefWindow.getPref("bool", "browser.tabs.showSingleWindowModePrefs", false)) {
  43.     document.getElementById("tabbedOpenForce").hidden = false;
  44.     document.getElementById("tabbedWindowLinks").hidden = false;
  45.   }
  46.  
  47.   var ocspEntry;
  48.   var i;
  49.  
  50.   certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB);
  51.   ocspResponders = certdb.getOCSPResponders();
  52.  
  53.   var signersMenu = document.getElementById("signingCA");
  54.   var signersURL = document.getElementById("serviceURL");
  55.   for (i=0; i<ocspResponders.length; i++) {
  56.     ocspEntry = ocspResponders.queryElementAt(i, nsIOCSPResponder);
  57.     var menuItemNode = document.createElement("menuitem");
  58.     menuItemNode.setAttribute("value", ocspEntry.responseSigner);
  59.     menuItemNode.setAttribute("label", ocspEntry.responseSigner);
  60.     signersMenu.firstChild.appendChild(menuItemNode);
  61.   }
  62.  
  63.   doSecurityEnabling();
  64.   
  65.   // XXXben menulists suck, see explanation in pref-privacy.js
  66.   // style resolution problem inside scrollable areas. 
  67.   var scb = document.getElementById("signingCABox");
  68.   var sca = document.getElementById("signingCA");
  69.   sca.removeAttribute("hidden");
  70.   sca.parentNode.removeChild(sca);
  71.   scb.appendChild(sca);
  72.   
  73.     // remove menu in title bar checkbox if not window shaped
  74.     var windowShapingBundle = document.getElementById("drawOsBorder");
  75.     var drawOsWindowBorder = windowShapingBundle.getString("ShowOSTitleBar");
  76.     if (drawOsWindowBorder) {
  77.         if (drawOsWindowBorder == 1) {
  78.             var chkMenuInTitlebar = document.getElementById('menuInTitlebar');
  79.             document.getElementById('browsing').removeChild(chkMenuInTitlebar);
  80.         }
  81.     }
  82.  
  83.     
  84. }
  85.  
  86.     
  87. function doSecurityEnabling()
  88. {
  89.   var signersMenu = document.getElementById("signingCA");
  90.   var signersURL = document.getElementById("serviceURL");
  91.   var radiogroup = document.getElementById("securityOCSPEnabled");
  92.   
  93.   switch ( radiogroup.value ) {
  94.   case "0":
  95.   case "1":
  96.     signersMenu.setAttribute("disabled", true);
  97.     signersURL.setAttribute("disabled", true);
  98.     break;
  99.   case "2":
  100.   default:
  101.     if (!parent.hPrefWindow.getPrefIsLocked("security.OCSP.signingCA"))
  102.       signersMenu.removeAttribute("disabled");
  103.     if (!parent.hPrefWindow.getPrefIsLocked("security.OCSP.URL"))
  104.       signersURL.removeAttribute("disabled");
  105.   }
  106. }
  107.  
  108. function changeURL()
  109. {
  110.   var signersMenu = document.getElementById("signingCA");
  111.   var signersURL = document.getElementById("serviceURL");
  112.   var CA = signersMenu.getAttribute("value");
  113.   var i;
  114.   var ocspEntry;
  115.  
  116.   for (i=0; i < ocspResponders.length; i++) {
  117.     ocspEntry = ocspResponders.queryElementAt(i, nsIOCSPResponder);
  118.     if (CA == ocspEntry.responseSigner) {
  119.       signersURL.setAttribute("value", ocspEntry.serviceURL);
  120.       break;
  121.     }
  122.   }
  123. }
  124.  
  125. function openCrlManager()
  126. {
  127.     window.open('chrome://pippki/content/crlManager.xul',  "",
  128.                 'chrome,width=500,height=400,resizable=1');
  129. }
  130.  
  131. function openCertManager()
  132. {
  133.   //check for an existing certManager window and focus it; it's not application modal
  134.   const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1";
  135.   const kWindowMediatorIID = Components.interfaces.nsIWindowMediator;
  136.   const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID);
  137.   var lastCertManager = kWindowMediator.getMostRecentWindow("mozilla:certmanager");
  138.   if (lastCertManager)
  139.     lastCertManager.focus();
  140.   else {
  141.     window.open('chrome://pippki/content/certManager.xul',  "",
  142.                 'chrome,centerscreen,resizable=yes,dialog=no');
  143.   }
  144. }
  145.  
  146. function openDeviceManager()
  147. {
  148.   //check for an existing deviceManger window and focus it; it's not application modal
  149.   const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1";
  150.   const kWindowMediatorIID = Components.interfaces.nsIWindowMediator;
  151.   const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID);
  152.   var lastCertManager = kWindowMediator.getMostRecentWindow("mozilla:devicemanager");
  153.   if (lastCertManager)
  154.     lastCertManager.focus();
  155.   else {
  156.     window.open('chrome://pippki/content/device_manager.xul',  "devmgr",
  157.                 'chrome,centerscreen,resizable=yes,dialog=no');
  158.   }
  159. }
  160.  
  161. function updateWindowLinksBehavior() {
  162.   var radioNodes = document.getElementById("tabbedWindowLinks").childNodes;
  163.   var ctr;
  164.   if (document.getElementById("tabbedOpenForce").checked)
  165.     for (ctr = 0; ctr < radioNodes.length; ++ctr)
  166.       radioNodes.item(ctr).removeAttribute("disabled");
  167.   else
  168.     for (ctr = 0; ctr < radioNodes.length; ++ctr)
  169.       radioNodes.item(ctr).setAttribute("disabled", "true");
  170. }
  171.  
  172. function checkForUpdates()
  173. {
  174.   var updates = Components.classes["@mozilla.org/updates/update-service;1"]
  175.                           .getService(Components.interfaces.nsIUpdateService);
  176.   updates.checkForUpdates([], 0, Components.interfaces.nsIUpdateItem.TYPE_ANY, 
  177.                           Components.interfaces.nsIUpdateService.SOURCE_EVENT_USER,
  178.                           window);
  179. }
  180.  
  181.