var file = this._dirs.get("ProfD", Ci.nsIFile); file.append("microsummary-generators"); 
var file = this._dirs.get("UsrMicsumGens", Ci.nsIFile); 
  _addGeneratorLoadHandler: function(event) {    // XXX Factor out code using getPageFromEvent().    var request = event.target;    var uri = request.channel.originalURI;    var doc = request.responseXML;    if (!doc)      throw(uri.spec + " microsummary generator loaded, but not XML");    if (doc.documentElement.nodeName == "parsererror")      throw(uri.spec + " microsummary generator loaded, but invalid XML");      // XXX Make sure it's a valid microsummary generator.    // Add a reference to the URI from which we got this generator so we have    // a unique identifier for the generator and also so we can check back later    // for updates.    doc.documentElement.setAttribute("sourceURI", uri.spec);    var genName = doc.documentElement.getAttribute("name");    var fileName = sanitizeName(genName) + ".xml";    var file = this._dirs.get("ProfD", Ci.nsIFile);    file.append("microsummary-generators");    file.append(fileName);    file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, PERMS_FILE);    var fos = Cc["@mozilla.org/network/safe-file-output-stream;1"].              createInstance(Ci.nsIFileOutputStream);    var localFile = file.QueryInterface(Ci.nsILocalFile);    fos.init(localFile, (MODE_WRONLY | MODE_TRUNCATE), PERMS_FILE, 0);    var serializer = Cc["@mozilla.org/xmlextras/xmlserializer;1"].                     createInstance(Ci.nsIDOMSerializer);    serializer.serializeToStream(doc.documentElement, fos, null);    if (fos instanceof Ci.nsISafeOutputStream) {      try       { fos.finish() }      catch (e) { fos.close()  }    }    else      fos.close();    // Finally, cache the generator in the local generators cache.    this._cacheLocalGeneratorFile(file);  },
5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5872/226572499708777d5ce2e44af2e26b98465f7e54/nsMicrosummaryService.js/buggy/browser/components/microsummaries/src/nsMicrosummaryService.js