mozilla
Your Search Results

    インストール可能な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

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

    タグ: 
    Contributors to this page: Luna8bit, teoli, Okome, Mgjbot
    最終更新者: teoli,