Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

インストール可能なBundleの構造

 

XULRunner アプリケーション, 拡張機能, および テーマ のすべてが共通のディレクトリ構造を共有しており、いくつかのケースでは同じ bundle をインストールできるアプリケーション拡張だけではなく単体のXULRunner アプリケーションにも使っています。bundleの基本構造は、次のファイルを含むことができます:

/install.rdf拡張機能/テーマの Install Manifest
/application.iniアプリケーション起動 Manifest
/components/*Component and XPT Files      (>=1.7)
/defaults/preferences/*.jsDefault Preferences          (>=1.7)
/plugins/*NPAPI Plugins                (>=1.8)
/chrome.manifestChrome Registration Manifest (>=1.8)
/chrome/icons/default/*Window Icons                 (>=1.8)

もちろん、拡張機能はこれらのすべてのディレクトリを持っている必要はありません。(普通は持っていません) テーマにはセキュリティ上の制限があり、通常テーマおよびJARファイルを登録するためのchrome.manifestだけが備えられます。

 

プラットフォーム特定のサブディレクトリ

いくつかの場合、単一の拡張またはアプリケーションに複数プラットフォームのバイナリコンポーネントやプラグインを含めたいことや、テーマ作者が複数プラットフォームに別のJARファイルを含めたいことがあるかもしれません。最初のケースを促進するために、拡張/アプリのローダはプラットフォーム特有のファイルのための特別のサブディレクトリを持っています (Toolkit/Gecko 1.8、Firefox/Thunderbird 1.5 から)。platform string は toolkit のビルドの過程において決定され、OS・プロセッサーアーキテクチャ・コンパイラの組み合わせからなるユニークな値になります。platform string のフォーマットは以下のとおり:

{OS_TARGET}_{TARGET_XPCOM_ABI}

もし以下のようなサブディレクトリが存在した場合、mainな拡張のディレクトリからロードされる全てのファイルはそこからロードされます。

/platform/{platform string}

たとえば、プラグイン作者がそのプラグインを Linux, Macintosh, Windows のいずれが走っているコンピュータでも使えるようにしたいとき、以下のようなファイルを提供することになります。

/platform/Linux_x86-gcc3/plugins/libMyPlugin.so
/platform/WINNT_x86-msvc/plugins/MyPlugin.dll
/platform/Darwin_ppc-gcc3/plugins/libMyPlugin.dylib

XPT ファイルはプラットフォーム依存ではないため、関連付けられた全ての XPT ファイルは汎用のディレクトリに配置されます。

/components/MyPlugin.xpt

もし拡張がバイナリではないプラットフォーム特有のコード (たとえば、Windows のレジストリをスクリプトから利用するようなコード) を含む場合も、OS名のみを冠したプラットフォーム・サブディレクトリを使用することができます。

/platform/WINNT/components/registerDoctype.js

プラットフォーム依存の JAR ファイルが使用されるとき、それぞれのプラットフォームディレトクリは個別に chrome.manifest ファイルを持つ必要があります。

chrome.manifest
chrome/mytheme-base.jar
platform/Darwin/chrome.manifest
platform/Darwin/chrome/mytheme-mac.jar
platform/WINNT/chrome.manifest
platform/WINNT/chrome/mytheme-win.jar

アプリケーションローダ/拡張ローダはまず基底ディレクトリを処理し、次に利用可能なプラットフォームディレクトリ(まず /{OS_TARGET}/、それから /{OS_TARGET}_{TARGET_XPCOM_ABI}/)を処理します。もしデフォルトの設定が複数のディレクトリで定義されていた場合、ローダは後に読み込んだもので先に読み込んだものを上書きします。

Application-specific Extension Files

上で述べた拡張ファイルに加えて、アプリケーションは拡張からさらに別のファイルを読み込むことができます。たとえば、Firefox 1.5以降は、Sherlock search plugins を以下のファイルから読み込みます。

/searchplugins/*.src

Firefox 2以降は、それに加えてMozSearch and OpenSearch plugins を以下のファイルから読み込み、

/searchplugins/*.xml

Myspell辞書を以下のファイルから読み込みます。

/dictionaries/*.{aff|dic}

Official References for Toolkit API

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: teoli, Luna8bit, Mgjbot, Okome
 最終更新者: teoli,