Firefox 20 for developers
=========================

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

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

### HTML

* `<a>` 要素および `<area>` 要素で `download` 属性をサポートしました (Firefox バグ 676619)。
* グローバル属性 `dir` の値 `auto`を実装しました (Firefox バグ 548206)。
### JavaScript

* Harmony (EcmaScript 6) の試案に最近追加された、`Weakmap.prototype.clear()` メソッドをサポートしました (Firefox バグ 814562)。
* C 言語スタイルの乗算関数である `Math.imul()` メソッドをサポートしました。ただし Harmony (EcmaScript 6) への提案はまだ受け入れられておらず、現在は非標準です (Firefox バグ 808148)。
* Kinetic 3.x と共にドラッグ可能なテキストを使用している Web アプリが、Canvas バックエンドとして Cairo を使用している場合でも動作するようになりました。(Firefox バグ 835064)
* for each...in 文は非推奨になりましたので、使用するべきではありません。新たに for...of (en-US) 文の使用を検討してください (Firefox バグ 804834)。
### CSS

* CSS Flexbox がデフォルトで、プレリリースビルドのみ (Beta を除く) で利用可能になりました。Release ビルドでは、about:config で設定を変更することで利用できます。
* CSS Masking specification より、`mask-type` プロパティをサポートしました (Firefox バグ 793617)。
### DOM

* `HTMLMediaElement` で `playbackRate` プロパティを (読み取り・書き込みともに)、ピッチ補正と合わせてサポートしました。ピッチ補正は `mozPreservesPitch` プロパティを使用して制御できます (Firefox バグ 495040)。
* CSSOM: 新たに `CSSGroupingRule` および `CSSConditionRule` をサポートしました (Firefox バグ 814907)。
* CSSOM: `CSSRule` で、定数 `CSSRule.MOZ_KEYFRAME_RULE` および `CSSRule.MOZ_KEYFRAMES_RULE` の接頭辞が外れて `CSSRule.KEYFRAME_RULE` および `CSSRule.KEYFRAMES_RULE` になりました。接頭辞つきのものは Web 開発者によるコードの移行を支援するため、一時的に維持されています Firefox バグ 816431)。
* CSSOM: `CSSMediaRule` に `conditionText` の値を設定することが可能になりました (Firefox バグ 815021)。
* `DOMParser` の `parseFromStream` メソッドおよび `parseFromBuffer` メソッドは、Web Content から使用できなくなりました (Firefox バグ 816410)。
* `XMLSerializer` の `serializeToStream` メソッドは、Web Content から使用できなくなりました (Firefox バグ 816410)。
* `TextDecoder` インタフェースおよび `TextEncoder` インタフェースが、Worker で利用可能になりました (Firefox バグ 795542)。
* `CSS.supports()` メソッドをサポートしました (Firefox バグ 779917)。
* UndoManager をサポートしました (Firefox バグ 617532)。
* CSSOM で、`CaretPosition` を返す `document.caretPositionFromPoint` メソッドを実装しました。
* `tableRow.insertCell` メソッドおよび `table.insertRow` メソッドの引数 index は、HTML 仕様書のとおり省略可能になりました。
### MathML

* MathML の記述者がドキュメントの "不正なマークアップ" エラーをデバッグすることを支援するため、MathML のパースエラー (子要素が過剰 / 不足など) や、非推奨の属性や誤った属性値の警告をエラーコンソールに表示するようになりました。
* `scriptminsize` 属性が単位のない値やパーセント値を受け入れるようになりました。これらは、既定値 ("8pt") に対する倍数として解釈されます。
* 単位のない値は、`mathsize` 属性および `fontsize` 属性も受け入れます。これらの値は既定値に掛けられます。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

* ECMAScript for XML (E4X) はすべての chrome および content のスクリプトで無効になりました。content では先に Firefox 17 で無効にしており、Firefox 21 では完全に削除されます。代わりに DOMParser/DOMSerializer または非ネイティブの JXON アルゴリズムを使用してください。
* `nsIDOMParserJS` インタフェースを削除しました (Firefox バグ 816410)。代替として `nsIDOMParser` をご覧ください。
* Content Preferences: `nsIContentPrefService` インタフェースは非推奨になり、非同期の `nsIContentPrefService2` storage API を実装しました。
関連情報
----

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

* 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