From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/bundles/index.html | 68 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 files/ja/bundles/index.html (limited to 'files/ja/bundles') diff --git a/files/ja/bundles/index.html b/files/ja/bundles/index.html new file mode 100644 index 0000000000..541f9b5d4b --- /dev/null +++ b/files/ja/bundles/index.html @@ -0,0 +1,68 @@ +--- +title: インストール可能なBundleの構造 +slug: Bundles +tags: + - Toolkit API +translation_of: Archive/Mozilla/Bundles +--- +

 

+

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

+

+

+

-- cgit v1.2.3-54-g00ecf