Firefox 55 for developers

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

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

開発者ツール

HTML

CSS

SVG

JavaScript

API

新規 API

  • Firefox 53 から設定により使用可能であった Collaborative Scheduling of Background Tasks API (en-US) (またはシンプルに Background Tasks API または requestIdleCallback API として知られる) を、デフォルトで有効にしました。この API は、次の再描画を行う前に利用可能な空き時間があるとブラウザーが判断したときに実行するタスクを予定することができます。これにより、目に見えるパフォーマンス低下を発生させずに空き時間をコードで使用できます (Firefox バグ 1314959)。
  • WebVR 1.1 API を、Windows でデフォルトで有効にしました (macOS は Nightly で使用できます)。この API はバーチャルリアリティデバイス (例えば Oculus Rift や HTC Vive のようなヘッドマウントディスプレイ) をウェブアプリで使用可能にして、開発者がディスプレイの位置や移動の情報を 3D シーンの移動に変換して、ディスプレイにコンテンツを表示することが可能になります。
  • Intersection Observer API (祖先要素またはトップレベルのドキュメントの ビューポート と対象要素の交差状態の変化を非同期に監視する手段を提供します) を追加しました (Firefox バグ 1321865)。

DOM

DOM イベント

  • Document.createEvent() メソッドがサポートするイベントの型を、最新の DOM 仕様に合わせて更新しました (Firefox バグ 1251198)。
  • MessageEvent.origin プロパティの値が、DOMString 型から USVString 型に替わりました。また、MessageEvent.source プロパティが MessageEventSource 値 (これは WindowProxyMessagePortServiceWorker オブジェクトにできます) をとるようになりました (Firefox バグ 1311324)。
  • ピンチズームのジェスチャーを、wheel イベントと Ctrl キーの組み合わせにマッピングしました。モバイルスクリーンやトラックパッドでピンチズームによるジェスチャーを使用してシンプルなズーム機能を開発者が実装できるようにするため、このマッピングを実装しました (一般的に、マウスホイール + Ctrl でズームします) (Firefox バグ 1052253)。

Selection API

Workers

Service Workers/Push

  • サービスワーカーコンテキストに送信したメッセージ (例えば、onmessage のイベントオブジェクトとして) は、他のウェブメッセージング機能との一貫性のため、MessageEvent オブジェクトで表すようになりました。
  • PushManager.subscribe() メソッドが applicationServerKey の値として、ArrayBuffers や Base64 エンコードの文字列を受け入れるようになりました (Firefox バグ 1337348)。

Web Audio API

  • AudioContext インターフェイスの非標準のコンストラクター (コンテキストの用途を示す列挙型の文字列を受け入れます) は、options 引数が与えられた場合にエラーが発生していました。この非標準コンストラクターを削除しました。ただし options 引数は Firefox で未サポートであり、現在は無視することに注意してください (Firefox バグ 1361475)。

WebRTC

  • ソースデバイスがステレオ音声を提供する場合に、getUserMedia() がデフォルトでステレオ音声ストリームを提供するようになりました。モノラル入力を明示的に要求する機能は Firefox 56 でサポートする予定です。現在、この機能はデスクトップに限り動作します。モバイル版 Firefox はステレオ音声入力ソースが未サポートです (Firefox バグ 971528)。
  • getUserMedia()メディア能力、制約、設定 である autoGainControl および noiseSuppression が仕様書に準拠しました。以前は moz 接頭辞がついていました (Firefox バグ 1366415)。
  • 制約セットを空にして getUserMedia() を呼び出したとき、誤って TypeError はなく NotSupportedError を返していました。この問題を修正しました (Firefox バグ 1349480)。
  • 以下の新たな WebRTC 統計値を使用できます: framesEncodedpliCountnackCountfirCount (Firefox バグ 1348657)。
  • 以前は mozRtt と呼ばれていた RTCInboundRTPStreamStats ディクショナリーフィールドを、仕様書に合わせて roundTripTime に改名しました。また、roundTripTime の動作を標準仕様に準拠するよう調節しました。RTCP Receiver Report の RTCP タイムスタンプに基づいて秒単位で測定した、ラウンドトリップタイムの推定値を倍精度浮動小数点数を持ちます (RFC 3550, セクション 6.4.1 で説明されているアルゴリズムに準拠します) (Firefox バグ 1344970)。ただしこのプロパティは、まもなく別のディクショナリー (RTCRemoteInboundRTPStreamStats) に移動することを意識しておいてください (Firefox バグ 1380555)。
  • RTCRTPStreamStats ディクショナリーが、firCountpliCountnackCount フィールドを持つようになりました。これは、接続の信頼性を判断するために使用できる低レベルの情報を返します (Firefox バグ 1348657)。
  • RTCOutboundRTPStreamStats ディクショナリーが framesEncoded フィールドを持つようになりました。これは、ストリーム用のエンコードが成功したフレームの数を報告します。この情報を使用して、フレームレートを計算できます (Firefox バグ 1348657)。
  • Android でビデオ通話のパフォーマンス向上とバッテリー節約のため、ハードウェアによる動画エンコードを有効化する 設定 を追加しました。これは Firefox 56 で、デフォルトで有効化します (Firefox バグ 1265755)。

