Firefox 60 for developers
=========================

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

Android 版 Firefox 60 に Stylo を導入
--------------------------------

Firefox の新しい並列処理 CSS エンジン は、 **Quantum CSS** または **Stylo** とも呼ばれ、デスクトップ版 Firefox 57 で始めにデフォルトで有効化されたものですが、Android 版 Firefox で有効化しました。

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

### 開発者ツール

* CSS ペインのルールビュー (CSS の調査と編集 をご覧ください) で精密に値を増減する (0.1 ずつ増減) キーボードショートカットを、Linux および Windows で OS の既定のショートカットと衝突しないようにするため、 `Alt` + `Up`/`Down` to `Ctrl` + `Up`/`Down` に変更しました (Firefox バグ 1413314)。
* CSS ペインのルールビューで、CSS 変数名 の自動補完が可能になりました (Firefox バグ 1422635)。プロパティの値に `var(` と入力してダッシュ (`-`) を押下すると、CSS で宣言した変数を自動補完のリストに表示します。
* レスポンシブデザインモード で、タッチのシミュレーションを切り替えたときやシミュレーションするユーザーエージェントを変更したときにページを自動的に再読み込みする機能を有効化/無効化できる、*Reload when...* ドロップダウンメニューを追加しました。詳しくは ページ再読み込みの動作を制御する をご覧ください (Firefox バグ 1428816)。
* 設定項目 `view_source.tab` を削除しましたので、ソース表示 モードを新しいタブか新しいウィンドウで選ぶことができなくなりました。ページのソースは、常に新しいタブで表示されます (Firefox バグ 1418403)。
### HTML

* `designMode` および `contenteditable` の状況で、ブロックレベルの編集ホストの子であるインライン要素またはテキストノードの内部にキャレットがあるときに Enter キーを押下すると、`<div>` 要素を挿入するようになりました。以前は、`<br>` 要素を挿入していました。アプリで以前の動作を望む場合は、`document.execCommand()` で実現できます。詳しくは マークアップ生成の違い をご覧ください (Firefox バグ 1430551)。
### CSS

* `align-content`、`align-items`、`align-self`、`justify-content`、`place-content` プロパティの値を、最新の CSS Box Alignment Module Level 3 仕様書に従って更新しました (Firefox バグ 1430817)。
* `paint-order` プロパティを実装しました (Firefox バグ 1426146)。
### SVG

*変更なし。*

### JavaScript

* ECMAScript 2015 モジュールを、デフォルトで有効にしました (Firefox バグ 1438139)。詳しくは ES6 In Depth: Modules および ES modules: A cartoon deep dive をご覧ください。または、MDN のリファレンス文書を確認してください。
    + `<script src="main.js" type="module">` および `<script nomodule src="fallback.js">`
    + `import` 文と `export` 文。
* `Array.prototype.values()` メソッドを再び追加しました (Firefox バグ 1420101)。互換性の問題のために無効化されました。このメソッドを独自に実装していないことを確認してください。
### API

#### 新規 API

* ウェブ認証 API を有効化しました (Firefox バグ 1432542)。

#### DOM

* ウェブ認証 API で、`MakePublicKeyCredentialOptions` 辞書オブジェクトが `PublicKeyCredentialCreationOptions` に改名されました。これを Firefox でも実施しました (Firefox バグ 1436473)。
* 設定項目 `dom.workers.enabled` を削除しました。すなわち、ワーカーを無効化できなくなりました (Firefox バグ 1434934)。
* `body` プロパティを `Document` インターフェイスに実装しました。以前は `HTMLDocument` インターフェイスにありました (Firefox バグ 1276438)。
* `PerformanceResourceTiming` がワーカーで使用可能になりました (Firefox バグ 1425458)。
* `PerformanceObserver.takeRecords()` メソッドを実装しました (Firefox バグ 1436692)。
* アクティブなキーボードレイアウトが ASCII 文字を生成しない場合でも、句読点キーの `KeyboardEvent.keyCode` 属性は 0 ではない値になります。詳しくはこちらをご覧ください。新しいアプリケーションでは `KeyboardEvent.keyCode` を**使用しない**ようにしてください。代わりに `KeyboardEvent.key` または `KeyboardEvent.code` を使用します。
* `Animation.updatePlaybackRate()` メソッドを実装しました (Firefox バグ 1436659)。
* 句読点キーの keyCode の値 を決定するための新しい規則を導入しました (Firefox バグ 1036008)。
* Gecko 限定の option オブジェクトである、`IDBFactory.open()` メソッドの `storage` オプション (Experimental Gecko options object もご覧ください) が非推奨になりました (Firefox バグ 1442560)。
* プロミス が IndexedDB のコード内で使用可能になりました (Firefox バグ 1193394)。

