menuitem.setAttribute("requestingWindowURI", pageReport[i].requestingWindowURI.spec); 
  fillPopupList: function (aEvent)  {    var bundle_browser = document.getElementById("bundle_browser");    // XXXben - rather than using |currentURI| here, which breaks down on multi-framed sites    //          we should really walk the pageReport and create a list of "allow for <host>"    //          menuitems for the common subset of hosts present in the report, this will    //          make us frame-safe.    //    // XXXjst - Note that when this is fixed to work with multi-framed sites,    //          also back out the fix for bug 343772 where    //          nsGlobalWindow::CheckOpenAllow() was changed to also    //          check if the top window's location is whitelisted.    var uri = gBrowser.selectedBrowser.webNavigation.currentURI;    var blockedPopupAllowSite = document.getElementById("blockedPopupAllowSite");    try {      blockedPopupAllowSite.removeAttribute("hidden");      var pm = Components.classes["@mozilla.org/permissionmanager;1"]                        .getService(this._kIPM);      if (pm.testPermission(uri, "popup") == this._kIPM.ALLOW_ACTION) {        // Offer an item to block popups for this site, if a whitelist entry exists        // already for it.        var blockString = bundle_browser.getFormattedString("popupBlock", [uri.host]);        blockedPopupAllowSite.setAttribute("label", blockString);        blockedPopupAllowSite.setAttribute("block", "true");      }      else {        // Offer an item to allow popups for this site        var allowString = bundle_browser.getFormattedString("popupAllow", [uri.host]);        blockedPopupAllowSite.setAttribute("label", allowString);        blockedPopupAllowSite.removeAttribute("block");      }    }    catch (e) {      blockedPopupAllowSite.setAttribute("hidden", "true");    }    var item = aEvent.target.lastChild;    while (item && item.getAttribute("observes") != "blockedPopupsSeparator") {      var next = item.previousSibling;      item.parentNode.removeChild(item);      item = next;    }    var foundUsablePopupURI = false;    var pageReport = gBrowser.pageReport;    if (pageReport) {      for (var i = 0; i < pageReport.length; ++i) {        var popupURIspec = pageReport[i].popupWindowURI.spec;        // Sometimes the popup URI that we get back from the pageReport        // isn't useful (for instance, netscape.com's popup URI ends up        // being "http://www.netscape.com", which isn't really the URI of        // the popup they're trying to show).  This isn't going to be        // useful to the user, so we won't create a menu item for it.        if (popupURIspec == "" || popupURIspec == "about:blank" ||            popupURIspec == uri.spec)          continue;        // Because of the short-circuit above, we may end up in a situation        // in which we don't have any usable popup addresses to show in        // the menu, and therefore we shouldn't show the separator.  However,        // since we got past the short-circuit, we must've found at least        // one usable popup URI and thus we'll turn on the separator later.        foundUsablePopupURI = true;        var menuitem = document.createElement("menuitem");        var label = bundle_browser.getFormattedString("popupShowPopupPrefix",                                                      [popupURIspec]);        menuitem.setAttribute("label", label);        menuitem.setAttribute("requestingWindowURI", pageReport[i].requestingWindowURI.spec);        menuitem.setAttribute("popupWindowURI", popupURIspec);        menuitem.setAttribute("popupWindowFeatures", pageReport[i].popupWindowFeatures);#ifndef MOZILLA_1_8_BRANCH# bug 314700        menuitem.setAttribute("popupWindowName", pageReport[i].popupWindowName);#endif        menuitem.setAttribute("oncommand", "gPopupBlockerObserver.showBlockedPopup(event);");        aEvent.target.appendChild(menuitem);      }    }    // Show or hide the separator, depending on whether we added any    // showable popup addresses to the menu.    var blockedPopupsSeparator =      document.getElementById("blockedPopupsSeparator");    if (foundUsablePopupURI)      blockedPopupsSeparator.removeAttribute("hidden");    else      blockedPopupsSeparator.setAttribute("hidden", true);    var blockedPopupDontShowMessage = document.getElementById("blockedPopupDontShowMessage");    var showMessage = gPrefService.getBoolPref("privacy.popups.showBrowserMessage");    blockedPopupDontShowMessage.setAttribute("checked", !showMessage);    if (aEvent.target.localName == "popup")      blockedPopupDontShowMessage.setAttribute("label", bundle_browser.getString("popupWarningDontShowFromMessage"));    else      blockedPopupDontShowMessage.setAttribute("label", bundle_browser.getString("popupWarningDontShowFromStatusbar"));  },
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/13e769d9b63310b07046dfa2146bf963e3bf57c0/browser.js/buggy/browser/base/content/browser.js