Firefox 71 for Developers
=========================

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

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

### 開発者ツール

コンソール:

* コンソールの マルチラインモード をデフォルトで有効にしました。
* コンソールの設定項目が、新しい ツールバーの設定メニュー に統合されました (Firefox バグ 1523868)。

JavaScript デバッガー:

* インラインの変数プレビュー を有効にしました (Firefox バグ 1576679)。
* as is the ability to イベントのタイプによるフィルタリング (en-US) と同様に、イベントのログ記録 (en-US) が可能になりました (Firefox バグ 1110276)。
* デバッガーの新しい 一時停止のオーバーレイ を、設定項目 `devtools.debugger.features.overlay` を使用して無効化できるようになりました (Firefox バグ 1579768)。
* デバッガーを開く新しい キーボードショートカット が使用可能になりました: Linux/Windows では
 `Ctrl`
 +
 `Shift`
 +
 `Z`
 、macOS では
 `Cmd`
 +
 `Opt`
 +
 `Z`
 です (Firefox バグ 1583042)。
* DOM Mutation のブレークポイント で一時停止すると、ブレークポイントを持つ DOM ノードや (存在すれば) 追加/削除された子ノードを表示するようになりました (Firefox バグ 1576145)。
* 整形されたソース 内の位置が、整形した後やインスペクターの イベントリスナーのツールチップ からジャンプしたときも正確になりました (Firefox バグ 1500222)。

ネットワークモニター:

* Web sockets インスペクター (en-US) をデフォルトで有効化しました (Firefox バグ 1573805)。
* 要求/応答のボディ、ヘッダー、Cookie の 全文検索 が可能になりました。
* 読み込み時に 特定の URL をブロックする パターンを入力できるようになりました。
* タイミングタブ で、`Server-Timing` ヘッダーで送信したタイミングデータを表示するようになりました (Firefox バグ 1403051)。

インスペクター:

* 色の値を持つ CSS 変数の定義の隣に、色見本を表示するようになりました (Firefox バグ 1456167)。
* `:visited` のスタイルを CSS ルールビューで表示するようになりました (Firefox バグ 713106)。
### CSS

* CSS Grid Level 2 から値 subgrid を、`grid-template-columns` および `grid-template-rows` に追加しました (Firefox バグ 1580894)。
* 段組みレイアウト で `column-span` をサポートしました (Firefox バグ 1426010)。
* `clip-path` で `path()` の値をサポートしました (Firefox バグ 1488530)。
* `<img>` 要素の `height` および `width` HTML 属性を、内部の `aspect-ratio` プロパティにマッピングしました (Firefox バグ 1585637)。この機能について、MDN のガイドをご覧ください。

#### 廃止

* CSS Radial Gradients が、負の値の半径を受け入れないようになりました (Firefox バグ 1583736)。サイト互換性情報の記事 をご覧ください。
### JavaScript

* `Promise.allSettled()` メソッドをサポートしました (Firefox バグ 1549176)。このメソッドは、先のコードを実行する前に promise のセットに含まれるすべての promise が解決または拒否されるまで待つことを容易にします。

#### 廃止

* Array の非標準のジェネリックメソッドを、Firefox 71 で削除しました (Firefox バグ 1222547)。これらは始めに Firefox 1.5 (JavaScript 1.6) で導入されて、Firefox 68 から非推奨になりました。配列状のオブジェクトで Array のジェネリックメソッドを使用している場合は、`Array.from()` を使用してオブジェクトを適切な配列に変換して、標準のメソッドを使用するようにしてください。
### MathML

* MathML 要素 が MathML DOM を実装しました。クラスは `MathMLElement` (en-US) です。例えば適切な MathML DOM と、`mathmlEl.style`、グローバルイベントハンドラーを使用できます。従来は MathML 要素が `Element` クラスのみ実装していました (Firefox バグ 1571487)。
### API

#### 新規 API

