Hatena::Groupmoz-addon

Ci.nsIZIGOROu

2008-04-16先手と大人と将来

RestTestをOSXのXULRunnerで動かす

| 18:15 |  RestTestをOSXのXULRunnerで動かす - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  RestTestをOSXのXULRunnerで動かす - Ci.nsIZIGOROu

RestTestと言うFirefox用の拡張があります。

詳細は開発者必須!ブラウザでRESTful APIにPUT&DELETE?RestTest MOONGIFT辺りを見て下さい。

で、Firefox拡張って気楽で素敵なんだけどブラウザにくっついてる必然性は一切無い拡張なので、出来れば外したい。でも使いたいぜーって時にどうしようとなる訳ですが、XUL Runnerで動かせばいいかーと言う結論に達してやってみました。ちなみにOSXを想定しています。

まずは準備

XULRunnerインストール

今回は安定板*1を使いました。

インストールdmg->pkgなんで特に説明の必要は無いと思います。

OSXだと、/Library/Framework/XUL.framework/ に展開されます。

RestTestのダウンロード

適当ディレクトリ掘って展開しましょう。

$ cd /path/to/dir
$ mkdir resttest
$ cd resttest
$ wget http://www.xucia.com/files/resttest.xpi
$ unzip resttest.xpi
application.iniを作る

/path/to/dir/resttestを基本として、直下にapplication.iniを作ります。

[App]
Vendor=Xucia
Name=RestTest
Version=1.0
BuildID=20080416
Copyright=Copyright (C) www.xucia.com
ID=resttest@xucia.com

[Gecko]
MinVersion=1.8
MaxVersion=1.9

こんな感じ。

chrome.manifestを編集
content  resttest chrome/content/
skin	 resttest classic/1.0 chrome/skin/
# overlay chrome://browser/content/browser.xul chrome://resttest/content/resttest.xul

overlayは不要なので消す。

pref.jsを作る

./defaults/preferences/pref.js として作ります。

pref("toolkit.defaultChromeURI", "chrome://resttest/content/hello.xul");
install-appする
$ /Library/Frameworks/XUL.framework/xulrunner-bin --install-app /path/to/dir/resttest

こうすると、application.iniで設定した項目で、

/Applications/(Vendor)/(Name).app/Contents/MacOS/xulrunner 

と言う風にインストールされます。つまり、

/Applications/Xucia/RestTest.app/Contents/MacOS/xulrunner 

って感じ。

試してみる

さっき出きたxulrunnerって奴を叩くと実行です。

f:id:ZIGOROu:20080416181308p:image

こんな感じ。普通に使えます。

まとめ

とりあえずOSXの場合はxulrunner -appで直接実行しても何故か画面に対して入力出来ず、ターミナルに出力されちゃう。

あとnightlyだと--install-appがapplication.iniのparse errorだとかで出来なかった。

OSX版は本当に罠が多いらしい。

TODO

Quit()を実装する。

参考リンク

*1:1.8.13