Firefox 48 for developers
=========================

Firefox の最新の開発者向け機能を試すには、Firefox Developer Edition をインストールしてください。 Firefox 48 は、米国時間 2016 年 8 月 2 日にリリースされました。このページでは、開発者に影響する Firefox 48 の変更点をまとめています。

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

### 開発者ツール

* コンテンツ内で要素の位置を変更できるようになりました (Firefox バグ 1139187)。
* コンソールの出力を消去するための `console.clear()` を実装しました (Firefox バグ 659625)。
* ウェブコンソールに HTTP ログの調査機能 を追加しました (Firefox バグ 1211525)。
* Firebug のテーマ を追加しました (Firefox バグ 1244054)。
* DOM 調査ツールを追加しました (Firefox バグ 1201475)。
* フォントインスペクターを、再びデフォルトで有効にしました (Firefox バグ 1280121)。
* CSS プロパティの補完機能を改良しました (Firefox バグ 1168246)。
* Cookie、ローカルストレージ、セッションストレージの項目を、ダブルクリックして編集できます (Firefox バグ 1231154、Firefox バグ 1231179、Firefox バグ 1231155)。
### HTML

* `<details>` および `<summary>` 要素を、Nightly および Aurora (DevTools) でデフォルトで有効にしました。Beta および Release では無効です:
    + これらの要素のデフォルトのスタイルが、仕様書に合致するようになりました (Firefox バグ 1258657)。
    + `toggle` イベントが、`<details>` 要素を開いたり閉じたりしたときに送られるようになりました (Firefox バグ 1225412)。
* `meta` 属性で、値 `no-referrer-when-downgrade` および `origin-when-cross-origin` をサポートしました (Firefox バグ 1178337)。
### CSS

* 仕様書に準拠するよう、`calc()` を改良しました。
    + `line-height` プロパティで `calc()` をサポートしました (Firefox バグ 594933)。
    + CSS `calc()` の入れ子をサポートしました (Firefox バグ 968761)。
* CSS グリッドの実験的な実装を更新しました。
    + グリッドレイアウトでフラグメンテーションを実装しました (Firefox バグ 1144096)。
    + [css-grid] グリッドコンテナーのサイズが不定である場合は、パーセンテージ指定されたトラックのサイズを `auto` として扱うようになりました (Firefox バグ 1264607)。
    + `<fieldset>` で grid および flex レイアウトをサポートしました (Firefox バグ 1230207)。
