recursal/MDN huggingface dataset:
Firefox 24 for developers
=========================

Gecko 24 を搭載した Firefox 24 は米国時間 2013 年 9 月 17 日にリリースされました。このページでは、開発者に影響する Firefox 24 の変更点をまとめています。

Web 開発者向けの変更点一覧
---------------

### CSS

* `cursor` プロパティの値のうち `-moz-zoom-in` と `-moz-zoom-out` の 2 つは、接頭辞を外して `zoom-in` および `zoom-out` になりました (Firefox バグ 772153)。
### HTML

* `media.webvtt.enabled` 設定のもとに、`<track>` 要素を実装しました (Firefox バグ 833385)。
### JavaScript

* `"use strict"` により明示的に要求される場合を除き、Arrow functions は自動的に strict モードにならないようにしました。(Firefox バグ 852762)
* `String.prototype.repeat` JS メソッドを実装しました (Firefox バグ 815431)。
### DOM

* `Range()` コンストラクタをサポートしました (Firefox バグ 868999)。
* `Text()` コンストラクタをサポートしました (Firefox バグ 869000)。
* `Comment()` コンストラクタをサポートしました (Firefox バグ 869006)。
* `DocumentFragment()` コンストラクタをサポートしました (Firefox バグ 869002)。
* `FocusEvent` インターフェイスを実装しました (Firefox バグ 855741)。
* `ChildNode.remove()` (en-US) メソッドをサポートしました (Firefox バグ 856629)。
* `<track>` 要素に関するインターフェイスである `HTMLTrackElement`、`TextTrack`、`TextTrackCue`、`TextTrackList` (en-US)、`TextTrackCueList` を、既定値が `false` である設定 `media.webvtt.enabled` のもとに実装しました (Firefox バグ 833385)。
* `Gamepad` インターフェイスと `Navigator.getGamepads` を、既定値が `false` である設定 `dom.gamepad.enabled` のもとに実装しました (Firefox バグ 690935)。
* デスクトップ版 Firefox に限り、`HTMLCanvasElement.getContext()` の値として `experimental-webgl` に加えて `webgl` をとれるようになりました (Firefox バグ 870232)。
* `HTMLMediaElement` の非標準メソッド `mozLoadFrom()` を削除しました (Firefox バグ 877135)。
### 開発者ツール

* ネットワークインスペクタで、コンテンツタイプ (CSS/画像/フォント など) による絞り込みと、絞り込み結果についてサイズや読み込み時間を確認できるようになりました。
* 左側にある開発ツールのオプションパネルで、JavaScript を一時的に無効化/有効化できるようになりました。
* 拡張機能の開発者は chrome レベルのスクリプトに対して、新たにブラウザコンソールを使用できるようになりました (エラーコンソールを置き換えます)。
### MathML

* 例えば `<math>` 要素や `<mrow> (en-US)` 要素で、式の書字方向を制御する `dir` 属性が、`direction` CSS プロパティを使用することと同等になりました。
* 等号 ("=") を引き延ばすことが可能になりました。
* `<menclose>` 要素で、`notation` 属性に値 "`updiagonalarrow`" を追加しました。
関連情報
----

* Firefox 24 リリースノート
* Firefox 24 アドオン互換性情報
### 過去のバージョン

* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers
* Firefox 17 for developers
* Firefox 16 for developers
* Firefox 15 for developers
* Firefox 14 for developers
* Firefox 13 for developers
* Firefox 12 for developers
* Firefox 11 for developers
* Firefox 10 for developers
* Firefox 9 for developers
* Firefox 8 for developers
* Firefox 7 for developers
* Firefox 6 for developers
* Firefox 5 for developers
* Firefox 4 for developers
* Firefox 3.6 for developers
* Firefox 3.5 for developers
* Firefox 3 for developers
* Firefox 2 for developers
* Firefox 1.5 for developers
Firefox 92 for developers
=========================

このページでは、開発者に影響する Firefox 92 の変更点をまとめています。Firefox 92 は 2021 年 9 月 7 日にリリースされました。

**メモ:** Mozilla Hacks の Time for a review of Firefox 92 もご覧ください。

ウェブ開発者向けの変更点一覧
--------------

### HTML

変更なし。

### CSS

