rem: browser.popupUrls = null; browser.popupFeatures = null; } 
context:   onLocationChange : function(aWebProgress, aRequest, aLocation)  {    // XXX temporary hack for bug 104532.    // Depends heavily on setOverLink implementation    if (!aRequest)      this.status = this.jsStatus = this.jsDefaultStatus = "";    this.setOverLink("");    var locationURI = null;    var location = "";        if (aLocation) {      try {        if (!gURIFixup)          gURIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"]                                .getService(Components.interfaces.nsIURIFixup);        // If the url has "wyciwyg://" as the protocol, strip it off.        // Nobody wants to see it on the urlbar for dynamically generated        // pages.        locationURI = gURIFixup.createExposableURI(aLocation);        location = locationURI.spec;      }      catch(ex) {        location = aLocation.spec;      }    }    if (!getWebNavigation().canGoBack && location == "about:blank")      location = "";    // Disable menu entries for images, enable otherwise    if (content.document && this.mimeTypeIsTextBased(content.document.contentType))      this.isImage.removeAttribute('disabled');    else      this.isImage.setAttribute('disabled', 'true');    // We should probably not do this if the value has changed since the user    // searched    // Update urlbar only if a new page was loaded on the primary content area    // Do not update urlbar if there was a subframe navigation    var browser = getBrowser().selectedBrowser;    if (aWebProgress.DOMWindow == content) {      // The document loaded correctly, clear the value if we should      if (browser.userTypedClear)        browser.userTypedValue = null;      var userTypedValue = browser.userTypedValue;      if (userTypedValue === null) {        this.urlBar.value = location;        SetPageProxyState("valid", aLocation);        // Setting the urlBar value in some cases causes userTypedValue to        // become set because of oninput, so reset it to null        browser.userTypedValue = null;      } else {        this.urlBar.value = userTypedValue;        SetPageProxyState("invalid", null);      }    }    UpdateBackForwardButtons();    var blank = (location == "about:blank") || (location == "");    //clear popupDomain accordingly so that icon will go away when visiting    //an unblocked site after a blocked site. note: if a popup is blocked     //the icon will stay as long as we are in the same domain.        if (blank ||        !("popupDomain" in browser)) {      browser.popupDomain = null;      browser.popupUrls = null;      browser.popupFeatures = null;    }    else {      var hostPort = "";      try {        hostPort = locationURI.hostPort;      }      catch(ex) { }      if (hostPort != browser.popupDomain) {        browser.popupDomain = null;        browser.popupUrls = null;        browser.popupFeatures = null;      }    }    var popupIcon = document.getElementById("popupIcon");    popupIcon.hidden = !browser.popupDomain;  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/455d94ebeb64ef65c3358fc1f3c7b0744dcf8877/nsBrowserStatusHandler.js/buggy/suite/browser/nsBrowserStatusHandler.js