var { classes: Cc, interfaces: Ci, utils: Cu } = Components; Cu.importGlobalProperties(["File"]); addMessageListener("file.open", function () { var testFile = Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIDirectoryService) .QueryInterface(Ci.nsIProperties) .get("ProfD", Ci.nsIFile); testFile.append("prefs.js"); sendAsyncMessage("file.opened", { file: File.createFromNsIFile(testFile) }); }); addMessageListener("dir.open", function () { var testFile = Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIDirectoryService) .QueryInterface(Ci.nsIProperties) .get("ProfD", Ci.nsIFile); sendAsyncMessage("dir.opened", { dir: testFile.path }); });