* `break-inside` プロパティの `avoid-page` および `avoid-column` キーワードをサポートしました (Firefox バグ 1722945)。
* `font-size-adjust` プロパティの二値構文をサポートしました (Firefox バグ 1720131)。
* `@font-face/size-adjust` ディスクリプターをサポートしました (Firefox バグ 1720131)。
* `accent-color` プロパティをサポートしました (Firefox バグ 1722031)。
* `font-family` プロパティの値 `system-ui` をサポートしました (Firefox バグ 1226042)。
### JavaScript

* `Object.hasOwn()` を、プロパティがオブジェクトで定義されたものか継承されたものかを確認するために使用できるようになりました (Firefox バグ 1721149)。
### HTTP

* HTTPS RR (en-US) が使用可能であるときに、Firefox は自動的に HTTP リクエストを HTTPS にアップグレードします。また、HTTPS コネクションを確立するプロセスを最適化するために、*HTTPS RR* で提供される情報を使用します。これは概念的に、`Alt-Svc` ヘッダーを使用することに似ています (Firefox バグ 1721132)。
### API

* カスタム要素に `disabledFeatures` 静的プロパティを実装しました (Firefox バグ 1723396)。

#### DOM

* Imperative Slotting API (Shadow Dom API の一部) を実装しました (Firefox バグ 1705141)。
* `<input>` および `<textarea>` でテキストの選択が変更されたことを、それぞれ `HTMLInputElement` および `HTMLTextAreaElement` の `selectionchange` イベントをリッスンすることで監視できるようになりました (Firefox バグ 1648944)。

#### Media、WebRTC、Web Audio

* スピーカーやヘッドホンのようなサウンド出力デバイスへのアクセスが、speaker-selection 機能ポリシーで保護されるようになりました (Firefox バグ 1577199)。
### WebDriver conformance (Marionette)

* `webSocketUrl` 特性のサポートが向上しました。`true` が渡されて、かつ BiDi がサポートされている場合に、WebDriver BiDi の websocket URL を返すようになりました (Firefox バグ 1692984)。
アドオン開発者向けの変更点
-------------

* `downloads.download`、`downloads.DownloadQuery` (en-US)
`downloads.DownloadItem` (en-US) で `cookieStoreId` をサポートしました。`downloads.DownloadQuery` (en-US) および `downloads.DownloadItem` (en-US) 型に加えて、`downloads.search` (en-US) および `downloads.erase` (en-US) でのサポートも提供します。ブラウザー拡張機能が、Container タブ (contextual identities (en-US)) のような特定の Cookie ストアとダウンロードを関連付けできるようになりました (Firefox バグ 1669566)。
過去のバージョン
--------

* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers
* Firefox 69 for developers
* Firefox 68 for developers
* Firefox 67 for developers
* Firefox 66 for developers
* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers
* Firefox 62 for developers
* Firefox 61 for developers
Firefox 102 for developers
==========================

このページでは、開発者に影響する Firefox 102 の変更点をまとめています。Firefox 102 は、米国時間 2022 年 6 月 28 日にリリースされました。

ウェブ開発者向けの変更点一覧
--------------

### HTML

変更なし。

### CSS

出力端末がコンテンツを表示した後に、その内容を変更できる能力を確認するために使用できる `update` メディア特性をデフォルトで有効にしました (Firefox バグ 1422312)。

### JavaScript

変更なし。

### API

* 非標準の IDBMutableFile (en-US)、IDBFileHandle (en-US)、IDBFileRequest (en-US) インターフェイスおよび IDBDatabase.createMutableFile() メソッドを、将来のリリースで削除する準備としてデフォルトで無効にしました (Firefox バグ 1764771)。
* Transform streams をサポートしました。`ReadableStream` から `WritableStream` へチャンクを運んで、変換処理を実行できます。
 この更新には新しい `TransformStream` および `TransformStreamDefaultController` インターフェイスと `ReadableStream.pipeThrough()` メソッドが含まれます (Firefox バグ 1767507)。
* 読み取り可能なバイトストリーム をサポートしました。基になるバイトソースからコンシューマーへ、データを効率的にゼロバイト転送できます (ストリームの内部キューをバイパスします)。
 サポートした新しいインターフェイスは `ReadableStreamBYOBReader`、`ReadableByteStreamController`、`ReadableStreamBYOBRequest` です (Firefox バグ 1767342)。

