そのため、FF4とGecko 2で使用するために古い拡張機能を更新する作業を行っていますが、コンポーネントのclassIDが見つからないか正しくないというエラーが発生するという問題が発生しています。
他の誰かが同様の問題を抱えているか、これを回避する方法を知っていますか?
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;
このためにプロトタイプでgenerateNSGetFactoryを呼び出すと、FF4のエラーコンソールでclassIDについて文句を言うエラーが発生します。同じGUIDを使用しているものは他にないと確信しているので、問題は発生しません。