Firefox4 extension development Firefox4

So, I am working on updating old extensions for use with FF4 and Gecko 2, but I am having some problems when I get an error message that says classID is missing or incorrect for the component ....

Has anyone else had a similar problem or do you know how to get around this?

function jsshellClient() {
  this.classDescription = "sdConnector JavaScript Shell Service";
  this.classID = Components.ID("{54f7f162-35d9-524d-9021-965a3ba86366}");
  this.contractID = "@activestate.com/SDService?type=jsshell;1"
  this._xpcom_categories = [{category: "sd-service", entry: "jsshell"}];
  this.name = "jsshell";
  this.prefs = Components.classes["@mozilla.org/preferences-service;1"]
      .getService(Components.interfaces.nsIPrefService)
      .getBranch("sdconnector.jsshell.");
  this.enabled = this.prefs.getBoolPref("enabled");
  this.port = this.prefs.getIntPref("port");
  this.loopbackOnly = this.prefs.getBoolPref("loopbackOnly");
  this.backlog = this.prefs.getIntPref("backlog");
}
jsshellClient.prototype = new session();
jsshellClient.prototype.constructor = jsshellClient;

When calling generateNSGetFactory for the prototype for this, it gives an error in the error console in FF4 complaining about classID. I am sure that nothing else uses the same GUID, so I see no problem.

+5
source share
2 answers

JS XPCOM Fx4 , chrome.manifest, . .

+2

, XPCOMUtils, classID, contractID .., Class.prototype, , : https://developer.mozilla.org/en/XPCOMUtils.jsm#Class_declaration

, , , , , .

0

All Articles