#### DOM

* Firefox 固有の `Window.sidebar` プロパティを、設定で無効にしました。将来削除する予定です (Firefox バグ 1768486)。
### WebDriver conformance

#### WebDriver BiDi

* Webdriver BiDi の `browsingContext.navigate` をいくつか改良しました。
    + ナビゲーションが誤ってタイムアウトする場合があるエッジケースを修正しました (Firefox バグ 1766217)。
    + ハッシュの変更をサポートしました (Firefox バグ 1763127)。
    + エラーページへのナビゲーションをサポートしました (Firefox バグ 1763124)。

#### Marionette

* Marionette が、ウィンドウがない Firefox のインスタンスへ接続できるようになりました (Firefox バグ 1726465)。
* ナビゲーションを開始する前に、PageLoadStrategy が "none" である `WebDriver:Navigate` が返る問題を修正しました (Firefox バグ 1754132)。
* 別のタブへ切り替えるときに `WebDriver:SwitchToWindow` で競合状態が発生する可能性がある問題を修正しました (Firefox バグ 1749666)。
アドオン開発者向けの変更点一覧
---------------

* スクリプトの実行、CSS の挿入と削除、コンテンツスクリプトの登録管理の機能を提供する `scripting` (en-US) API が、Manifest V2 で利用可能になりました (Firefox バグ 1766615)。
* Firefox で 'wasm-unsafe-eval' CSP キーワードをサポートしたことに伴って (Firefox バグ 1740263)、Manifest V3 拡張機能で WebAssembly を使用するために content\_security\_policy マニフェストキーで、このキーワードを指定することが必要になりました。後方互換性のため、Manifest V2 拡張機能は引き続きこのキーワードがなくても WebAssembly を使用できます (Firefox バグ 1766027)。
* `privacy.websites` (en-US) の `cookieConfig` プロパティで、`nonPersistentCookies` オプションが非推奨になりました (Firefox バグ 1754924)。
過去のバージョン
--------

* Firefox 101 for developers
* Firefox 100 for developers
* Firefox 99 for developers
* Firefox 98 for developers
* Firefox 97 for developers
* Firefox 96 for developers
* Firefox 95 for developers
* Firefox 94 for developers
* Firefox 93 for developers
* Firefox 92 for developers
* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
Firefox 106 for developers
==========================

このページでは、開発者に影響する Firefox 106 の変更点をまとめています。Firefox 106 は、米国時間 2022 年 10 月 18 日にリリースされました。

ウェブ開発者向けの変更点一覧
--------------

### HTML

* `<source>` 要素が、`<picture>` 要素の子要素であるときに `height` および `width` 属性をサポートするようになりました。
 これは、`dom.picture_source_dimension_attributes.enabled` の 設定 を使用して有効にする実験的機能です (Firefox バグ 1694741)。

#### 廃止

### MathML

* MathML の `<semantics>` および `<maction>` (en-US) 要素が、デフォルトで最初の子要素のみ表示するようになりました (Firefox バグ 1588733)。
### CSS

* @supports アットルールで `font-tech()` および `font-format()` 関数をサポートしました。
 これらの関数で、指定したフォント技術やフォント形式をブラウザーがサポートしているかを確認できます。また、確認結果に基づいて CSS スタイルを適用できます (Firefox バグ 1786493)。

#### 廃止

### JavaScript

#### 廃止

### HTTP

#### 廃止

### セキュリティ

#### 廃止

### API

#### DOM

* `HTMLMetaElement.media` プロパティをサポートしました。このプロパティは、`media` の値 (例: `max-width: 600px`) に応じてさまざまなテーマカラーを設定できます。
 `media` プロパティを持つ meta 要素を使用すると、ブラウザーは指定したメディアクエリー向けのページまたは UI の色を設定するために、`theme-color` と合わせて `content` の値を使用できます (Firefox バグ 1706179)。

#### Media、WebRTC、Web Audio

#### 廃止

### WebAssembly

#### 廃止

### WebDriver conformance (WebDriver BiDi, Marionette)

#### WebDriver BiDi

