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