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