Firefox 36 for developers
=========================

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

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

### 開発者ツール

ハイライト:

* eval で評価されるソースをデバッガーで表示
* Android 版 Firefox への接続手順を簡素化
* リモートでボックスモデルのハイライト表示が動作
* プロファイラの "呼び出しツリーを反転" オプション
* コンソールで DOM Promise を調査
* インスペクタで "貼り付け" 方法を追加

Firefox 35 から Firefox 36 の間に解決した開発ツール関連のバグ一覧

### CSS

* `will-change` プロパティをデフォルトで有効にしました (Firefox バグ 961871)。
* `white-space` プロパティが `<textarea>` HTML 要素で動作するようになりました (Firefox バグ 82711)。
* `@font-face` で `unicode-range` ディスクリプターをサポートしました (Firefox バグ 475891)。ただし、デフォルトで無効です。
* `text-decoration-color`、`text-decoration-line`、`text-decoration-style` の各プロパティの接頭辞を削除しました (Firefox バグ 825004)。接頭辞つきのプロパティも、移行をスムーズにするためしばらく使用可能です (Firefox バグ 1097922)。
* `text-decoration` プロパティを、短縮プロパティに変更しました (Firefox バグ 1039488)。
* `object-fit` プロパティおよび `object-position` プロパティをサポートしました (Firefox バグ 624647)。
* `display` プロパティの値 `contents` を実験的に実装しました。デフォルトで無効に設定しています (Firefox バグ 907396)。
* Quirks モードで、`:active` および `:hover` の Quirk の適用対象を削減しました。リンクにのみ、および要素内に擬似要素や他の擬似クラスがない場合や擬似クラスの要素の一部ではない場合に限り適用されます (Firefox バグ 783213)。
* `isolation` プロパティを実装しました (Firefox バグ 1077872)。
* CSS の `<gradient>` が乗算済み色に適用されるようになり、仕様書や他ブラウザと合致しました。また、途中に予期しない灰色が現れないようになりました (Firefox バグ 591600)。
* `<gradient>` に、補間法のヒントを与える構文を追加しました (Firefox バグ 1074056)。
* `scroll-behavior` プロパティを実装しました (Firefox バグ 1010538)。
### HTML

* `<meta name="referrer">` をサポートしました (Firefox バグ 704320)。
* Firefox では `<input>` 要素の `accept` 属性で指定したフィルタが未知の値、すなわち未知の MIME タイプや不正な形式の値でない限り、常にデフォルトで選択されるようになりました。以前は `image/*`、`video/*`、`audio/*` が指定された場合に限り、デフォルトで選択されていました (Firefox バグ 826185)。
### JavaScript

* ECMAScript 6 の Symbol データ型をデフォルトで有効にしました (Firefox 33 より、Nightly チャンネルでは使用できていました) (Firefox バグ 1066322):
    + `Symbol`
    + `Symbol.for()`
    + `Symbol.keyFor()`
    + `Object.getOwnPropertySymbols()`
* イテレート可能 (en-US)なインターフェイスのプロパティキーのための、旧来のプレースホルダ文字列である `"@@iterator"` を、ES6 で周知のシンボルである `Symbol.iterator` に置き換えました (Firefox バグ 918828)。
* 仕様内部の抽象的な演算である `ToNumber(string)` で 2 進 (`0b`) および 8 進 (`0o`) リテラルをサポートしました。これは潜在的に、ES5 からの破壊的な変更になります (Firefox バグ 1079120)。
    + `Number("0b11")` は、`NaN` ではなく `3` を返します。
    + `"0o11" == 9` は、`false` ではなく `true` を返します。
* `const` 宣言はブロックスコープが設定されるようになりました。また、初期化子が必要になりました (Firefox バグ 611388)。さらに、再宣言が不可になりました (Firefox バグ 1095439)。
    + `{const a=1}; a;` は `1` が返らずに `ReferenceError` が発生します。これはブロックスコープがあるためです。
    + `const a;` は `SyntaxError` ("missing = in const declaration") が発生します。初期化子が必要です。
    + `const a = 1; a = 2;` は `SyntaxError` ("invalid assignment to const a") が発生します。
* ES7 の `Array.prototype.includes` メソッドを実装しました。ただし、現在は Nightly ビルドのみで有効です (Firefox バグ 1069063)。
* `let` および `const` とともに `delete` 演算子を使用すると、「一時的なデッドゾーン」が発生するようになりました (Firefox バグ 1074571)。
* 非標準の `let` ブロックおよび `let` 式は非推奨になり、コンソールに警告が表示されます。将来削除する予定であるため、今後は使用しないようにしてください。
* WeakMap コンストラクタで、省略可能な引数 iterable を扱うようになりました (Firefox バグ 1092537)。
### インターフェイス/API/DOM

