Firefox 43 for developers
=========================

Firefox 43 は、米国時間 2015 年 12 月 15 日にリリースされました。この記事では、ウェブ開発者だけでなく、 Firefox や Gecko の開発者、アドオン開発者にとっても有用な主な変更点を挙げています。

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

### 開発者ツール

ハイライト:

* ウェブコンソールでサーバ側のログを記録
* CSS 宣言をオーバーライドしたルールをすばやく見つける
* インスペクタのコンテキストメニュー項目 "Use in Console"
* ルールビューで "厳密に" フィルタリング
* コンソールのネットワーク項目にネットワークモニターへのリンクを追加
* マークアップビューで、擬似クラスを強制的に適用していることを示すインジケータを表示
* WebIDE の新たなサイドバー UI

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

### CSS

* 接頭辞がない標準仕様の `hyphens` をサポートしました (Firefox バグ 953408)。
* `font` 一括指定プロパティを、`font-stretch` の値を受け入れるように更新しました (Firefox バグ 1057680)。
* 最新の仕様の更新に合致するよう、`:fullscreen` 擬似クラスはフルスクリーン時に、トップレベル要素だけでなく要素の集合全体を選択するようになりました (Firefox バグ 1199522)。
* `writing-mode` において非推奨な SVG 向けの値である `lr`、`lr-tb`、`rl`、`tb`、`tb-rl` を、標準プロパティのエイリアスとして CSS に追加しました (Firefox バグ 1205787)。
### HTML

* 複数のフレームを持つ ICO 画像を指定した `<img>` 要素で、画像固有の寸法は最小フレームではなく最大フレームの寸法を設定するようになりました (Firefox バグ 1201796)。
* ドキュメントのビューポートの値 (`<meta name="viewport>` で定義) を、JavaScript で動的に変更できるようになりました (Firefox バグ 976616)。
### JavaScript

#### 新規 API

* ES2016 の新規メソッドである `Array.prototype.includes()` および `TypedArray.prototype.includes()` を、デフォルトで有効にしました (Firefox バグ 1070767)。

#### `arguments` オブジェクトに関する変更点

* ES2015 仕様に合致するよう、アロー関数 は自身の `arguments` オブジェクトを持たないようになりました。`arguments` オブジェクトは Lexical にバインドされます (外側の関数から継承)。たいていの場合、残余引数 が `(...args) => args[i]` のよい代替になります。Firefox バグ 889158 をご覧ください。
* arguments オブジェクトは、残余引数 と共に使用できるようになりました (Firefox バグ 1133298)。
* 厳格モードではない関数にマップされた `arguments` オブジェクトは、関数が残余引数、デフォルト引数、分割引数 のいずれも**含まない**場合に限り提供されるようになりました (Firefox バグ 1175394)。

#### その他の変更点

* ジェネレーターおよびジェネレーターメソッドは、ES2016/ES7 に従ってコンストラクタブルではなくなりました (Firefox バグ 1191486)。
### インターフェイス/API/DOM

#### DOM & HTML DOM

*変更なし。*

#### IndexedDB

* ロケールを明示したインデックスの作成を可能にする、Locale-aware Sorting と呼ばれる新機能を追加しました。ロケールの規則に従ってデータをソートするために使用できます (Firefox バグ 871846)。これは、非標準の Firefox 独自機能です。

#### サービスワーカー

* 仕様に従い、`ExtendableEvent.waitUntil()` が `ExtendableEvent` ハンドラーの外部で呼び出された場合に、Firefox は `InvalidStateError` を発生するようになりました。加えて、複数回呼び出した `waitUntil()` は積み上げられ、結果的に promise は Extend Lifetime Promises のリストに追加されます (Firefox バグ 1180274)。
* `PushMessageData` メソッドを実装しました (Firefox バグ 1149195)。

#### WebRTC

* `HTMLCanvasElement.captureStream()` メソッドを、デフォルトで有効にしました (Firefox バグ 1177276)。
* `RTCOfferOptions` の、非標準である制約的なオプションリストを非推奨にしました。これは Firefox 44 で完全に削除する予定です。