* `script.getRealms` の基本的なサポートを追加しました。現在は、window レルムと sandbox レルムを含む `WindowRealmInfo` 型に限定されています (Firefox バグ 1766240)。
* `browsingContext.load` イベントをサポートしました。これは、ブラウジングコンテキストのウィンドウの `load` イベントをきっかけにして発生します (Firefox バグ 1756619)。
* シリアライズしたリモートの値向けの強い参照を保持するための、オブジェクト参照ストアを追加しました (Firefox バグ 1770736)。
* オブジェクト参照ストアで作成したリモート参照のデシリアライズをサポートしました (Firefox バグ 1788124)。
* `script.evaluate`、`script.callFunction`、`script.disown` コマンドを完全サポートしました (Firefox バグ 1778976)。

#### Marionette

* Actions 向けに `wheel` 入力ソースをサポートしました。これはホイールタイプの入力デバイスに関連づけられます (Firefox バグ 1746601)。
* GeckoView ベースのアプリケーション (例: Android 版 Firefox) のタブを開くおよび閉じる操作をサポートしました (Firefox バグ 1506782)。
アドオン開発者向けの変更点一覧
---------------

* `"background"` マニフェストキーの `"persistent"` プロパティを `false` に設定することが、Manifest V2 において (バックグラウンドページを非永続化するため) デフォルトで可能になりました。
* `"content_security_policy"` マニフェストキーの `object-src` ディレクティブが省略可能になりました (Firefox バグ 1766881)。詳しくは `"content_security_policy"` のページで object-src ディレクティブ をご覧ください。
### 廃止

### その他

過去のバージョン
--------

* Firefox 105 for developers
* Firefox 104 for developers
* Firefox 103 for developers
* Firefox 102 for developers
* Firefox 101 for developers
* Firefox 100 for developers
* Firefox 99 for developers
* Firefox 98 for developers
* Firefox 97 for developers
* Firefox 96 for developers
* Firefox 95 for developers
* Firefox 94 for developers
* Firefox 93 for developers
* Firefox 92 for developers
* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
Firefox 3 における SVG の改良
======================

Firefox 3 では、以前のバージョンの Firefox よりも改善された Scalable Vector Graphics (SVG) サポートが追加されました。これらの機能は、別の場所で文書化されていますが、この記事は、便利な一覧を提供することで、どの機能が Firefox 3 で追加されたのかを判別しやすくします。

