rem: var spec = Components.lookupMethod(window.content.opener, "location") .call(); return IOS.newURI(spec, null, null); 
add: var opener = new XPCNativeWrapper(window.content, "opener").opener; var location = new XPCNativeWrapper(opener, "location").location; return IOS.newURI(location.href, null, null); 
context: function maybeInitPopupContext(){  // it's not a popup with no opener  if (!window.content.opener)    return null;  try {    // are we a popup window?    const CI = Components.interfaces;    var xulwin = window                 .QueryInterface(CI.nsIInterfaceRequestor)                 .getInterface(CI.nsIWebNavigation)                 .QueryInterface(CI.nsIDocShellTreeItem).treeOwner                 .QueryInterface(CI.nsIInterfaceRequestor)                 .getInterface(CI.nsIXULWindow);    if (xulwin.contextFlags &        CI.nsIWindowCreator2.PARENT_IS_LOADING_OR_RUNNING_TIMEOUT) {      // return our opener's URI      const IOS = Components.classes["@mozilla.org/network/io-service;1"]                  .getService(CI.nsIIOService);      var spec = Components.lookupMethod(window.content.opener, "location")                 .call();      return IOS.newURI(spec, null, null);    }  } catch(e) {  }  return null;}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/b560561599dd9201667ca4051fdbc733279ff95d/navigator.js/clean/xpfe/browser/resources/content/navigator.js