rem: newWindow.QueryInterface(nsCI.nsIInterfaceRequestor) .getInterface(nsCI.nsIWebNavigation) 
add: newWindow.QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.nsIWebNavigation) 
context:   openURI : function(aURI, aOpener, aWhere, aContext)  {    var newWindow = null;    var referrer = null;    var isExternal = (aContext == nsCI.nsIBrowserDOMWindow.OPEN_EXTERNAL);    if (isExternal && aURI && aURI.schemeIs("chrome")) {      dump("use -chrome command-line option to load external chrome urls\n");      return null;    }    var loadflags = isExternal ?                       nsCI.nsIWebNavigation.LOAD_FLAGS_FROM_EXTERNAL :                       nsCI.nsIWebNavigation.LOAD_FLAGS_NONE;    var location;    if (aWhere == nsCI.nsIBrowserDOMWindow.OPEN_DEFAULTWINDOW) {      switch (aContext) {        case nsCI.nsIBrowserDOMWindow.OPEN_EXTERNAL :          aWhere = gPrefService.getIntPref("browser.link.open_external");          break;        default : // OPEN_NEW or an illegal value          aWhere = gPrefService.getIntPref("browser.link.open_newwindow");      }    }    var url = aURI ? aURI.spec : "about:blank";    switch(aWhere) {      case nsCI.nsIBrowserDOMWindow.OPEN_NEWWINDOW :        newWindow = openDialog(getBrowserURL(), "_blank", "all,dialog=no", url);        break;      case nsCI.nsIBrowserDOMWindow.OPEN_NEWTAB :        var loadInBackground = gPrefService.getBoolPref("browser.tabs.loadDivertedInBackground");        var newTab = gBrowser.loadOneTab("about:blank", null, null, null, loadInBackground, false);        newWindow = gBrowser.getBrowserForTab(newTab).docShell                            .QueryInterface(nsCI.nsIInterfaceRequestor)                            .getInterface(nsCI.nsIDOMWindow);        try {          if (aOpener) {            location = aOpener.location;            referrer =                    Components.classes["@mozilla.org/network/io-service;1"]                              .getService(Components.interfaces.nsIIOService)                              .newURI(location, null, null);          }          newWindow.QueryInterface(nsCI.nsIInterfaceRequestor)                   .getInterface(nsCI.nsIWebNavigation)                   .loadURI(url, loadflags, referrer, null, null);        } catch(e) {        }        break;      default : // OPEN_CURRENTWINDOW or an illegal value        try {          if (aOpener) {            newWindow = aOpener.top;            location = aOpener.location;            referrer =                    Components.classes["@mozilla.org/network/io-service;1"]                              .getService(Components.interfaces.nsIIOService)                              .newURI(location, null, null);            newWindow.QueryInterface(nsCI.nsIInterfaceRequestor)                     .getInterface(nsIWebNavigation)                     .loadURI(url, loadflags, referrer, null, null);          } else {            newWindow = gBrowser.selectedBrowser.docShell                                .QueryInterface(nsCI.nsIInterfaceRequestor)                                .getInterface(nsCI.nsIDOMWindow);            getWebNavigation().loadURI(url, loadflags, null, null, null);          }          if(!gPrefService.getBoolPref("browser.tabs.loadDivertedInBackground"))            content.focus();        } catch(e) {        }    }    return newWindow;  },
meta: 10520	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10520/ceb1ebe3c2bcefd13a4be02275e0f1ed1adca206/browser.js/clean/browser/base/content/browser.js