Firefox 74 for developers
=========================

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

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

### 開発者ツール

#### ウェブコンソール

* `$x()` ウェブコンソールヘルパー の第 3 引数 (結果の型) が、`XPathResult` 定数 と同様に単純な文字列値を受け入れるようになりました (Firefox バグ 1602591)。
* コンソールのオートコンプリートでも使用可能な、optional chaining 演算子 "?." を新たにサポートしました (Firefox バグ 1594009)。
* デバッガーで 入れ子の worker を調査およびデバッグできるようになりました (Firefox バグ 1590766)。
### HTML

*変更なし。*

### CSS

* `text-underline-position` をデフォルトで有効にしました (Firefox バグ 1606997)。
* `text-underline-offset` および `text-decoration-thickness` プロパティがパーセンテージの値を受け入れるようになりました (Firefox バグ 1607534)。
* `outline-style` プロパティの値 `auto` をデフォルトで有効にしました (Firefox バグ 1031664)。

#### 廃止

* `-moz-` 接頭辞がついた マルチカラムレイアウト 関連のプロパティを削除しました (Firefox バグ 1308636)。詳しくは Firefox サイト互換性情報をご覧ください。
### SVG

*変更なし。*

### JavaScript

* Optional chaining operator を実装しました (Firefox バグ 1566143)。
* JavaScript URL (`javascript:`) を評価した結果が文字列であるとき、この文字列は HTML 文書を生成するように解析され、そして表示されます。以前は文書の URL (例えば `document.location` プロパティで報告されます) が元々の `javascript:` URL でした。これが `javascript:` URL を評価した結果の、文書の URL を正しく表すようになりました (Firefox バグ 836567)。

#### 廃止

* `Object.toSource()` メソッドおよび `uneval()` グローバル関数が、ウェブコンテンツや拡張機能で使用できなくなりました (Firefox バグ 1565170)。
### API

#### DOM

* `IDBTransaction.commit()` メソッドを実装しました (Firefox バグ 1497007)。

#### DOM イベント

* Firefox 74 で `languagechange_event` イベントと、対応するイベントハンドラープロパティの `onlanguagechange` (en-US) をサポートしました。これはユーザーが希望する言語を変更したときに発生します (Firefox バグ 1154779)。これは過去に Firefox 3.5 からサポートしていると 互換性データベース に記載されていましたが、誤っていました。

#### Canvas と WebGL

* `TextMetrics` (en-US) インターフェイスを、実際のバウンディングボックスを測定する 4 つのプロパティ (`actualBoundingBoxLeft` (en-US)、`actualBoundingBoxRight` (en-US)、`actualBoundingBoxAscent` (en-US)、`actualBoundingBoxDescent` (en-US)) を持つように拡張しました。テキストメトリクスは `CanvasRenderingContext2D.measureText()` メソッドを使用して取得できます (Firefox バグ 1102584)。

#### 廃止

* `IDBDatabase.createMutableFile()` メソッド (非標準) が支持されているため、同じく非標準の `IDBDatabase.mozCreateFileHandle()` メソッドを削除しました (Firefox バグ 1024312)。
* 非標準の `IDBMutableFile.getFile()` メソッドを削除しました (Firefox バグ 1607791)。
* `HTMLCanvasElement` の非標準メソッドである `mozGetAsFile()` (en-US) を削除しました。これは数年前から非推奨でした (Firefox バグ 1588980)。
* `FetchEvent` の `isReload` プロパティを、Firefox および仕様書から削除しました (Firefox バグ 1264175)。
### HTTP

* Feature Policy をデフォルトで有効にしました! フレームの許可を設定するには `<iframe>` 要素の `allow` 属性 (および `HTMLIFrameElement` の `allow` プロパティ) を使用してください (Firefox バグ 1617219)。
* `Cross-Origin-Resource-Policy` ヘッダーをデフォルトで有効にしました (Firefox バグ 1602363)。
### セキュリティ

* TLS 1.0 および 1.1 のサポートを Firefox から削除しました。今後はサーバーで TLS 1.2 または 1.3 をサポートすることが必要です。今後は古いバージョンの TLS を使用するサーバーに接続すると、Secure Connection Failed エラーが発生します (Firefox バグ 1606734)。
* Firefox 74 から、サイトが `allow` 属性を使用して `<iframe>` 内の埋め込みコンテンツにリソースへのアクセス許可を与えて、埋め込まれたページがそのリソースの使用許可を要求したとき、埋め込まれたドメインにリソースの使用許可や共有許可を与えるかを、外側のページと内側のページの両方が許可を確認するのではなく、親ページがユーザーへ確認するようになりました。外側のぺーが `allow` 属性で要求された許可を得ていない場合は、`<iframe>` がユーザーへ確認することなく直ちにアクセスを拒否されます (Firefox バグ 1483631)。
### プラグイン

*変更なし。*

### WebDriver conformance (Marionette)

* カレントページを PDF 文書として印刷する `WebDriver:Print` を追加しました (Firefox バグ 1604506)。
* `Webdriver:TakeScreenshot` が、キャプチャーする要素が指定されていない場合に現在選択されているブラウジングコンテキストではなく、常にトップレベルのブラウジングコンテキストをキャプチャーするようになりました (Firefox バグ 1398087, Firefox バグ 1606794)。
* `Webdriver:TakeScreenshot` の `full` 引数を使用すると、ページ全体をキャプチャーします (Firefox バグ 1571424)。
アドオン開発者向けの変更点
-------------

### API の変更点

* `Commands.update` (en-US) の `shortcut` に空文字列を渡すと、ショートカットキーを未割り当てにできるようになりました (Firefox バグ 1475043)。
* `webrequest` のそれぞれのイベントで、`details` の一部として `urlclassification` が返るようになりました。これは、要求がフィンガープリンティングやトラッキングに分類されるかの情報を提供します (Firefox バグ 1589494)。
### マニフェストの変更点

*変更なし。*

関連情報
----

* Hacks ブログの記事: Security means more with Firefox 74
過去のバージョン
--------

* 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 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