* `foreignObject` 要素のサポート (Firefox バグ 326966、仕様、参考
* `pattern` 要素のサポート (仕様)
* `mask` 要素のサポート (仕様)
* SVG フィルタのサポート (仕様)
    + `filter`
    + `feDistantLight`
    + `fePointLight`
    + `feSpotLight`
    + `feBlend`
    + `feColorMatrix`
    + `feConvolveMatrix`
    + `feComponentTransfer`, `feFuncR`, `feFuncG`, `feFuncB`, `feFuncA`
    + `feComposite`
    + `feConvolveMatrix`
    + `feDiffuseLighting`
    + `feDisplacementMap`
    + `feDistantLight`
    + `feFlood`
    + `feGaussianBlur`
    + `feImage`
    + `feMerge`, `feMergeNode`
    + `feMorphology`
    + `feOffset`
    + `fePointLight`
    + `feSpecularLighting`
    + `feTurbulence`
    + `feTile`
* `<a>` element handling in SVG has had several bugs fixed; see Firefox バグ 267664, Firefox バグ 268135, Firefox バグ 316248, Firefox バグ 317270 and Firefox バグ 320724.
* The SVG DOM Methods `getNumberOfChars()`, `getComputedTextLength()`, `getSubStringLength()`, `getStartPositionOfChar()`, `getEndPositionOfChar()`, `getRotationOfChar()`, and `getCharNumAtPosition()` have been implemented.
* `xml:space` 属性の実装 (仕様)
* fallback `fill`/`stroke` are now supported (spec)
* `em` and `ex` units are now supported for indicating lengths (Firefox バグ 305859).
関連情報
----

* SVG
* Firefox での SVG
* Firefox 3 for developers
Firefox 3 での DOM の改良
====================

Firefox 3 では、特に、他のブラウザーによる独自 DOM 拡張 のサポートに関するものを含む、多くの Document Object Model (DOM) 実装が追加されました。この記事は、これらの実装の一覧と詳細なドキュメントへのリンクを提供します。

* Internet Explorer の `clientTop` と `clientLeft` DOM 拡張がサポートされました。
* `window.fullScreen` プロパティは、たとえウェブコンテンツから読み出されても常に正確に計算されるようになりました。以前は不正確に `false` を返していたでしょう。(Firefox バグ 127013)
* `getClientRects` と `getBoundingClientRect` DOM 拡張がサポートされました。(Firefox バグ 174397 を参照)
* Internet Explorer の `elementFromPoint` DOM 拡張がサポートされました。 (Firefox バグ 199692)
* Internet Explorer の `oncut`、`oncopy`、 `onpaste` DOM 拡張がサポートされました (Firefox バグ 280959)。
* 特権コード限定のゲッター `Node.nodePrincipal`、`Node.baseURIObject`、`document.documentURIObject` が追加されました。Chrome コードは、(`XPCNativeWrapper` の `wrappedJSObject` などの) ラップされていないコンテンツオブジェクトに対して、これらのプロパティに触れては (取得または設定をしては) いけません。詳細は Firefox バグ 324464 を参照してください。
* Web Applications 1.0 (HTML5) の `getElementsByClassName()` DOM メソッドがサポートされました。
* Web Applications 1.0 (HTML5) の `window.postMessage` DOM メソッドがサポートされました。このメソッドは、制限された、同じドメインに限らないウィンドウ間でのクライアントサイド通信を行う選択フォームを可能にします。
* アクセラレーションキーが押された場合、`keypress` イベントの `charCode` の値は ASCII 文字に変更されます。それ以外の場合、 `charCode` はそのままの文字です (`Shift` 状態を除く)。Gecko Keypress Event を参照してください。
### 関連情報

* Firefox 3 for developers
* CSS improvements in Firefox 3
* DOM
Firefox 3 で修正された重要なバグ
=====================

この記事は、ドキュメントで必ずしも明白に説明されていない、Firefox 3 で修正された重要なバグの修正の一覧を提供します。

* オーバーレイをパース中にエラーが発生した場合、オーバーレイは適用されません。パースエラーがエラーコンソールへ記録されます。 (Firefox バグ 335755)
* バグが修正され、メニューやメニューに似た要素に対して適用された場合でもバインディングの内部に `<menupopup>` 要素を設置できるようになりました。(Firefox バグ 345896)
* ボタンの `dlgType` プロパティが正しく動作するようになりました。 (Firefox バグ 308591)
* `event.initEvent` の引数 `canBubble` が正しく動作するようになり、浮上しないイベントを発生させられるようになりました。 (Firefox バグ 330190)
* `DOMAttrModified` イベントが名前空間付きの属性を適切に処理するようになりました。 (Firefox バグ 362391)
* `<?xml-stylesheet ?>` のような XML 処理命令が、 XUL 文書の DOM へと追加されるようになりました。したがって、 `document.firstChild` が必ずしもルート要素であることを保証しないことになります。代わりに `document.documentElement` を使用してください。また、 `<?xml-stylesheet ?>` や `<?xul-overlay ?>` 処理命令は、文書の前置き以外の場所では効果を発揮しないようになりました。 (Firefox バグ 319654)
* XUL 要素や文書に対する `getElementsByAttributeNS()` 関数が追加されました。 (Firefox バグ 239976)
* XUL 文書から要素を移動したり削除したりしても、イベントリスナーが保持されます。 (Firefox バグ 286619)
* 変異イベントが非表示ドキュメントでも発生するようになりました。 (Firefox バグ 201236)
* 要素が間違った順番で描画されることによるさまざまな問題が修正されました。 (Firefox バグ 317375)
* `getElementsByTagName()` が、タグ名に名前空間接頭辞を含む要素を持つサブツリーにおいて正しく動作するように修正されました。 (Firefox バグ 206053).
* `DOMNodeInserted` および `DOMNodeRemoved` イベントが正しいノードに適用されるようになりました。 (Firefox バグ 367164).
* 正規表現の特殊文字である `\d` が Basic Latin アルファベットの数字（`[0-9]` と同じ）だけに一致するように修正されました。 (Firefox バグ 378738)
* image-sniffing-services カテゴリーにより、拡張機能として実装された画像デコーダーが正しくない MIME タイプで送られた画像を正しくデコードできるようになります（Firefox バグ 391667）。
* フォームコントロール上で右クリックしても、既定ではコンテキストメニューを表示しないようになりました (Firefox バグ 404536。この機能を個別に有効にする方法については、フォームコントロールにコンテキストメニューを提供するを参照してください。
### 関連情報

* Firefox 3 for developers
フルページズーム
========

フルページズーム (あるいは単にフルズーム) は Firefox 3 の新機能です。

### 例 (XUL:browser)

以下の例は、現在フォーカスがあたっているブラウザーウィンドウでの利用をデモしています。これは Firefox 拡張機能での典型的な利用方法です。


```js
var zoom = ZoomManager.getZoomForBrowser(gBrowser.selectedBrowser);
ZoomManager.enlarge();
ZoomManager.setZoomForBrowser(gBrowser.selectedBrowser, ZoomManager.MIN);
```

### 例 (XUL:iframe)

注: これはおそらく古いものです。

フルズーム機能を XUL:iframe でも同様に使用することができます。しかし、iframe には markupDocumentViewer プロパティがないため、最初に以下のようにする必要があります。


```js
var zoom = 1.5;
var iframe = document.getElementById("authorFrame");
var contViewer = iframe.docShell.contentViewer;
var docViewer = contViewer.QueryInterface(
  Components.interfaces.nsIMarkupDocumentViewer,
);
docViewer.fullZoom = zoom;
```

### 参考資料

* Ted Mielczarek による Page zoom extension fullpagezoom.xpi 最新の Firefox 3.0 ナイトリー用
* フルズームに関する bugzilla のバグ
* `nsIMarkupDocumentViewer` インターフェイスのドキュメント。
アドオンバー
======

Firefox 4 よりウィンドウの下部に新しいツールバーを実装する為、ブラウザウィンドウの下部からステータスバーが削除されます。この新しいツールバーは ID "addon-bar" を持った、標準の XUL `<toolbar>` です。アドオンはこのバーにコンテンツを挿入することが可能であり、また、ユーザーはツールバーのカスタマイズ中にボタンをアドオンバーにドラッグすることができます。これがアドオンバーと旧ステータスバーの間の主な相違点です。標準のツールバーであるため、どの XUL 要素でもアドオンバーに配置することができます。

**メモ:** 当面は、Firefox にはステータスバーが存在することを期待するアドオンがうまく動作するようにするためのシムが噛ませてあります。但しこれは一時的な措置であり、じきに削除されます。アドオンをアップデートしてください。

アドオンバーに要素を加える
-------------

アドオンバーは ID "addon-bar" を持つ XUL ツールバーです。次のコードは、一番最近使われたウィンドウを探し出し、XUL `<label>` 要素を用いて単に "Hello world!" のテキストを表示する新しいアイテムをアドオンバーに加えます。


```js
// 一番最近使われたウィンドウを探す

var mediator = Components.classes[
  "@mozilla.org/appshell/window-mediator;1"
].getService(Components.interfaces.nsIWindowMediator);
var doc = mediator.getMostRecentWindow("navigator:browser").document;

// そのウィンドウのアドオンバーを取得する
var addonBar = doc.getElementById("addon-bar");

// 新しいツールバーアイテムを構築する
var newItem = doc.createElement("toolbaritem");
var itemLabel = doc.createElement("label");

// アイテムをツールバーに追加しテキストラベルをセットする
newItem.appendChild(itemLabel);
addonBar.appendChild(newItem);
itemLabel.value = "Hello world!";
```


To add the button only once create a bool pref to check if it is the first run. For example:


```js
var firstrun = Services.prefs.getBoolPref("extensions.YOUREXT.firstrun");

var curVersion = "0.0.0";

if (firstrun) {
  Services.prefs.setBoolPref("extensions.YOUREXT.firstrun", false);
  Services.prefs.setCharPref("extensions.YOUREXT.installedVersion", curVersion);
  /\* Code related to firstrun \*/
} else {
  try {
    var installedVersion = Services.prefs.getCharPref(
      "extensions.YOUREXT.installedVersion",
    );
    if (curVersion > installedVersion) {
      Services.prefs.setCharPref(
        "extensions.YOUREXT.installedVersion",
        curVersion,
      );
      /\* Code related to upgrade \*/
    }
  } catch (ex) {
    /\* Code related to a reinstall \*/
  }
}
```

Firefox の各バージョンでのオーバーレイの使用方法
----------------------------

 Firefox 3.6 とそれ以前のバージョンとの互換性を保持したままアドオンバーのサポートを追加するには、2 つのオーバーレイを使用する必要があります。
 The chrome.manifest file can specify which file is used by which Firefox version by using manifest flags:
```

overlay chrome://browser/content/browser.xul chrome://myaddon/content/myaddon/overlayold.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion<4.0
overlay chrome://browser/content/browser.xul chrome://myaddon/content/myaddon/overlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion>=4.0
```


注記: the appversion has to be at least 2 digits long or it won't work with versions of Gecko before 1.8.0.13 and 1.8.1.5.

### デフォルトでボタンを追加

参照 : Adding a button by default

見た目の違い
------

* ブラウザーがステータス情報によりバー領域の大半を占拠することがなくなるので、すべての領域をアドオンが使えるようになります。
* 既定ではアドオンバーは空 (empty) であり、隠されています (hidden) 。ユーザーがこれを可視状態にするには、明示的にそうしなければなりません。
* 再起動不要のアドオンがアドオンバーに直接インストールされたとき、アドオンバーが可視でなければアドオンバーは自動的に可視になります。
* 再起動不要のアドオンがアンインストールされてアドオンバー内のアイテムの数がゼロになったときには、アドオンバーは自動的に隠されます。
関連情報
----

* Firefox 4 add-on bar for developers by Mike Kaply
Firefox の ICC カラーコレクション
=======================

色補正のサポートは Firefox 3 で導入されましたが、デフォルトでは無効になっています。これを有効にするには、about:config ウィンドウを少し修正する必要があります。 Firefox 3.5 では、以前のバージョンではデフォルトで無効になっていた問題が解決されました。現在 International Color Consortium (ICC) タグの画像は、デフォルトで色補正されています。

下の画像は 3 つのセクションに分割されています。 左上隅には、Firefox 2 でレンダリングされた画像が表示されます。右上隅には、Firefox 3 での画像のレンダリング方法が表示されます。下には、Photoshop でレンダリングされた画像が表示されます。

![iccsample.jpg](/ja/docs/Mozilla/Firefox/Releases/3.5/ICC_color_correction_in_Firefox/iccsample.jpg)

ご覧のように、Firefox 3 と Photoshop は埋め込まれた色補正プロファイルをサポートしているため、イメージを同じようにレンダリングします。 Firefox 2 はプロファイルを無視し、色が一致しません。

カラーコレクションの設定
------------

色補正は次のように、`gfx.color_management.mode`プリファレンスの値を設定することで制御できます。

| 値 | 詳細 |
| --- | --- |
| 0 | カラーマネジメントは無効 **(Firefox 3. のデフォルト)** |
| 1 | フルカラー管理 |
| 2 | タグづけされた画像のみカラーマネジメントを適用 **( Firefox 3.5. のデフォルト)** |

フルカラー管理とは、プラグインを除いて、Firefox でレンダリングされたすべての色が修正されたことを意味します。

### カラープロファイルの指定

`gfx.color_management.display_profile`環境設定の値を、使用するカラープロファイルへのパスに設定することによって、ハードウェアに使用する特定のカラープロファイルを指定することもできます。

カラープロファイルにパスが指定されていない場合、Firefox はオペレーティングシステムを照会し、設定されたカラープロファイルを使用します。

### デフォルトのレンダリングインテントの指定

さらに `gfx.color_management.rendering_intent` 環境設定の値を設定して、デフォルトのレンダリングインテントを指定することもできます。デフォルトでは、この値に-1 を指定しない限り、images で指定されたインテントは無視されます。

次の表に、使用可能な値を示します。

| 値 | 詳細 |
| --- | --- |
| -1 | 埋め込まれたインテントを使用する。 デフォルトでは、イメージの埋め込みインテントは無視されます。 |
| 0 | 知覚。 画像の色調範囲全体にわたって詳細を保持するように、画像をレンダリングするように Firefox に指示します。 典型的な場合、特に写真やその他の写真の場合、一般的な画像の表示に便利です。 |
| 1 | メディア相対比色。 これは、レンダリング媒体の白色点（表示画面など）が基準媒体の白色点にマッピングされるように、カラースペクトルを再スケーリングする。 これは、参照媒体より小さな色域を有する媒体にマッピングされた色に対して最も有用である。 |
| 2 | 飽和。 これは、色相の精度を保つことを犠牲にして、色の鮮やかさを維持する。 これは、チャートやダイアグラム、色調の正確な複製がそれほど重要ではないうちに、色が「ポップ」するその他のメディアに特に便利です。 |
| 3 | ICC-絶対比色分析。 これは、スポットカラーや、色域内の色を変更しないので、あるメディアを別のものでシミュレートする場合に最も便利です。 |

**メモ:** Firefox 3.5 では、perceptual、media-relative、および saturation のインテントがすべて同じようにレンダリングされます。

### 警告

Firefox 3.5 で導入された新しい QCMS カラーマネジメントシステムは、バージョン 4 ではなく、ICC カラープロファイルのバージョン 2 のみをサポートしています。画像が暗すぎることがあります。bug 488800 とICC version 4 profile test を参照してください。

関連情報
----

* So Many Colors (blog post)
* Firefox 3: Color profile support (blog post)
* Color Profiles in Firefox 3 (blog post)
* International Color Consortium
Firefox 1.5 に XUL アプリケーションを対応させる
================================

このページでは、Firefox 1.5 の変更点のうち、XUL アプリケーション開発者に影響するものについて、リストで示します。

### 仕様の変更

* ツリーウィジェット関連の変更点
* XUL JavaScript での国際文字サポート (拡張 (Extension)で使用する JavaScript に、非 ASCII 文字を含む場合のみ関係します)
* XMLHttpRequest の変更点
* Firefox 1.5 における XUL の変更点
* XPCNativeWrapper がデフォルトになりました。このため、1.0.x と比較して、いくつか挙動 (behavior)が変わっています。
* より簡単な Chrome Registration が採用されたことにより、contents.rdf は、非推奨 (deprecate)になりました。
* オーバーレイされたコンテキストメニュー関連:
 関数 gContextMenu.linkURL() は、gContextMenu.getLinkURL() に名称が変更され、linkURL は、プロパティに変更されました。後方互換性 (backwards-compatible)を確保するためには以下のようにしてください。
 url = 'getLinkURL' in gContextMenu ? gContextMenu.getLinkURL() : gContextMenu.linkURL();
### その他の情報

* nsIXULAppInfo を使用してアプリケーションのバージョンをチェックする方法
* MozillaZine
Firefox 2 のための拡張機能の更新
=====================

この記事は、 Firefox 2 で正しく動作するように拡張機能を更新したい開発者にとって有益な情報を提供します。

ステップ 1: インストール定義ファイルの更新
-----------------------

最初のステップ — ほとんどの拡張機能で唯一必要なこと — は、インストール定義ファイル install.rdf を更新し、Firefox 2 との互換性を持たせることです。

単純に、Firefox の最大互換バージョンを指示する行を探します (次のように Firefox 1.5 向けになっています)。
```

 <em:maxVersion>1.5.0.*</em:maxVersion>
```


これを変更して Firefox 2 と互換性を持たせます。
```

 <em:maxVersion>2.0.0.*</em:maxVersion>
```


そして、拡張機能を再インストールします。

ステップ 2: XUL オーバーレイの更新
---------------------

Firefox 2 はデフォルトのテーマに変更を加えています。さらに、一部のユーザインタフェース要素が変更、または移動されているため、あなたの拡張機能の XUL オーバーレイに依存する部分が影響を受けます。

拡張機能の XUL オーバーレイに影響する変更箇所について学ぶには、Firefox 2 におけるテーマの変更点の記事に目を通してください。

ステップ 3: テスト
-----------

公式にリリースする前に、必ず拡張機能を Firefox 2 上でテストしてください。最後にすることは、Firefox のリリース時に起こる問題報告のラッシュに、あなたの拡張機能の新バージョンが責任を持つことです。

ステップ 4: リリース
------------

http://addons.mozilla.org 上のあなたの拡張機能のエントリーを更新してください。ユーザが更新を見つけられるようになります。

さらに、あなたの拡張機能のインストール定義ファイルで `updateURL` を提供している場合は、必ず update manifest を更新し、Firefox が自動的に拡張機能の新バージョンを見つけられるようにしてください。こうすることによって、ユーザが Firefox 2 にアップグレードした後で最初にあなたの拡張機能を実行した時、新バージョンを自動的にインストールさせることができます。