Firefox 43 for developers
Firefox 43 は、米国時間 2015 年 12 月 15 日にリリースされました。この記事では、ウェブ開発者だけでなく、 Firefox や Gecko の開発者、アドオン開発者にとっても有用な主な変更点を挙げています。
ウェブ開発者向けの変更点一覧
>開発者ツール
ハイライト:
CSS
- 接頭辞がない標準仕様の
hyphensをサポートしました (Firefox バグ 953408)。 font一括指定プロパティを、font-stretchの値を受け入れるように更新しました (Firefox バグ 1057680)。- 最新の仕様の更新に合致するよう、
:fullscreen擬似クラスはフルスクリーン時に、トップレベル要素だけでなく要素の集合全体を選択するようになりました (Firefox バグ 1199522)。 writing-modeにおいて非推奨な SVG 向けの値であるlr、lr-tb、rl、tb、tb-rlを、標準プロパティのエイリアスとして CSS に追加しました (Firefox バグ 1205787)。
HTML
- 複数のフレームを持つ ICO 画像を指定した
<img>要素で、画像固有の寸法は最小フレームではなく最大フレームの寸法を設定するようになりました (Firefox バグ 1201796)。 - ドキュメントのビューポートの値 (
<meta name="viewport>で定義) を、JavaScript で動的に変更できるようになりました (Firefox バグ 976616)。
JavaScript
新規 API
- ES2016 の新規メソッドである
Array.prototype.includes()およびTypedArray.prototype.includes()を、デフォルトで有効にしました (Firefox バグ 1070767)。
arguments オブジェクトに関する変更点
- ES2015 仕様に合致するよう、アロー関数 は自身の
argumentsオブジェクトを持たないようになりました。argumentsオブジェクトは Lexical にバインドされます (外側の関数から継承)。たいていの場合、残余引数 が(...args) => args[i]のよい代替になります。Firefox バグ 889158 をご覧ください。 - arguments オブジェクトは、残余引数 と共に使用できるようになりました (Firefox バグ 1133298)。
- 厳格モードではない関数にマップされた
argumentsオブジェクトは、関数が残余引数、デフォルト引数、分割引数 のいずれも含まない場合に限り提供されるようになりました (Firefox バグ 1175394)。
その他の変更点
- ジェネレーターおよびジェネレーターメソッドは、ES2016/ES7 に従ってコンストラクターブルではなくなりました (Firefox バグ 1191486)。
インターフェイス/API/DOM
DOM & HTML DOM
変更なし。
IndexedDB
- ロケールを明示したインデックスの作成を可能にする、Locale-aware Sorting と呼ばれる新機能を追加しました。ロケールの規則に従ってデータをソートするために使用できます (Firefox バグ 871846)。これは、非標準の Firefox 独自機能です。
サービスワーカー
- 仕様に従い、
ExtendableEvent.waitUntil()がExtendableEventハンドラーの外部で呼び出された場合に、Firefox はInvalidStateErrorを発生するようになりました。加えて、複数回呼び出したwaitUntil()は積み上げられ、結果的に promise は Extend Lifetime Promises のリストに追加されます (Firefox バグ 1180274)。 PushMessageDataメソッドを実装しました (Firefox バグ 1149195)。
WebRTC
HTMLCanvasElement.captureStream()メソッドを、デフォルトで有効にしました (Firefox バグ 1177276)。RTCOfferOptionsの、非標準である制約的なオプションリストを非推奨にしました。これは Firefox 44 で完全に削除する予定です。
その他
- Battery Status API で、最近更新された仕様で指定された
Navigator.getBattery()向けの Promise 構文を使用するようになりました (Firefox バグ 1050749)。 User-Agentヘッダーが forbidden header names のリストから外れましたので、XHR のXMLHttpRequest.setRequestHeader()などで、FetchHeadersオブジェクトを設定できるようになりました (Firefox バグ 1188932)。MediaRecorder.MediaRecorder()コンストラクターが options Dictionary を引数としてサポートしました。記録するオーディオ/ビデオのビットレートを設定できます (Firefox バグ 1161276)。- Performance Timeline API の
PerformanceObserverインターフェイスを実装しました (Firefox バグ 1165796)。 - Frame Timing API を追加しました。
PerformanceRenderTimingおよびPerformanceCompositeTimingインターフェイスを使用できます (Firefox バグ 1191178)。 - 最新の 画面方向 API を実装しました。接頭辞がない
Screen.orientationおよびScreenOrientationインターフェイスを使用できます (Firefox バグ 1131470)。非標準のScreen.mozOrientation、Screen.onmozorientationchange、Screen.mozLockOrientation()、Screen.mozUnlockOrientation()は将来削除する予定です。 - Linux 環境で、Windows 環境と同様に
Event.timeStampがDOMHighResTimeStampを返すようになりました (Firefox バグ 1026803)。 Document.onselectionchange、GlobalEventHandlers.onselectstartイベントハンドラープロパティおよびSelectionイベントselectionchange、selectstartを実験的にサポートしました (Firefox バグ 571294)。selectionchangeイベントは、関連付けられたSelectionオブジェクトが関与している場合にDocumentまたは特定のHTMLInputElementやHTMLTextAreaElementで発生します (Firefox バグ 1196479)。この機能は設定項目dom.select_events.enabledで制御しており、既定値は Nightly を除きfalseです。- Android 版 Firefox および Firefox OS で、
MouseEvent.offsetXおよびMouseEvent.offsetYのサポートを有効化しました (Firefox バグ 1204841)。 HTMLCanvasElement.mozFetchAsStream()メソッドを削除しました (Firefox バグ 1206030)。Request()コンストラクターはfetch()と同様に、ユーザー名やパスワードを含む URL を使用した場合にTypeError例外が発生するようになりました (Firefox バグ 1195820)。
MathML
変更なし。
SVG
変更なし。
Audio/Video<
変更なし。
HTTP
変更なし。
ネットワーク
変更なし。
セキュリティ
- サードパーティの iframe から Web Storage (すなわち
localStorageおよびsessionStorage) へのアクセスは、ユーザーがサードパーティ Cookie を禁止している場合に拒否されるようになりました (Firefox バグ 536509)。 - ホワイトリストを Nightly および Aurora/Dev Edition 版のブラウザーで削除しました (Firefox バグ 1201023)。現状では、次のバージョン (Firefox 44) の Beta および Release 版でもホワイトリストを削除する予定です。
<script>およびスタイルシートにリンクする<link>に、Subresource integrity を実装しました (Firefox バグ 992096)。
アドオン開発者と Mozilla 開発者向けの変更点
>インターフェイス
変更なし。
XUL
変更なし。
JavaScript コードモジュール
変更なし。
XPCOM
変更なし。
プラグイン
- content をマルチプロセスに切り替える将来のリリースへの準備として、NPAPI プラグインをページ content と同じプロセスで実行できなくなりました。
dom.ipc.pluginsから始まる設定項目は使用しません。
その他
変更なし。
過去のバージョン
- 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
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers