rem: ioSvc = Components.classes["@mozilla.org/network/io-service;1"] .getService(Components.interfaces.nsIIOService); 
add: let ioSvc = Cc["@mozilla.org/network/io-service;1"]. getService(Ci.nsIIOService); 
context: function getLocalFileFromNativePathOrUrl(aPathOrUrl){  if (aPathOrUrl.substring(0,7) == "file://") {    // if this is a URL, get the file from that    ioSvc = Components.classes["@mozilla.org/network/io-service;1"]      .getService(Components.interfaces.nsIIOService);    // XXX it's possible that using a null char-set here is bad    const fileUrl = ioSvc.newURI(aPathOrUrl, null, null).      QueryInterface(Components.interfaces.nsIFileURL);    return fileUrl.file.clone().      QueryInterface(Components.interfaces.nsILocalFile);  } else {    // if it's a pathname, create the nsILocalFile directly    var f = new nsLocalFile(aPathOrUrl);    return f;  }}
meta: 10520	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10520/c816c402c2dc9a4ba3e0172325a9186da0704138/downloads.js/buggy/toolkit/mozapps/downloads/content/downloads.js