Media Session API を部分的に実装しました。この API は、メディアの再生状態に関するオペレーティングシステムの情報をコンテンツと共有するための標準的な仕組みを提供します。これはアーティスト、アルバム、トラック名、あるいはアルバムのアートワークといったメタデータを含みます (Firefox バグ 1580602)。

またこの API は、デバイスのメディア操作 (再生、停止、シークボタンなど) がユーザーによって行われたときに通知を受ける手段も提供します。このために `MediaSession` インターフェイスを部分的に実装して、現在再生しているメディアのメタデータを設定および取得する機能や `setActionHandler()` メソッドをサポートしました。`MediaSession` API へアクセスするには、`navigator.mediaSession` プロパティを使用してください。

#### DOM

* `StaticRange()` コンストラクターをサポートしました (Firefox バグ 1575980)。
* MathML の `MathMLElement` (en-US) インターフェイスを実装しました (Firefox バグ 1571487)。

#### メディア、Web Audio、WebRTC

* `MediaRecorder` インターフェイスに `audioBitsPerSecond` および `videoBitsPerSecond` プロパティを実装しました (Firefox バグ 1514158)。

#### Canvas と WebGL

* `OVR_multiview2` (en-US) および `OES_fbo_render_mipmap` (en-US) WebGL 拡張をデフォルトで公開しました (Firefox バグ 1584277, Firefox バグ 1583878)。

#### 廃止

`DataTransfer` の、非標準のメンバーを削除しました (Firefox バグ 1345192):

* `DataTransfer.mozItemCount`
* `DataTransfer.mozClearDataAt()`
* `DataTransfer.mozGetDataAt()`
* `DataTransfer.mozSetDataAt()`
* `DataTransfer.mozTypesAt()`
### WebDriver conformance (Marionette)

* `WebDriver:TakeScreenshot` および `WebDriver:TakeElementScreenshot` コマンドを、未処理のプロンプトの動作設定を尊重するように更新しました (Firefox バグ 1584927)。
* `Marionette:Quit` コマンドを、Firefox 以外の Gecko 駆動アプリケーションも終了または再起動できるように更新しました (Firefox バグ 1298921)。
* Android の GeckoView ベースブラウザーで、セッション機能で返される `browserName` が常に `firefox` になります (Firefox バグ 1587364)。
アドオン開発者向けの変更点
-------------

### API の変更点

* `downloads.download` が、以下の HTTP レスポンスコードをエラーとして識別および報告するようになりました:
    + 404 で `SERVER_BAD_CONTENT` を返します
    + 403 で `SERVER_FORBIDDEN` を返します
    + 402 および Proxy 407 で `SERVER_UNAUTHORIZED` を返します
    + 上記以外の 400 で `SERVER_FAILED` を返します (Firefox バグ 1576333)。
* `downloads.download` の省略可能な `options` 引数に、`allowHttpErrors` プロパティを含むようになりました。この `boolean` フラグを `true` に設定すると、HTTP エラーが発生した後もダウンロードを続けることができます。`false` に設定すると HTTP エラーが発生した際にダウンロードをキャンセルします。既定値は `false` です (Firefox バグ 1578955)。

#### 廃止

* `proxy.register()` (en-US) および `proxy.unregister()` (en-US) 関数を削除しました (Firefox バグ 1443259)。要求のプロキシ使用を制御するには `proxy.onRequest` (en-US) を使用してください。
関連情報
----

* Hacks ブログのリリース記事: Firefox 71: A year-end arrival
過去のバージョン
--------

* 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 60 for developers
* Firefox 59 for developers
* Firefox 58 for developers
* Firefox 57 for developers
* Firefox 56 for developers
* Firefox 55 for developers
* Firefox 54 for developers
* Firefox 53 for developers
* Firefox 52 for developers
* Firefox 51 for developers
* Firefox 50 for developers
* Firefox 49 for developers
* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers
* Firefox 43 for developers
* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers