Firefox 132 for developers

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

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

HTML

変更なし。

CSS

廃止

JavaScript

HTTP

廃止

  • HTTP/2 サーバープッシュを、設定項目 network.http.http2.allow-pushfalse に設定することで無効化しました。 この機能はほかのメジャーなブラウザーでサポートしておらず、将来のリリースで実装を完全に削除する予定です (Firefox bug 1915848)。

プライバシー

API

Media、WebRTC、Web Audio

  • HTMLVideoElement インターフェイスの requestVideoFrameCallback() および cancelVideoFrameCallback() メソッドをサポートしました。requestVideoFrameCallback() は、新しい動画フレームがコンポジターへ送信されたときに実行するコールバック関数を登録します。開発者はこの関数を使用してそれぞれの動画フレームで処理を行うことができ、キャンバスへの描画、動画の分析、外部音声ソースとの同期などがより効率的になります。このメソッドは、未処理のコールバック要求をキャンセルするために cancelVideoFrameCallback() へ渡すことができるコールバックハンドラーを返します。(Firefox bug 1919367Firefox bug 1800882)。
  • MediaStreamTrack.getCapabilities() メソッドをサポートしました。これは関連づけられた MediaStreamTrack の、それぞれの制約可能なプロパティで受け入れる値または値の範囲を詳しく示すオブジェクトを返します (Firefox bug 1179084)。

WebDriver への適合 (WebDriver BiDi, Marionette)

WebDriver BiDi

  • WebDriver BiDi のコマンドをナビゲーションの途中や新たに作成したタブで使用したときの信頼性を高める改善を施しました。以前は browsingContext.setViewport のようなコマンドが AbortError を理由にして失敗することがありましたが、その問題を避けるために少し時間をおいて再実行するようになりました (Firefox bug 1854942Firefox bug 1918287Firefox bug 1918672Firefox bug 1921756)。
  • browsingContext.contextCreated イベントが、遅延読み込みのフレームで正しく発生するようになりました。以前は、インラインフレームが実際にコンテンツの読み込みを開始したときに限ってイベントが発生していました (Firefox bug 1878166)。
  • キャッシュ済みのスタイルシートの要求で、ネットワークのイベントが正しく発生するようになりました (Firefox bug 1879438)。
  • 以前はネットワークのイベントの時間の単位が誤っており、マイクロ秒を使用していました。現在はミリ秒を正しく設定しています (Firefox bug 1916685)。
  • ネットワークのイベントの時間で requestTime がより正確になり、リクエストが実際に開始した時間に一致するようになりました (Firefox bug 1922390)。

実験的なウェブ機能

以下の機能は Firefox 132 で新たに導入しましたが、デフォルトで無効です。これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。

  • Cookie Store API: dom.cookieStore.enabled

    Cookie Store API は新しい Promise ベースの Cookie 管理方法で、イベントループをブロックせず、Document に依存しません (このため サービスワーカー で使用できます)。Firefox 132 では Cookie Store API のサブセットを実装しました (Firefox bug 1800882)。以下のプロパティが含まれます:

  • fetch()keepalive オプション: dom.fetchKeepalive.enabled

    fetch() グローバルメソッドに keepalive 初期化オプションがあります。keepalivetrue に設定すると、ブラウザーはリクエストが完了する前にリクエストを開始したページがアンロードされても、関連するリクエストを中止しません。

    これはセッションの終了時に分析情報を送信するときに Navigator.sendBeacon() の代替として読み込みリクエストが機能することを可能にして、いくつかの利点をもたらします (POST 以外の HTTP メソッドを利用する、リクエストのプロパティをカスタマイズする、あるいは読み込みの Promise のフルフィルメントを通してサーバーのレスポンスにアクセスすることが可能です)。これは サービスワーカー でも使用できます (Firefox bug 1906952)。

  • CloseWatcher: dom.closewatcher.enabledCloseWatcher インターフェイスは、組み込みコンポーネントと同じようにデバイスのネイティブな仕組みを使用して閉じることが可能なコンポーネントを開発者が実装することを可能にします。たとえば Android では、戻るボタンを使用してダイアログを閉じることができます。このインターフェイスで、独自のサイドバーを同じように閉じることができます (Firefox bug 1888729)。

  • Promise.try(): javascript.options.experimental.promise_tryPromise.try() はあらゆる種類 (値を返す、例外が発生する、同期、非同期) のコールバックを受け取り、その結果を Promise の機能 (たとえば .then().catch()) で扱えるようにするため Promise にラップする便利なメソッドです (Firefox bug 1905364)。

  • JSON.parse with source: javascript.options.experimental.json_parse_with_sourceJSON.parse source text access proposal は、大きな浮動小数点数や日付の値を JavaScript の値と JSON 文字列の間で変換するときに精度が低下することに関する問題を軽減する機能を提供するように JSON.parse の動作を拡張します (Firefox bug 1913085Firefox bug 1925334)。特に、以下の機能を使用可能です:

    • JSON.parse()引数 reviver 内の引数 context: パースした元の JSON ソース文字列へアクセスできます。
    • JSON.isRawJSON(): 値が JSON.rawJSON() から返されたオブジェクトであるかを確認します。
    • JSON.rawJSON(): JSON 文字列の一部を含む "raw JSON" オブジェクトを生成します。これをオブジェクトに含めることで、オブジェクトが文字列化されるときに指定した値を維持できます。

過去のバージョン