home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2005 December / maximum-cd-2005-12.iso / Software / Apps / FirefoxSetup1.0.7.exe / browser.xpi / bin / chrome / browser.jar / content / browser / pageReport.js < prev    next >
Encoding:
Text File  |  2003-07-08  |  1.9 KB  |  74 lines

  1.  
  2. var gSiteBox;
  3. var gUnblockButton;
  4. var gPageReport;
  5.  
  6. var permissionmanager =
  7.         Components.classes["@mozilla.org/permissionmanager;1"]
  8.           .getService(Components.interfaces.nsIPermissionManager);
  9. var nsIPermissionManager = Components.interfaces.nsIPermissionManager;
  10.  
  11. function onLoad()
  12. {
  13.   gSiteBox = document.getElementById("siteBox");
  14.   gUnblockButton = document.getElementById("unblockButton");
  15.   gPageReport = opener.gBrowser.pageReport;
  16.  
  17.   buildSiteBox();
  18.   // select the first item using a delay, otherwise the listitems
  19.   // don't paint as selected.
  20.   setTimeout(selectFirstItem, 0);
  21. }
  22.  
  23. function selectFirstItem()
  24. {
  25.   gSiteBox.selectedIndex = 0;
  26. }
  27.  
  28. function buildSiteBox()
  29. {
  30.   for (var i = 0; i < gPageReport.length; i++) {
  31.     var found = false;
  32.     for (var j = 0; j < gSiteBox.childNodes.length; j++) {
  33.       if (gSiteBox.childNodes[j].label == gPageReport[i]) {
  34.         found = true;
  35.         break;
  36.       }
  37.     }
  38.  
  39.     if (!found)
  40.       gSiteBox.appendItem(gPageReport[i]);
  41.   }
  42. }
  43.  
  44. function siteSelected()
  45. {
  46.   gUnblockButton.disabled = (gSiteBox.selectedItems.length == 0);
  47. }
  48.  
  49. function whitelistSite()
  50. {
  51.   var selectedItem = gSiteBox.selectedItems[0];
  52.   if (!selectedItem)
  53.     return;
  54.  
  55.   var selectedIndex = gSiteBox.getIndexOfItem(selectedItem);
  56.  
  57.   var uri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);
  58.   uri.spec = selectedItem.label;
  59.   permissionmanager.add(uri, "popup", nsIPermissionManager.ALLOW_ACTION);
  60.   gSiteBox.removeChild(selectedItem);
  61.  
  62.   if (gSiteBox.getRowCount() == 0) {
  63.     // close if there are no other sites to whitelist
  64.     window.close();
  65.     return;
  66.   }
  67.  
  68.   // make sure a site is selected
  69.   if (selectedIndex > gSiteBox.getRowCount() - 1)
  70.     selectedIndex -= 1;
  71.   gSiteBox.selectedIndex = selectedIndex;
  72.   document.documentElement.getButton("accept").focus()
  73. }
  74.