Firefox 58 for developers
=========================

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

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

### 開発者ツール

* `clip-path` で生成したシェイプ用の シェイプパスエディター を、既定で有効にしました (Firefox バグ 1405339)。
* ネットワークモニター に、ネットワーク通信の記録を停止/再開する ボタンを追加しました (Firefox バグ 1005755)。
* ネットワークモニター で "Flash" フィルターボタンが使用できなくなりました。Flash の要求は "その他" フィルターに含まれます (Firefox バグ 1413540)。
* 古いレスポンシブデザインモード (Firefox 52 より前のバージョンで、デフォルトで有効でした) のコードを、開発ツールから削除しました (Firefox バグ 1305777)。新しいツールの情報は レスポンシブデザインモード で確認してください。
* ページインスペクターの CSS ペインから、MDN のドキュメントを参照する機能を削除しました (バージョン 55 から無効化していました。Firefox バグ 1382171)。
### HTML

*変更なし。*

### CSS

* `font-display` ディスクリプターを、すべてのプラットフォームにおいてデフォルトで有効にしました (Firefox バグ 1317445)。
### SVG

*変更なし。*

### JavaScript

* `Promise.prototype.finally()` メソッドを実装しました (Firefox バグ 1019116)。
* `Intl.PluralRules` オブジェクトを実装しました (Firefox バグ 1403318)。
* `Intl.NumberFormat.prototype.formatToParts()` メソッドを実装しました (Firefox バグ 1403319)。
* `Intl.DateTimeFormat` オブジェクトで `hourCycle` オプションと `hc` 言語タグをサポートしました (Firefox バグ 1386146)。
* optional catch binding 提案 を実装しました (Firefox バグ 1380881)。
### API

#### 新規 API

* `PerformanceNavigationTiming` API を実装しました (Firefox バグ 1263722)。
    + 必要に応じてこのインターフェイスを無効化できる設定項目 `dom.enable_performance_navigation_timing` (既定値は `true`) を Gecko に追加しました (Firefox バグ 1403926)。

#### DOM

* いくつかの API において、error オブジェクトで報告されるエラー (例えば `FileReader`、`IDBRequest`、`IDBTransaction` の `error` プロパティや、`RTCPeerConnection` で一定の方法によるリクエストが成功しなかったとき) が、`DOMException` のインスタンスになりました。`DOMError` は非推奨になり、DOM4 仕様書から削除されました (Firefox バグ 1120178)。
* WebVR API を、macOS でデフォルトで有効にしました (Firefox バグ 1374399)。
* `PerformanceResourceTiming.workerStart` プロパティをサポートしました (Firefox バグ 1191943)。
* バジェットベースのバックグラウンドタイムアウト調節を実装しました。詳しくは Policies in place to aid background page performance をご覧ください (Firefox バグ 1377766)。

#### DOM イベント

*変更なし。*

#### メディアと WebRTC

* 接頭辞付きの `HTMLMediaElement.srcObject` を削除しました。`mozSrcObject` の代わりに標準の `srcObject` を使用するように、コードを更新してください (Firefox バグ 1183495)。
* `getUserMedia()` を使用して取得したストリームにトラックを追加するために `MediaStream.addTrack()` を使用して、その結果のストリームを記録しようとすると、期待どおりに動作するようになりました。以前は、`getUserMedia()` が返したストリームに元から含まれていたトラックだけが、記録したメディアに含まれていました (Firefox バグ 1296531)。
* WebVTT の `VTTRegion` インターフェイスは WebVTT ファイルを解釈するときに常に作成されていましたが、以前はその結果の領域が使用されませんでした。Firefox 58 より、設定項目 `media.webvtt.regions.enabled` の値を `true` に設定すると、領域を使用するようになりました。

#### Canvas と WebGL

* 接頭辞つき WebGL 拡張のサポートを廃止しました (Firefox バグ 1403413):
    + `MOZ_WEBGL_compressed_texture_atc` の代わりに `WEBGL_compressed_texture_atc` を使用してください。
    + `MOZ_WEBGL_compressed_texture_pvrtc` の代わりに `WEBGL_compressed_texture_pvrtc` (en-US) を使用してください。
    + `MOZ_WEBGL_compressed_texture_s3tc` の代わりに `WEBGL_compressed_texture_s3tc` (en-US) を使用してください。
    + `MOZ_WEBGL_depth_texture` の代わりに `WEBGL_depth_texture` (en-US) を使用してください。
    + `MOZ_WEBGL_lose_context` の代わりに `WEBGL_lose_context` (en-US) を使用してください。
### HTTP

* `Content-Security-Policy-Report-Only` で `frame-ancestors` を無視しないようになりました (Firefox バグ 1380755)。
* TLS ハンドシェイクのタイムアウトを Firefox に実装しました。既定値は 30 秒です。タイムアウト時間は、about:config の設定項目 `network.http.tls-handshake-timeout` で変更できます (Firefox バグ 1393691)。
* `worker-src` CSP ディレクティブを実装しました (Firefox バグ 1302667)。
### セキュリティ

*変更なし。*

### プラグイン

*変更なし。*

### その他

* プログレッシブ ウェブアプリ の取り組みの一環として、Android 版 Firefox で "ホーム画面に追加" をサポートしました (Firefox バグ 1212648)。
* WebAssembly に、読み込み時間を最適化する階層型コンパイラー (Firefox バグ 1277562) と、新たなストリーミング API (`WebAssembly.compileStreaming()` および `WebAssembly.installStreaming()`) を搭載しました (Firefox バグ 1347644)。
ウェブプラットフォームから廃止
---------------

### HTML

