Chrome Manifestでは、ユーザーインターフェイス要素のセットを定義します。
Chrome Manifestでは、UI要素のセットの基本情報を定義します。それは、
パッケージの種類 パッケージの名前 [付加情報] パッケージファイルの場所 [フラグ]
の書式に従い、
content sample chrome/content/
のように記述します。
パッケージファイルの場所は、Chrome Manifestファイルからの相対パスで示します。このときパスの最後には、スラッシュが必要です。
行頭を「#」とすることで、その行はコメントとみなされます。
manifest subdirectory/foo.manifest [フラグ]
binary-component components/mycomponent.dll [フラグ]
interfaces component/mycomponent.xpt [フラグ]
component {00000000-0000-0000-0000-000000000000} components/mycomponent.js [フラグ]
contract @foobar/mycontract;1 {00000000-0000-0000-0000-000000000000} [フラグ]
category カテゴリ エントリ名 value [フラグ]
content パッケージ名 uri/to/files/ [フラグ]
locale パッケージ名 ロケール名 uri/to/files/ [フラグ]
DTDファイルのパスを指定します。
skin パッケージ名 スキン名 uri/to/files/ [フラグ]
overlay chrome://URI-to-be-overlaid chrome://overlay-URI [フラグ]
クロスパッケージ オーバーレイに用います。
style chrome://URI-to-style chrome://stylesheet-URI [フラグ]
chrome://URI-to-styleのペーに、chrome://stylesheet-URIのスタイルをオーバーレイして適用します。これはスタイルが適用されるファイルを編集できない場合の方法で、編集できるならばそのページでCSSを読み込みます。
たとえば「ブラウザ」にスタイルを適用するには、
style chrome://browser/content/browser.xul chrome://myPackage/skin/default.css
のようにします。
override chrome://package/type/original-uri.whatever new-resolved-URI [フラグ]
resource エイリアス名 uri/to/files/ [フラグ]
行の最後にフラグを記述することで、その設定に特別な意味を持たせたり、その設定が使用される条件を制限したりできます。
たとえばOSによって異なるスキンを適用するには、
skin sample classic/1.0 chrome/skin/unix/ # Windows skin sample classic/1.0 chrome/skin/win/ os=WINNT skin sample classic/1.0 chrome/skin/winaero/ os=WINNT osversion>=6 # Mac skin sample classic/1.0 chrome/skin/mac/ os=Darwin
のようにします。
ファイル名を「chrome.manifest」として、アドオンやテーマのルートに配置します。
Manifestで登録されたパッケージは、Chrome URIと呼ばれるURIにマッピングされます。登録後のパッケージにアクセスするには、そのChrome URIを使用します。その書式は、
chrome://パッケージ名/データの種類/ファイルのパス
の構文で表されます。たとえばブラウザのウィンドウを表すURI
chrome://browser/content/browser.xul
を構成する要素は、次のように説明できます。
要素 | 意味 | 説明 |
---|---|---|
chrome | URIスキーマ | Chrome URIであることを意味する |
browser | パッケージ名 | UIコンポーネントを識別する名前 ※ほかのアドオンとは異なる、唯一な名前とします。 |
content | データの種類 | リクエストするデータの種類 |
browser.xul | ファイル名 | ロードするファイルへのパス |
Chrome URIが示すリソースは、Firefoxのロケーション バーに入力することで表示することができます。
ブラウザ リソースをブラウザで開いたところ
Chrome URIでアドオンのリソースにアクセスするには、そのアドオンがインストールされ有効化されている必要があります。
あらかじめ定義されているChrome URIには、次のようなものがあります。
Chrome URI | ウィンドウ |
---|---|
chrome://browser/content/browser.xul | ブラウザ |
chrome://browser/content/preferences/preferences.xul | オプション |
chrome://browser/content/preferences/sanitize.xul | 履歴の消去設定 |
chrome://browser/content/sanitize.xul | すべての履歴を消去 |
chrome://browser/content/bookmarks/bookmarksPanel.xul | ブックマーク |
chrome://browser/content/places/bookmarkProperties.xul | ブックマークのプロパティ |
chrome://browser/content/places/places.xul | 履歴とブックマークの管理 |
chrome://browser/content/history/history-panel.xul | 履歴 |
chrome://global/content/customizeToolbar.xul | ツールバーのカスタマイズ |
chrome://global/content/viewSource.xul | ソース |
chrome://global/content/viewPartialSource.xul | ソース |
Chrome URIでマッピングされている実体はomini.jaにありますので、このファイルを展開し.xulファイルを検索することで、これらのURIを調べられます。
Chrome URI | ウィンドウ |
---|---|
chrome://inspector/content/inspector.xul | DOM Inspector |
chrome://browser/content/devtools/webconsole.xul | Webコンソール |
chrome://browser/content/debugger.xul | JavaScript デバッガ |
Firefoxならば、これらのURIをロケーションバーに貼り付けて開くことで、その実体を確認できます。
JARパッケージングされたファイル内への参照は、jar: ... .jar!
のように囲んで記述します。
Chrome Manifestで登録されたファイルは、UniversalXPConnect特権という特別な権限で実行されます。