Eclipse3.2+xulBoosterでfirefox拡張を作る

作ってみようかなと思ったのですが、なんだかドキュメント無いみたいなので、メモ。

  • xulBoosterをダウンロードしてインストールする。インストール方法は、ココから。ABCServer
  • インストール後、Eclipseのwindow-->preferenceを開く。
    • Xul preferencesを左から選んで、FireFox.exeとUserのプロファイルへのパスを選んでやる。
    • Userのプロファイルは、C:\Documents and Settings\ユーザー名\Application Data\Mozilla\Firefox\Profiles\でたらめな名前のフォルダ あたりを選んでやる。これをやっておけば、XulBooster上からFirefoxExtensionを簡単に組み込める。(いちいちxpiを作らなくていいんです。)
  • Xulパースペクティブを開く。(window-->open perspective-->other)
  • Navigatorビューで、右クリ-->New-->Project
  • XUL Wizards-->XUL Projectを選んで、Project名をつける。
  • できたProjectを右クリ-->New-->Other
  • XUL Wizards-->FireFox extensionを選ぶ。
  • Extension nameに作りたい拡張の名前(今回はtestxulapp)を入れ、ExtensionIDにIDを入れる。IDは、hogegeho@hugahuga.comのように入れてもまあよいみたい。本来は、GUIDを入れるみたいですが。。
  • OKを押すと、srcExtension以下にいろいろファイルが出来る。


  • jsファイルを作る。contentフォルダ以下に、ファイル名はtest.jsで作成。
function test(){
 alert("hellow world");
}
  • XULOverlayDocumentを作る。New-->Other-->XUL Wizards-->XUL Overlay Documentでファイル名をtestappOverlay.xulにしました。(contentフォルダ以下に作成されます)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<overlay id="menuoverlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
        <!-- 以下を加えています。 -->
	<script type="application/x-javascript" src="chrome://testxulapp/content/test.js"></script>
	<popup id="contentAreaContextMenu">
	  <menuitem id="testxulapp" label="testxulapp test" oncommand="test();" />
	</popup>
</overlay>
  • chrome.manifestにoverlayを定義する。
overlay chrome://browser/content/browser.xul chrome://testxulapp/content/testappOverlay.xul
  • firefox2.0で動かすなら、install.rdfを開き、Dependenciesのタブを開くき、TargetApplicationのMaxVersionを2.*なりにして、install.rdfを保存しておく。
  • install.rdfを開き、Overviewのタブ(デフォルトでこれが選択される)を開くと、下方にTestingという項目がある。firefoxを閉じておいてから、Register Extensionをクリックし、Start firefoxをクリックする。

  • これで終了と。