* Canvas API の `CanvasRenderingContext2D.resetTransform()` (en-US) メソッドを実装しました (Firefox バグ 1099148)。
* Web Crypto API で ECDSA をサポートしました (Firefox バグ 1034854)。
* WebGL 2.0 の実験的な実装を進めています!
    + `WebGLQuery` (en-US) インターフェイスが利用可能になりました (Firefox バグ 1048719)。
    + `WebGL2RenderingContext.invalidateFrameBuffer()` (en-US) メソッドを実装しました (Firefox バグ 1076456)。
* `Promise` ベースの `getUserMedia()` を持つ、`MediaDevices` インターフェイスを追加しました。`Navigator.mediaDevices` を通して使用できます (Firefox バグ 1033885)。
* EME 関連の `Navigator.requestMediaKeySystemAccess()` (en-US) メソッドおよび `MediaKeySystemAccess` (en-US) をサポートしました (Firefox バグ 1095257)。
* セッション中で EME 関連の CDM が鍵情報を変更したときに、`keyschange` (en-US) イベントが発生するようになりました (Firefox バグ 1081755)。
* バーチャルリアリティデバイスを、設定項目 `dom.vr.enabled` の元で実験的にサポートしました。既定では無効です (Firefox バグ 1036604)。
* 仕様書に基づき `RTCPeerConnection.onsignalingstatechange` (en-US) に関連づけられた関数は、イベントをパラメータとして受け取るようになりました (Firefox バグ 1075133)。
* Web Animations の実験的な実装を続けています。メソッド `AnimationPlayer.play()`、`AnimationPlayer.pause()` (Firefox バグ 1070745) および `AnimationPlayer.playState` (en-US) (Firefox バグ 1037321) をサポートしました。
* 非標準の `DOMRequest` インターフェイスが `DOMRequest.then()` メソッドを持つようになりました (Firefox バグ 839838)。
* CSSOM View のスクロール動作を制御するメソッドである `Element.scroll()`、`Element.scrollTo()`、`Element.scrollBy()`、`Element.scrollIntoView()` を実装または拡張しました (Firefox バグ 1045754 および Firefox バグ 1087559)。
* `SVGElement` に `Element.innerHTML` を割り当ていると、SVG ネームスペース内に要素を作成するようになりました (Firefox バグ 886390)。
* `nsIWebBrowserPersist.saveURI()` メソッドは、以前のリリースとは互換性のない順序で 8 個の引数が必要になりました。
* Media Source Extensions (MSE) を、non-build 版 (Nightly および Developer Edition ) ではデフォルトで有効にしました (Firefox バグ 1000686)。Beta および Release では、引き続き無効です。
### MathML

*変更なし。*

### SVG

*変更なし。*

### Audio/Video

*変更なし。*

ネットワーク
------

* SPDY/3 のサポートを廃止しました。SPDY/3.1 は引き続き使用可能です (Firefox バグ 1097944)。
セキュリティ
------

* RC4 は安全でないとみなすようになり、すべての UI インジケータがそのように対応します。また SSLv3 は Firefox 34 からデフォルトで無効になっていますが、何が起きているかをユーザが理解しやすくなるように UI を変更しました (Firefox バグ 1093595)。
* TLS の初期ハンドシェイクで RC4 を提示しないようになりました (Firefox バグ 1088915)。
* CSP 1.1 の `form-action` ディレクティブをサポートしました (Firefox バグ 529697)。
* Firefox のオプションで、Do not track (en-US) の設定ウィジェットを有効/無効の切り替えに戻しました (Firefox バグ 1071747)。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### Add-on SDK

#### ハイライト

* `sdk/test/httpd` モジュールを Firefox 36 で削除しました。代わりに addon-httpd npm モジュールを使用してください。
* `sdk/ui` ボタンにバッジを付加できます (Firefox バグ 994280)。
* どこででも sdk モジュールにアクセスできるグローバル関数 `require` を実装しました (Firefox バグ 1070927)。使用方法は以下のとおりです。

```js
var { require } = Cu.import(
  "resource://gre/modules/commonjs/toolkit/require.js",
  {},
);
```


#### 詳細

Firefox 35 から Firefox 36 の間に行われた GitHub コミット。

### JavaScript コードモジュール

* `PromiseUtils.resolveOrTimeout` を実装しました (Firefox バグ 1080466)。
* `PromiseUtils.defer` (`Promise.defer()` を置き換えるもの) を実装しました (Firefox バグ 1093021)。
### インターフェイス

#### nsIContentPolicy

新しい定数が `nsIContentPolicy` に追加され、Gecko 内部とアドオンコードが異なる型のリクエストをより良く区別することができるようになりました。これらは次の通りです。

`TYPE_FETCH`

`fetch()` メソッドによって開始された、コンテンツの読み込みリクエストを示す。

`TYPE_IMAGESET`

`<img>` (`srcset` 属性または `<picture>` 要素を読み込むリクエストを示す。

### XUL

*変更なし。*

### その他

* Firefox の `-remote` コマンドラインオプション (en-US)を廃止しました (Firefox バグ 1080319)。
過去のバージョン
--------

* Firefox 35 for developers
* Firefox 34 for developers
* Firefox 33 for developers
* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers
* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* 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