home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 May / PCWorld_2003-05_cd.bin / Komunik / phoenix / chrome / browser.jar / content / browser / pageReport.js < prev    next >
Text File  |  2002-10-25  |  2KB  |  62 lines

  1.  
  2. var gSiteBox;
  3. var gUnblockButton;
  4. var gPageReport;
  5. var gUPMsg;
  6.  
  7. var popupmanager =
  8.         Components.classes["@mozilla.org/PopupWindowManager;1"]
  9.           .getService(Components.interfaces.nsIPopupWindowManager);
  10.  
  11. function onLoad()
  12. {
  13.   gSiteBox = document.getElementById("siteBox");
  14.   gUnblockButton = document.getElementById("unblockButton");
  15.   gPageReport = opener.gBrowser.pageReport;
  16.   gUPMsg = document.getElementById("unblockedPopupMsg");
  17.  
  18.   buildSiteBox();
  19. }
  20.  
  21. function buildSiteBox()
  22. {
  23.   for (var i = 0; i < gPageReport.length; i++) {
  24.     var found = false;
  25.     for (var j = 0; j < gSiteBox.childNodes.length; j++) {
  26.       if (gSiteBox.childNodes[i].label == gPageReport[i]) {
  27.         found = true;
  28.         break;
  29.       }
  30.     }
  31.  
  32.     if (found) continue;
  33.  
  34.     var listitem = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
  35.                                              "listitem");
  36.     listitem.setAttribute("label", gPageReport[i]);
  37.     gSiteBox.appendChild(listitem);
  38.   }
  39. }
  40.  
  41. function siteSelected()
  42. {
  43.   gUnblockButton.disabled = (gSiteBox.selectedItems.length == 0);
  44. }
  45.  
  46. function whitelistSite()
  47. {
  48.   var selectedItem = gSiteBox.selectedItems[0];
  49.   if (!selectedItem)
  50.     return;
  51.  
  52.   // This is perverse and backwards.  We have subverted Mozilla's blacklist implementation
  53.   // and made it into a whitelist.  So we want to add this to the list of "blocked' popups.
  54.   var uri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);
  55.   uri.spec = selectedItem.label;
  56.   popupmanager.add(uri, true);
  57.   gSiteBox.removeChild(selectedItem);
  58.  
  59.   alert(uri.host + gUPMsg.value);
  60. }
  61.  
  62.