Encrypted Media Extensions API

  • 現在、Firefox は仕様書で認められていないにもかかわらず、安全でないコンテキストで Encrypted Media Extensions を使用できます。近い将来にこの動作を変更する予定であり、Firefox 55 からこのようなことを行うと、ウェブコンソール に非推奨である旨の警告を出力します (Firefox バグ 1361000)。
  • 現在、Firefox は仕様書で必須であるにもかかわらず、Navigator.requestMediaKeySystemAccess() (en-US) に渡す suggestedConfigurations 引数に MediaKeySystemCapabilities オブジェクトを少なくとも 1 つ含めることを要求していません。Firefox 55 より、サポートするコーデックを指定せずに音声や動画の構成を指定すると、ウェブコンソールに警告を表示します。まもなく、1 つ以上の音声や動画の有効な構成が含められていない場合に例外が発生するようになります (Firefox バグ 1368683)。

WebGL

セキュリティ

プラグイン

  • Flash コンテンツが "click-to-activate" になりました (Firefox バグ 1317856)。これはすべての Nightly のユーザーと、beta のユーザーの 50% へ直ちに適用しました。Firefox 55 リリース版では、リリース後の 2 週間でユーザーの 5%、4 週間でユーザーの 25%、6 週間でユーザーの 100% へ適用する予定です (Firefox バグ 1365714)。
  • Flash および他のプラグインは、http:// および https:// 以外の URL スキームで読み込むことができなくなりました (Firefox バグ 1335475)。

その他

ウェブプラットフォームから廃止

HTML

  • xml:base 属性を、style 属性内に現れるパスのベース URL として使用できなくなりました。 例えば <div xml:base="https://example.com/" style="background:url(picture.jpg)"></div> のような使い方です (Firefox バグ 1350521)。style 属性向け xml:base が無効化されました。
  • 他のブラウザーがサポートしていないため、Firefox 55 から content ドキュメントでは <style> 要素の scoped 属性を設定 (layout.css.scoped-style.enabled) で無効化しました。
  • <meta> 要素の http-equiv 属性で、不明瞭な値である MSThemeCompatible のサポートを Gecko から削除しました。他にサポートする現行ブラウザーがなく、また互換性の問題が発生していました (Firefox バグ 966240)。

CSS

API

  • UIEvent.isChar プロパティは Firefox 以外のブラウザーがサポートせず、また macOS 以外では不完全な実装でした。よってほかのブラウザーに合わせるため、Firefox 55 で削除しました。
  • Firefox OS の独自仕様である Device Storage API を、プラットフォームから削除しました (Firefox バグ 1299500)。
  • 非標準の Window.find() メソッドの、aShowDialog 引数 (ブラウザーの "検索" ダイアログを開くかを指定できます) を削除しました (Firefox バグ 1348409)。
  • HTMLFormElement.requestAutoComplete() メソッドを削除しました (HTMLFormElement を参照) (Firefox バグ 1270740)。
  • 非標準で Mozilla 特有の WebRTC オプションである mozDontOfferDataChannel および mozBundleOnly を、 RTCOfferOptions 辞書から削除しました。また、これらは RTCPeerConnection.createOffer() (en-US) でサポートしません (Firefox バグ 1196974)。
  • Firefox OS 独自の Audio Channels API を、HTMLMediaElement および AudioContext から削除しました (Firefox バグ 1358061)。

SVG

  • SVGZoomEvent および SVGZoomEvents インターフェイスを、<svg> の onzoom 属性とともに SVG2 仕様および Gecko から削除しました (Firefox バグ 1314388)。

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

WebExtensions

過去のバージョン