* ホットスポット領域を作成するために、`<map>` 要素の内部に `<a>` 要素を入れ子にすることができなくなりました。代わりに `<area>` 要素を使用しなければなりません (Firefox バグ 1317937)。
### CSS

* Mozilla 独自仕様である以下の system metric 疑似クラスが、ウェブコンテンツで使用できなくなりました (Firefox バグ 1396066):
    + `:-moz-system-metric(images-in-menus)`
    + `:-moz-system-metric(mac-graphite-theme)`
    + `:-moz-system-metric(scrollbar-end-backward)`
    + `:-moz-system-metric(scrollbar-end-forward)`
    + `:-moz-system-metric(scrollbar-start-backward)`
    + `:-moz-system-metric(scrollbar-start-forward)`
    + `:-moz-system-metric(scrollbar-thumb-proportional)`
    + `:-moz-system-metric(touch-enabled)`
    + `:-moz-system-metric(windows-default-theme)`
* Mozilla 独自仕様である以下の media feature が、ウェブコンテンツで使用できなくなりました (Firefox バグ 1396066):
    + `-moz-color-picker-available`
    + `-moz-is-glyph`
    + `-moz-mac-graphite-theme`
    + `-moz-mac-yosemite-theme`
    + `-moz-os-version`
    + `-moz-overlay-scrollbars`
    + `-moz-physical-home-button`
    + `-moz-scrollbar-end-backward`
    + `-moz-scrollbar-end-forward`
    + `-moz-scrollbar-start-backward`
    + `-moz-scrollbar-start-forward`
    + `-moz-scrollbar-thumb-proportional`
    + `-moz-swipe-animation-enabled`
    + `-moz-windows-accent-color-in-titlebar`
    + `-moz-windows-classic`
    + `-moz-windows-compositor`
    + `-moz-windows-default-theme`
    + `-moz-windows-glass`
    + `-moz-windows-theme`
* Mozilla 独自仕様である `:-moz-styleeditor-transitioning` 疑似クラスが、ウェブコンテンツで使用できなくなりました (Firefox バグ 1396099)。
### JavaScript

* 非標準の `Date.prototype.toLocaleFormat()` メソッドを削除しました (Firefox バグ 818634)。詳細および移行方法について、Warning: Date.prototype.toLocaleFormat is deprecated をご覧ください。
* 非標準および非推奨の `Object.prototype.watch()` および `unwatch()` メソッドを削除しました。今後は動作しません (Firefox バグ 638054)。代わりに setters および getters または proxy の使用を検討してください。
* レガシーイテレータープロトコル、`StopIteration` オブジェクト、レガシージェネレーター関数 (en-US)、非標準の `Function.prototype.isGenerator()` メソッドを削除しました。代わりに ES2015 の 反復処理プロトコル や、標準準拠の イテレーターとジェネレーター を使用してください (Firefox バグ 1083482, Firefox バグ 1413867, Firefox バグ 1119777)。
* 非標準の 配列内包 (en-US) および ジェネレーター内包 (en-US) を削除しました (Firefox バグ 1414340)。
### API

* `XMLHttpRequest.responseType` プロパティの独自仕様の値である `moz-blob` および `moz-chunked-text` を、Firefox 58 で完全に削除しました (Firefox バグ 1397145, Firefox バグ 1397151, Firefox バグ 1120171)。
* Abort API の機能 を制御する設定項目である `dom.abortController.enabled` および `dom.abortController.fetch.enabled` を削除しました (Firefox バグ 1402317)。デフォルトで有効化したためです。
* 独自仕様である `mozSrcObject` プロパティを Firefox 58 で削除しました (Firefox バグ 1183495)。代わりに、標準の `HTMLMediaElement.srcObject` プロパティを使用してください。
### SVG

*変更なし。*

アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### WebExtensions

* browserSettings
    + browserSettings.webNotificationsDisabled (en-US) を実装しました (Firefox バグ 1364942)
* browsingData
    + browsingData.localStorage (en-US) で、ホストによる localStorage の削除をサポートしました (Firefox バグ 1388428)
* セキュリティデバイスを管理するための pkcs11 API をサポートしました (Firefox バグ 1357391)
* プライバシー
    + firstPartyIsolate で、ファーストパーティー分離の切り替えが可能になりました (Firefox バグ 1409045)
    + resistFingerprinting で、フィンガープリンティング対策の設定の切り替えが可能になりました (Firefox バグ 1397611)
* タブ
    + tabs.discard (en-US) を実装しました (Firefox バグ 1322485)
    + タブの isArticle、isInReaderMode プロパティを実装しました (Firefox バグ 1381992)
    + toggleReaderMode (en-US)() メソッドを実装しました (Firefox バグ 1381992)
    + tabs.created の openInReaderMode オプションを実装しました (Firefox バグ 1408993)
    + tabs.onUpdated が、リーダービューを出入りするときに通知を発するようになりました (Firefox バグ 1402921)
* テーマ
    + 現在のテーマの属性を取得するための getCurrent (en-US)() メソッドをサポートしました (Firefox バグ 1349944)
    + WebExtension のテーマの更新を受け取る onUpdated メソッドをサポートしました (Firefox バグ 1349944)
    + colors.toolbar\_text の別名として colors.bookmark\_text をサポートしました (Firefox バグ 1412595)
    + colors.toolbar\_top\_separator、colors.toolbar\_bottom\_separator、colors.toolbar\_vertical\_separator を実装しました (Firefox バグ 1347190)
* webRequest
    + webRequest.onBeforeRequest (en-US) が "frameAncestors" パラメーターを持つようになりました
関連情報
----

* Firefox — Notes (58.0)

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

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