#### その他

* Battery Status API で、最近更新された仕様で指定された `Navigator.getBattery()` 向けの Promise 構文を使用するようになりました (Firefox バグ 1050749)。
* `User-Agent` ヘッダが forbidden header names のリストから外れましたので、XHR の `XMLHttpRequest.setRequestHeader()` などで、Fetch `Headers` オブジェクトを設定できるようになりました (Firefox バグ 1188932)。
* `MediaRecorder.MediaRecorder()` コンストラクタが options Dictionary を引数としてサポートしました。記録するオーディオ/ビデオのビットレートを設定できます (Firefox バグ 1161276)。
* Performance Timeline API の `PerformanceObserver` インターフェイスを実装しました (Firefox バグ 1165796)。
* Frame Timing API を追加しました。`PerformanceRenderTiming` および `PerformanceCompositeTiming` インターフェイスを使用できます (Firefox バグ 1191178)。
* 最新の 画面方向 API を実装しました。接頭辞がない `Screen.orientation` および `ScreenOrientation` インターフェイスを使用できます (Firefox バグ 1131470)。非標準の `Screen.mozOrientation`、`Screen.onmozorientationchange`、`Screen.mozLockOrientation()`、`Screen.mozUnlockOrientation()` は将来削除する予定です。
* Linux 環境で、Windows 環境と同様に `Event.timeStamp` が `DOMHighResTimeStamp` を返すようになりました (Firefox バグ 1026803)。
* `Document.onselectionchange`、`GlobalEventHandlers.onselectstart` (en-US) イベントハンドラープロパティおよび `Selection` イベント `selectionchange`、`selectstart` を実験的にサポートしました (Firefox バグ 571294)。`selectionchange` イベントは、関連付けられた `Selection` オブジェクトが関与している場合に `Document` または特定の `HTMLInputElement` や `HTMLTextAreaElement` で発生します (Firefox バグ 1196479)。この機能は設定項目 `dom.select_events.enabled` で制御しており、既定値は Nightly を除き `false` です。
* Android 版 Firefox および Firefox OS で、`MouseEvent.offsetX` および `MouseEvent.offsetY` のサポートを有効化しました (Firefox バグ 1204841)。
* `HTMLCanvasElement.mozFetchAsStream()` メソッドを削除しました (Firefox バグ 1206030)。
* `Request()` コンストラクタは `fetch()` (en-US) と同様に、ユーザ名やパスワードを含む URL を使用した場合に `TypeError` 例外が発生するようになりました (Firefox バグ 1195820)。
### MathML

*変更なし。*

### SVG

*変更なし。*

### Audio/Video<

*変更なし。*

HTTP
----

*変更なし。*

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

*変更なし。*

セキュリティ
------

* サードパーティの iframe から Web Storage (すなわち `localStorage` および `sessionStorage`) へのアクセスは、ユーザがサードパーティ Cookie を禁止している場合に拒否されるようになりました (Firefox バグ 536509)。
* ホワイトリストを Nightly および Aurora/Dev Edition 版のブラウザーで削除しました (Firefox バグ 1201023)。現状では、次のバージョン (Firefox 44) の Beta および Release 版でもホワイトリストを削除する予定です。
* `<script>` およびスタイルシートにリンクする `<link>` に、Subresource integrity を実装しました (Firefox バグ 992096)。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### インターフェイス

*変更なし。*

### XUL

*変更なし。*

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

*変更なし。*

### XPCOM

*変更なし。*

### プラグイン

* content をマルチプロセスに切り替える将来のリリースへの準備として、NPAPI プラグインをページ content と同じプロセスで実行できなくなりました。`dom.ipc.plugins` から始まる設定項目は使用しません。
### その他

*変更なし。*

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

* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers
* Firefox 39 for developers
* Firefox 38 for developers
* Firefox 37 for developers
* Firefox 36 for developers
* 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