#### DOM イベント

*変更なし。*

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

*変更なし。*

#### メディアと WebRTC

* `getUserMedia()` を使用して取得したメディアを録画または共有するとき、対応するトラックの `MediaStreamTrack.enabled` プロパティを `false` に設定してカメラをミュートすると、カメラを使用していないことをユーザーにわかりやすくするために、カメラが "使用中" であることを示すランプを消灯するようになりました (Firefox バグ 1299515)。詳しくは MediaDevices.getUserMedia() の User privacy をご覧ください。また、こちらのブログ記事 もご覧ください。
* `removeTrack()` (en-US) を使用して `RTCPeerConnection` からトラックを削除するときに、`getSenders()` (en-US) が報告する送信者のピアコネクションのリストからトラックの `RTCRtpSender` (en-US) を削除しないようになりました (Firefox バグ 1290949)。
* `RTCRtpContributingSource` (en-US) および `RTCRtpSynchronizationSource` (en-US) オブジェクトのタイムスタンプは、以前は `Date.getTime()` が返す値に基づいて報告されていました。Firefox 60 で、正しく Performance Timing API を使用するように修正しました (Firefox バグ 1433576)。
* 仕様書に合わせて `ConvolverNode()` (en-US) コンストラクターで、参照される `AudioBuffer` のチャンネル数が 1、2、あるいは 4 でない場合に `NotSupportedError` が発生するようになりました (Firefox バグ 1443228)。
* `RTCPeerConnection` で廃止されたイベントハンドラーである `RTCPeerConnection.onremovestream` (en-US) を削除しました。代わりに `removetrack` イベントを使用するべきです (Firefox バグ 1442385)。
* `RTCDataChannel` は `DataChannel` の別名ではなく、`RTCDataChannel` そのものが本名になりました。`DataChannel` という名前はサポートしません (Firefox バグ 1173851)。

#### Canvas と WebGL

* 設定項目 `privacy.resistFingerprinting` が `true` である場合に、`WEBGL_debug_renderer_info` (en-US) WebGL 拡張が無効になります (Firefox バグ 1337157)。
### CSSOM

*変更なし。*

### HTTP

*変更なし。*

### セキュリティ

* `X-Content-Type-Options` ヘッダーで `no-sniff` を設定したときに、JavaScript の MIME タイプの仕様に従うようになりました。特に、`text/json` および `application/json` は有効な値ではなくなりました (Firefox バグ 1431095)。
### プラグイン

*変更なし。*

### その他

* 資格情報を含むフェッチと資格情報を含まないフェッチが、接続を共有できるようになりました。例えば同じオリジンからウェブフォントと資格情報が設定されたユーザーデータを同じ CDN へ要求するときに、どちらも同じ接続を共有することにより、応答が早くなる可能性があります (Firefox バグ 1363284)。
ウェブプラットフォームから廃止
---------------

### HTML

*変更なし。*

### CSS

* 独自仕様である `-moz-user-input` プロパティの `enabled` および `disabled` 値が使用できなくなりました (Firefox バグ 1405087)。
* 独自仕様である `-moz-border-top-colors`、`-moz-border-right-colors`、`-moz-border-bottom-colors`、`-moz-border-left-colors` (en-US) プロパティを、プラットフォームから完全に削除しました (Firefox バグ 1429723)。
### JavaScript

* 非標準の 式クロージャ 構文を削除しました (Firefox バグ 1426519)。
### API

*変更なし。*

### SVG

*変更なし。*

### その他

*変更なし。*

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

### WebExtensions

テーマ API:

* headerURL が省略可能になりました。
* ブラウザー テーマ (en-US) を作成するとき、`headerURL` が指定されていない場合は、ヘッダーテキストに適用されている `text-shadow` を削除します (Firefox バグ 1404688)。
* 新たにサポートしたプロパティ:
    + **tab\_line**
    + **tab\_selected**
    + **popup**
    + **popup\_border**
    + **popup\_text**
    + **tab\_loading**
    + **icons**
    + **icons\_attention**
    + **frame\_inactive**
    + **button\_background\_active**
    + **button\_background\_hover**
過去のバージョン
--------

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