CS LiteをFirefox4で動くようにしてみた

AMOに登録しました。最新版は CS Lite Mod – Add-ons for Firefox にあります。
04/09 09:29: cslite-mod-1.4.0.2.xpiに更新しました。

常用しているFirefoxのアドオンに CS Lite があるのですが、Firefox4になってから全く動かない*1。だからといってFirefoxのバージョンを落とすのもいやなので、CS Liteを少し弄ってFirefox4で動くようにしてみました。

一応簡単なテストはしましたが、やっつけなので全機能がちゃんと動くかはわかりません。

wantora / cslite-mod / Downloads — Bitbucketからダウンロードできます。ライセンスは本家に合わせて GPL Version 2 です。

なお、自動アップデート先は本家の方になっています。もしこちらの修正版が更新された場合でも、自動的にアップデートは行われません。


しかし、なぜ動かないのかしばらく悩んでしまった。XPCOMコンポーネントがうまく登録されていないのは分かったけど、どうして出来ていないのかが分からなかった。しばらく調べて、XPCOM changes in Gecko 2.0 - Mozilla | MDNにたどり着いてやっと分かった。

いままで(Firefox4以前)は components ディレクトリに入っているjsファイルは自動的に認識されていたが、Firefox4からは chrome.manifest に明示的に書かなければならなくなった*2。また、XPCOM JavaScriptコンポーネントインターフェイスNSGetModule() から NSGetFactory() に変更された。これらが動かなかった原因だった模様。これ前にどこかで読んだはずなのに忘れてた。

*1:現時点でのCS Liteのバージョンは1.4

*2:インターフェイスのxptファイルも同様