Firefox 128 for developers
このページでは、開発者に影響する Firefox 128 の変更点をまとめています。Firefox 128 は、米国時間 2024 年 7 月 9 日 にリリースされました。
ウェブ開発者向けの変更点一覧
HTML
<base>
要素のtarget
で ASCII の改行、タブ、<
の文字が禁止されて、それらが存在する場合は値を_blank
に変更します。これは、閉じていないtarget
属性を使用するダングリングマークアップインジェクション攻撃を防止します (Firefox bug 1835157)。
CSS
- 相対的な色の構文 をデフォルトで有効にしました。相対的な色の構文により、元の色に対して相対的な色の値を作成できます。また、色関数 を使用して異なる 色空間 の色の値に変換できます (Firefox bug 1900251)。
content
プロパティで、画像を含むコンテンツのための 代替テキスト をサポートしました。代替テキストは、ブラウザーのアクセシビリティツリーに現れます (Firefox bug 1281158、Firefox bug 1896047)。
廃止
- メイソンリーレイアウトのプロパティである
align-tracks
およびjustify-tracks
を削除しました。これらのプロパティは Firefox のみ実装しており、最近 仕様書から削除されました (Firefox bug 1900195)。
JavaScript
-
サイズ変更可能な
ArrayBuffer
と拡張可能なSharedArrayBuffer
をサポートしました。新しいバッファーを割り当ててデータをコピーする必要なく、バッファーのサイズを変更できます (Firefox bug 1884150)。 関連するメソッドやプロパティは以下のとおりです:SharedArrayBuffer.prototype.grow()
メソッドを使用してSharedArrayBuffer
を拡張します。 バッファーで許可される最大サイズは、SharedArrayBuffer()
コンストラクター のoptions.maxByteLength
引数で設定します。SharedArrayBuffer.prototype.growable
およびSharedArrayBuffer.prototype.maxByteLength
プロパティはそれぞれバッファーが拡張可能であるか、および許可される最大サイズを表します。ArrayBuffer.prototype.resize()
メソッドを使用してArrayBuffer
のサイズを変更します。 バッファーで許可される最大サイズは、ArrayBuffer()
コンストラクター のoptions.maxByteLength
パラメーターで設定します。ArrayBuffer.prototype.resizable
およびArrayBuffer.prototype.maxByteLength
プロパティはそれぞれバッファーがサイズ変更可能であるか、および許可される最大サイズを表します。
HTTP
- 既定のリクエストと画像のリクエスト で、HTTP
Accept
ヘッダーにimage/svg+xml
MIME タイプを含むようになりました (Firefox bug 1711622)。 - HTTP
Priority
リクエストヘッダーおよびレスポンスヘッダーを含む、RFC 9218: Extensible Prioritization Scheme for HTTP をサポートしました。これは、コネクションで送信するリソースに対して想定する相対的な優先度と、ヘッダーが送信された後に優先度を変更できる HTTP/2 および HTTP/3 のPRIORITY_UPDATE
をクライアントが示すことを可能にします (Firefox bug 1865040)。
API
RTCRtpReceiver.getParameters()
およびRTCRtpSender.getParameters()
をサポートしました。それぞれ、受信トラックおよび送信トラックでエンコードや伝送に使用する現在のコーデックを表すオブジェクトを返します (Firefox bug 1534687)。Request.bytes()
およびResponse.bytes()
をサポートしました。それぞれ、Request
およびResponse
からUint8Array
を取得するのに便利な手段です (Firefox bug 1896475)。PushMessageData.bytes()
をサポートしました。プッシュメッセージからUint8Array
オブジェクトのバイト配列としてデータを返します (Firefox bug 1897871)。Blob.bytes()
をサポートしました。Blob
からUint8Array
オブジェクトのバイト配列としてデータを返します (Firefox bug 1896509)。MediaKeys.getStatusForPolicy()
をサポートしました。DRM で保護されたコンテンツを復号するために使用する CDM モジュールが、システムでサポートされる High-bandwidth Digital Content Protection (HDCP) バージョンのような指定されたポリシー要件に基づく "仮想" キーに暗号化されたメディアの提示を許可するかを確認します。 これは最適な解像度での再生が許可されるかを、メディアキーセッションを作成したり実際のライセンスを取得したりする必要なく事前に知るためのシンプルな仕組みをアプリケーションに提供します (Firefox bug 1878714)。RTCRtpTransceiver.setCodecPreferences()
をサポートしました。WebRTC のローカルピアが受信したデータをデコードするために使用できるコーデックを、好みの順番で設定します。ウェブアプリケーションは、リモートピアに好みのコーデックを選択させたり、(再送信、冗長化、前方誤り訂正に使用するものを含む) 特定のコーデックのネゴシエーションを無効にしたりするためにこのメソッドを使用できます (Firefox bug 1396922)。ShadowRoot.getHTML()
、Element.getHTML()
メソッド、およびこれらに関連するShadowRoot.serializable
、HTMLTemplateElement.shadowRootSerializable
プロパティを含む、宣言的なシャドウ DOM のシリアライズをサポートしました。CSSPropertyRule
インターフェイスをデフォルトで有効にして、CSS の@property
アットルールを表すようになりました。このインターフェイスはname
、syntax
、inherits
、initialValue
のような、@property
アットルールを使用して定義した CSS カスタムプロパティの値を取得できます (Firefox bug 1864818)。registerProperty()
メソッドをデフォルトで有効にしました。JavaScript で CSS カスタムプロパティ を定義できます。これは、CSS の@property
アットルールを使用することに似ています (Firefox bug 1864818)。
Media、WebRTC、Web Audio
廃止
- 非標準の
HTMLMediaElement.seekToNextFrame()
メソッドを削除しました。現在はどのブラウザーもサポートしていません (Firefox bug 1336404)。
WebDriver conformance (WebDriver BiDi, Marionette)
一般
- 文字列 (WebDriver クラシック) または JSON オブジェクト (WebDriver BiDi) のいずれかになり得る、拡張された "unhandledPromptBehavior" をサポートしました。オブジェクト型は "beforeunload" プロンプトの処理など、WebDriver BiDi 向けにより多くの機能を提供します (Firefox bug 1884650)。
WebDriver BiDi
- WebDriver BiDi 仕様に準拠して、WebDriver セッションの "BiDi フラグ" をサポートしました。これにより、WebDriver BiDi 向けに作成またはアップグレードしたセッションを識別できます (Firefox bug 1898719)。
network.continueRequest
コマンドでいくつかの引数をサポートしました。これらはリクエストがネットワークへ送信される前に、ヘッダー、Cookie、メソッド、内容を変更することを可能にします (Firefox bug 1850680)。permissions.setPermission
コマンドで引数userContext
をサポートしました。これは特定のユーザーコンテキスト (Firefox ではコンテナーとして実装) へのパーミッションを分離することを可能にします (Firefox bug 1894217)。browsingContext.navigate
で、ナビゲーションエラーによりエラーページが読み込まれて以降のコマンドが失敗する不具合を修正しました (Firefox bug 1878690)。- リダイレクトにより
network.responseCompleted
イベントが発生する順序を修正しました。元のリクエストのresponseCompleted
が、常にリダイレクトのイベントより前に発生するようになりました (Firefox bug 1879580)。 - 現在の Firefox の動作に合わせて、対象のコンテキストに読み込まれたページと同じドメインに "storage.setCookie" コマンドで追加された Cookie を分離しないための回避策を導入しました (Firefox bug 1898222)
input.setFiles
コマンドを、指定したファイルが存在しない場合にUnsupportedOperation
エラーが発生するように更新しました (Firefox bug 1887644)。
Marionette
- WebDriver クラシック仕様に準拠して、WebDriver セッションの "HTTP フラグ" をサポートしました。これにより、WebDriver クラシック向けに作成したセッションを識別できます (Firefox bug 1884090)。
- WebDriver クラシックで Permissions API をサポートしました (Firefox bug 1524074)。
アドオン開発者向けの変更点一覧
- 静的な宣言型ネットワークリクエストのルールセットのルールを
declarativeNetRequest.updateStaticRules
で有効化または無効化する機能、および静的ルールセットで無効化されたルールをdeclarativeNetRequest.getDisabledRuleIds
で取得する機能を追加しました (Firefox bug 1810762)。 declarative_net_request
マニフェストキー で定義された静的な宣言型ネットワークリクエストのルールが、認識できないプロパティを含むがほかのプロパティが有効である場合に読み込まれるようになりました (Firefox bug 1886608)。proxy.settings
プロパティのproxyDNS
の既定値が、SOCKS4 を使用する場合はfalse
、SOCKS5 を使用する場合はtrue
になりました。以前は、SOCKS4 および SOCKS5 で既定値がfalse
でした (Firefox bug 1741375)。- 非標準の Web API イベント
overflow
およびunderflow
が非推奨になりました。Firefox 131 のリリースより前に、拡張機能の文書からこれらのイベントの使用方法を削除する予定です (Firefox bug 1898445)。 - ウェブページの実行環境でスクリプトを実行する機能をサポートしました。これは
scripting
API でExecutionWorld
のMAIN
をサポートすること、contentScripts.register()
API にworld
を追加すること、content_scripts
マニフェストキーでworld
をサポートすることにより提供されます (Firefox bug 1736575)。 scripting
API が、about:blank
、about:srcdoc
、data:
URL によりサンドボックス化されたページへスクリプトや CSS を挿入できるようになりました。これはscripting.RegisteredContentScript
へmatchOriginAsFallback
を導入することにより、scripting.executeScript
、scripting.insertCSS
、scripting.removeCSS
(Firefox bug 1475831 およびscripting.registerContentScripts
、scripting.updateContentScripts
(Firefox bug 1853411 に実装しました。content_scripts
マニフェストキー でmatch_origin_as_fallback
、およびcontentScripts.register
でmatchOriginAsFallback
をサポートしました。CSP や iframe サンドボックスの使用によりドキュメントのオリジンが不明瞭なときに、about:
、data:
、blob:
ページへスクリプトを挿入可能にします (Firefox bug 1475831、Firefox bug 1896669)。また、match_origin_as_fallback
がtrue
である場合に、content_scripts
マニフェストキーで登録されたスクリプトをblob:
ページに限り実行可能になりました (Firefox bug 1897113)。
実験的なウェブ機能
以下の機能は Firefox 128 で新たに導入しましたが、デフォルトで無効です。これらを実験するには、about:config
ページで適切な設定項目を検索して true
に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。
-
既定および画像のリクエストで
image/jxl
MIME タイプを Accept ヘッダーに追加:image.jxl.enabled
.- 既定のリクエストと画像のリクエスト で、HTTP
Accept
ヘッダーでimage/jxl
MIME タイプのサポートを示すように設定できます (Firefox bug 1711622)。
- 既定のリクエストと画像のリクエスト で、HTTP
-
Cookies Having Independent Partitioned State (CHIPS):
network.cookie.CHIPS.enabled
。CHIPS, または "partitioned cookies" は、開発者が
Set-Cookie
HTTP ヘッダーのpartitioned
ディレクティブを使用して、Cookie を分離された記憶領域へ保存できるようにします。これを設定すると Cookie がトップレベルごとに分離された記憶領域に保存されて、同じトップレベルサイトかサブドメインに限り読み取れるようになります。これはクロスサイトトラッキングを防ぎながら、サイトのさまざまなサブドメインにわたって埋め込み地図やチャットウィジェットの状態を維持するなどの、適切なサードパーティ Cookie の利用を可能にします (Firefox bug 1898253)。
過去のバージョン
- Firefox 127 for developers
- Firefox 126 for developers
- Firefox 125 for developers
- Firefox 124 for developers
- Firefox 123 for developers
- Firefox 122 for developers
- Firefox 121 for developers
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers