Mozilla 系の拡張機能の修正方法
先日、おでさんと Thundirbird の拡張を試していたときに、試していた拡張に不具合を発見しました。 ちょっとしたことなのですが、任意入力の文字列部分にあるべき trim 処理が入っていないという事象。 それならきっとすぐなおせるYO! ってな感じで、勘を頼りに(笑)やったときのメモです。
Firefox / Thundirbird の拡張の形式は、.xpi 形式。 これは実はただの .zip です。 でもって、その展開されたファイルに入っている chrome の中の .jar も .zip です。 てなわけで、.xpi を .zip にリネームして展開、さらに中にはいっている、 .jar を .zip にして展開すればソースコードを取り出せます。
(直した拡張とは別の拡張のスクリーンショットです)
あとは、JavaScript + XUL + DOM のソースコード。 JavaScript + XHTML + DOM をいじったことがある方なら、ちょっとした修正くらいなら勘でいけるでしょう。 🙂 ここでは、trim のコードを一行追加。
修正でけたら、元通りの階層で .zip 圧縮しなおして、それぞれ .jar / .xpi にリネームして再インストールすれば完成です。
さて、拡張開発をやっている人はホントはどうやっているんだろう、まさかいちいちリビルドしてないよなーと思って調べたら、ちゃんとドキュメントがありました。
Setting up extension development environment – MDC
この記事では、あなたのMozillaアプリケーションにおいて拡張機能の開発を容易にするためのノウハウを提案します。
ディレクトリ内のファイルを拡張として登録できて、ホットデプロイもできるみたいですね。 これなら手間いらずです。 最終的な .xpi パッケージ化は .zip をつくれればいいので、ant が便利かな…。
以上、拡張がバグってて困っている方はお試しください。
From: kohaku - 2007/6/26 Tuesday (Comment)
日本語化も、こんな感じでできるんですよね。
僕の場合、xpiに戻して拡張をインストールするときにエラーはいちゃうんですよね。
zipに戻すときが悪いのかな・・・
From: ひろまさ - 2007/6/26 Tuesday (Comment)
kohaku さん、こんばんわ~。
あ、そうそう! XP とかで .zip 展開すると勝手に1個フォルダできちゃうので、そのフォルダをまた圧縮して戻すとうまくいかないです。 圧縮したいファイルだけ選択してやると OK だとおもいます~
ってぼくもやってエラーになりました。。。(笑)
From: yutaka - 2007/6/28 Thursday (Comment)
antってFedora7で使える? 🙄
From: kohaku - 2007/6/28 Thursday (Comment)
おお!なるほど。
そんなカラクリダトハ・・・:idea:
From: ひろまさ - 2007/7/1 Sunday (Comment)
yutaka さん
はい、ant 、Linux でも使えるとおもいます~。 でも、修正するくらいなら手で zip つくっても全然 OK ですね~
kohaku さん
むふふ。おたのしみください。 🙂