* `mask-mode` で値 `luminance` をサポートしました。また、仕様書に合わせて値 `auto` を `match-source` に改名しました (Firefox バグ 1228354)。
* CSS Animation および CSS Transition で、 `clip-path` の基本シェイプの補間処理をサポートしました (Firefox バグ 1110460)。
* `text-combine-upright` プロパティの値 `all` で縦中横 (*horizontal-in-vertical*) テキストをサポートしました (Firefox バグ 1097499).
* 画像や背景の印刷をページから許可できるようにするための `color-adjust` プロパティを実験的にサポートしました (Firefox バグ 1209273)。
* `::first-letter` 擬似要素が、実際の先頭文字の前または直後にあるタイプ Pd の句読点にも一致するようになりました。これは CSS Pseudo-element module level 4 の新たな要求です (Firefox バグ 1260366)。
* いくつかの `-webkit` 接頭辞付きプロパティおよび値を、ウェブの互換性のためにサポートしました。設定項目 `layout.css.prefixes.webkit` で制御しており、既定値は `false` です:
    + `-webkit-text-fill-color` (Firefox バグ 1247777)
    + `-webkit-text-stroke`, `-webkit-text-stroke-color`, `-webkit-text-stroke-width` (Firefox バグ 1248708)
    + `-webkit-background-clip` (background-clip として) の値 text (Firefox バグ 759568).
    + `-webkit-box-direction`、`-webkit-box-orient` (Firefox バグ 1262049.
    + `display` プロパティの値 `-webkit-inline-box` を、`inline-flex` の別名としてサポートしました (Firefox バグ 1257661)。
    + `-webkit-flex-direction`、`-webkit-flex-wrap`、`-webkit-flex-flow`、`-webkit-order`、`-webkit-flex`、`-webkit-flex-grow`、`-webkit-flex-shrink`、`-webkit-flex-basis`、`-webkit-justify-content`、`-webkit-align-items`、`-webkit-align-self`、`-webkit-align-content` を接頭辞なしプロパティの別名として、また `display` プロパティの値 `-webkit-flex` および `-webkit-inline-flex` を接頭辞なし値の別名として追加しました (Firefox バグ 1274096)。
    + `-webkit-box-flex`、`-webkit-box-ordinal-group`、`-webkit-box-align`、`-webkit-box-pack` プロパティおよび `display` プロパティの値 `-webkit-box` を、最新の CSS フレックスボックス の別名として追加しました (Firefox バグ 1208635)。
* `background-clip` の値 `text` が、(Release 以外のビルドだけでなく) すべてのタイプの Firefox で使用可能になりました (Firefox バグ 1263516)。
* `position` プロパティの値 `absolute` を、最上位レイヤーの要素でサポートしました (Firefox バグ 1236828)。
* 設定を検出するため、`@supports` の内部利用限定の構文をサポートしました (Firefox バグ 1259889)。
### JavaScript

#### 新規 API

* `String.prototype.padStart()` および `String.prototype.padEnd()` メソッドを実装しました (Firefox バグ 1260509)。
* ES2015 (ES6) の `Symbol.unscopables` および `Array.prototype[@@unscopables]` プロパティを実装しました (Firefox バグ 1054759 および Firefox バグ 1258163)。
* ES2015 (ES6) の `Symbol.isConcatSpreadable` シンボルを実装しました (Firefox バグ 1041586)。
* ES2015 (ES6) の `Array[@@species]` getter を実装しました (Firefox バグ 1165052)。
* ES2015 (ES6) の `ArrayBuffer[@@species]` getter および `%TypedArray%[@@species]` getter を実装しました (Firefox バグ 1165053)。
* ECMAScript Internationalization API 草案の `Intl.getCanonicalLocales()` メソッドを実装しました (Firefox バグ 1263040)。

#### 非推奨化および削除

* 非推奨の 古い Proxy API (`Proxy.create` および `Proxy.createFunction()`) を廃止しました。代わりに標準の `Proxy` オブジェクトを使用してください (Firefox バグ 892903)。
* `String.prototype.contains()` メソッドを削除しました (バージョン 40 より非推奨でした)。代わりに `String.prototype.includes()` メソッドを使用してください (Firefox バグ 1103588)。
* 非標準の `RegExp.multiline` プロパティ (`RegExp.prototype.multiline` ではありません) を削除しました。代わりに標準の m フラグ を使用してください (Firefox バグ 1219757)。
* `Object.prototype.__defineGetter__()` および `Object.prototype.__defineSetter__()` メソッドは、オブジェクトを伴わないグローバルスコープでは呼び出すことができなくなりました (Firefox バグ 1253016)。
### インターフェイス/API/DOM

#### DOM & HTML DOM

* `CSSKeyframeRule` および `CSSKeyframesRule` インターフェイスから "Moz" 接頭辞を削除しました (Firefox バグ 1256178)。
* `NavigatorConcurrentHardware` (en-US) mixin を実装しました。これは、`Navigator` インターフェイスに `window.navigator.hardwareConcurrency` (en-US) プロパティを追加します。このプロパティにより、`Worker` を実行できるプロセッシングコアがいくつあるか (少なくとも概算値) をウェブサイトやアプリが取得できます (Firefox バグ 1008453)。
* Firefox 10 で削除した `Node.isSameNode()` メソッドを再追加しました。仕様書に長く存在していませんでしたが、再び追加されました (Firefox バグ 1256299)。
* `Navigator.registerProtocolHandler()` を呼び出す際に誤りがあった場合に、Firefox が数値ではなく適切な例外を返すようになりました。
* `Element.animate()` をデフォルトで有効にしました (Firefox バグ 1245000)。
* `Element.insertAdjacentText()` および `Element.insertAdjacentElement()` メソッドを実装しました (Firefox バグ 811259)。
* `Document.scrollingElement` をデフォルトで有効にしました (Firefox バグ 1265032)。
* `Node.localName`、`Node.namespaceURI`、`Node.prefix` を `Element` および `Attr` API に移動しました (Firefox バグ 1055776)。
* 最新の仕様書に従って、以下のキーについて `KeyboardEvent.code` が返す値を変更しました (Firefox バグ 1264150 を参照):
    + `"OSLeft"` および `"OSRight"` が `"MetaLeft"` および `"MetaRight"` になりました。
    + `"VolumeDown"`、`"VolumeUp"`、`"VolumeMute"` が `"AudioVolumeDown"`、`"AudioVolumeUp"`、`"AudoVolumeMute"` になりました。
    + `"IntlHash"` を削除しました。
    + 以前のバージョンの Firefox で `code` の値が "" になっていたすべてのキーが、"Unidentified" を知らせるようになりました。

#### Canvas 2D

* `CanvasRenderingContext2D.ellipse()` メソッドを実装しました (Firefox バグ 910138)。

#### WebRTC

* `MediaStream.clone()` および `MediaStreamTrack.clone()` (en-US) メソッドを実装しました (Firefox バグ 1208371)。
* `iceRestart` 項目を `RTCOfferOptions` で対応しました。 `createOffer()` (en-US) で ICE の再開や更新を可能にします (Firefox バグ 906986)。
* `RTCPeerConnection.createOffer()` (en-US) メソッドが、デフォルトで VP9 動画コーデックを選択するようになりました。以前は VP8 を選択していました (Firefox バグ 1242324)。

#### その他

* Web Crypto API が Web workers で使用可能になりました (Firefox バグ 842818)。
* `CustomEvent` インターフェイスが Web Workers で使用可能になりました (Firefox バグ 1003432)。
* `DOMApplicationsManager.getNotInstalled()` メソッドを削除しました (Firefox バグ 1255036)。
* 誤ってウェブに公開されていた Firefox OS の API を、本来すべきであったとおりに隠蔽しました。対象は `mozContact`、`MozContactChangeEvent`、`navigator.mozContacts`、`MozPowerManager`、`MozSettingsEvent` です (Firefox バグ 1043562、Firefox バグ 1256414、Firefox バグ 1256046)。
* `TextEncoder` で UTF-16 のサポートを廃止しました (Firefox バグ 1257877)。
* `RTCStatsReport` (en-US) が真に `maplike` なインターフェイスになりました。`forEach()` (en-US)、`get()` (en-US)、`has()` (en-US) に加えて、`entries()` (en-US)、`values()` (en-US)、`keys()` (en-US) メソッド、および `size` (en-US) ゲッターを実装しました (Firefox バグ 906986)。
* キャッシュの動作 を制御できるようにするため、`Request.cache` プロパティを追加しました (Firefox バグ 1120715)。
* Mac OS X におけるデッドキーの扱いを、他のプラットフォームと同じ動作に変更しました。フォーカスがある要素が編集可能ではなく、テキストが生成されなかったときに `keypress` イベントは発生しません（フォーカスがある要素が編集可能であるとき、Mac OS X ではデッドキーでキーボードイベントではなく composition イベントが発生します）。また他のプラットフォームと同様に、ほかの状況でテキストを生成しないデッドキー押下について、`KeyboardEvent.key` の値が `"Dead"` になりました。
HTTP
----

* `Upgrade-Insecure-Requests` ヘッダーをサポートしました (Firefox バグ 1243586)。
* CSP ディレクティブ `block-all-mixed-content` を実装しました (Firefox バグ 1122236)。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

* Social Worker API を削除しました。
* `-moz-bool-pref()` という CSS の `@supports` 関数を追加し、クロームスタイルシートの一部を論理環境設定に隠すことができるようになりました。 (Firefox バグ 1259889)
過去のバージョン
--------

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