Firefox 125 for developers
このページでは、開発者に影響する Firefox 125 の変更点をまとめています。Firefox 125 は、米国時間 2024 年 4 月 16 日 にリリースされました。
ウェブ開発者向けの変更点一覧
>HTML
変更なし。
CSS
align-contentプロパティを、display: block;レイアウトで動作するように更新しました。これはflexやgridからblockまですべてのレイアウト位置で、開発者はコンテナーをflexやgridに変換することなくブロックレベル要素を整列できるようになります (Firefox bug 1882853)。- CSS の
transform-boxプロパティで、値content-boxおよびstroke-boxをサポートしました。値content-boxは content box を参照ボックスとして使用します。また、値stroke-boxは SVG の図形を包含するストロークのバウンディングボックスを参照ボックスとして使用します (Firefox bug 1868374)。 content-visibilityCSS プロパティの値autoをデフォルトで有効にしました。これは、ユーザーとの関連性 がない場合にコンテンツのレンダリングを省くことを可能にします。(Firefox bug 1874874)
JavaScript
- 開発者が文字列でロケールに依存したテキスト分割を実行できる
Intl.Segmenterをサポートしました。 たとえばIntl.Segmenter("ja-JP", { granularity: "word" })で、単語を分けるためにスペースを使用しない言語でテキストを単語に分割できます。 また、文字列を書記素や文に区切ることもできます (Firefox bug 1423593、Firefox bug 1883914)。
API
-
アクションメニュー、独自の "トースト" 通知、フォーム要素の候補、コンテンツ選択などに使用できる "ポップオーバー" UI の作成を可能にする Popover API を完全にサポートしました。 ポップオーバーやそれを起動するボタンおよび入力は、HTML 属性や JavaScript を使用して作成、および CSS を使用してスタイル設定できます。
以下の Web API を実装しました:
HTMLButtonElementのpopoverTargetElementおよびpopoverTargetActionプロパティ。HTMLInputElementのpopoverTargetElementおよびpopoverTargetActionプロパティ。HTMLElementのpopoverプロパティ、およびhidePopover()、showPopover()、togglePopover()メソッド、および (ToggleEvent型の)beforetoggle、toggle_eventイベント。
ポップオーバーと共に使用する、以下の CSS 擬似クラスをサポートしました:
:popover-open::backdropを、ポップオーバーをサポートするように拡張しました
以下の HTML グローバル属性をサポートしました:
-
RTCIceTransportのstateおよびgatheringStateプロパティと、これらに関連づけられるstatechangeおよびgatheringstatechangeイベントをサポートしました。また、RTCDtlsTransport.iceTransportプロパティ (RTCDtlsTransportの基礎をなすRTCIceTransportを返します) もサポートしました。 これらは、RTCPeerConnectionのiceGatheringStateおよびconnectionStateプロパティで提供されるものよりとてもきめ細かいモニタリングを可能にします。 (Firefox bug 1811912) -
Element.ariaBrailleLabelおよびElement.ariaBrailleRoleDescriptionをサポートしました。それぞれ、ARIA のグローバル HTML 属性であるaria-braillelabelおよびaria-brailleroledescriptionを反映します (Firefox bug 1861201)。 -
キャンバスが一時的に自身の 2D コンテキストを失ったとき、ウェブアプリケーションが体裁よく回復できるようになりました。これはキャンバスが GPU でハードウェアアクセラレーションされていて、GPU のドライバーがクラッシュしたときに発生する可能性があります (Firefox bug 1887729)。 以下は、キャンバスのコンテキストが失われたり回復したりするときのイベントの詳細情報です:
- アプリケーションで
contextlostおよびcontextrestoredイベントを監視できます。これらはそれぞれ、コンテキストが失われたり回復したりしたときにHTMLCanvasElementで発生します。また、CanvasRenderingContext2D.isContextLost()を使用してコンテキストを確認することもできます。 contentlostが発生した後、ブラウザーはデフォルトで失われたコンテキストの再開を試みますが、コードでイベントをキャンセルするとこの動作を抑止できます。- オフスクリーンキャンバスも同じ方法で監視できますが、
OffScreenCanvasのcontextlostおよびcontextrestoredイベントをOffscreenCanvasRenderingContext2D.isContextLost()とともに使用します。
- アプリケーションで
-
<template>要素のshadowrootclonable属性、およびこれを反映してHTMLTemplateElementインターフェイスのshadowRootClonableプロパティをサポートしました。 これらは、[<template>] 要素を使用して宣言的に作成したShadowRootのclonableプロパティを設定します (Firefox bug 1880188)。 -
ClipboardインターフェイスのreadText()メソッドが、システムのクリップボードからテキストの非同期読み取りをサポートしました。 異なるオリジンのページから提供されたクリップボードデータを読み取るときは、ユーザーに貼り付けのコンテキストメニューを表示します (Firefox bug 1877400)。
Media、WebRTC、Web Audio
- AV1 コーデックを Encrypted Media Extensions でサポートしました。動画ストリーミング提供者から、より高品質な再生が可能になります (Firefox bug 1601817)。
廃止
SVGAElement.textプロパティを削除しました。textContentプロパティ (Nodeから継承) が広くサポートされており、代わりに使用するべきです (Firefox bug 1880689)。
WebAssembly
- Wasm モジュールで、複数の独立した線形メモリーの使用をサポートしました。 複数のメモリーは、モジュール間のより効率的な相互運用性と、将来の Wasm 標準向けのポリフィルを可能にします。これらはたとえば、内部データと共有データ、一時的なデータと持続的なデータ、スレッド間で共有が必要なデータを分離したメモリーとして作成するために使用できます。 メモリーは JavaScript で作成して Wasm モジュールにインポートする、または Wasm モジュールで作成してエクスポートすることができます。 Wasm インスタンス内にあるそれぞれの新規線形メモリーに、ゼロから始まる連番のインデックスが与えられます。 WebAssembly の メモリー命令 で、操作するメモリーを参照するためにインデックスを使用します。インデックスを指定しない場合は、最初のメモリーが既定値として定義されます。 詳しくは WebAssembly テキスト形式の理解 で WebAssembly メモリー をご覧ください (Firefox bug 1860816)。
WebDriver conformance (WebDriver BiDi, Marionette)
一般
- エンドポイントノードの既定の User-Agent の値を特定する "userAgent" capability をサポートしました (Firefox bug 1885495)。
WebDriver BiDi
type="file"である<input>要素のファイルを設定または更新できる、input.setFiles コマンドをサポートしました (Firefox bug 1855040)。- Cookie を削除する、storage.deleteCookies コマンドをサポートしました (Firefox bug 1854581)。
- Cookie 関連コマンドの "partition" 引数のフィールドとして "userContext" をサポートしました (Firefox bug 1875255)。
- storage.getCookies が、指定した "sourceOrigin" で想定されるすべての Cookie を取得しない不具合を修正しました (Firefox bug 1884647)。
- リモートプロトコルが WebDriver BiDi のみである場合に、推奨設定が適用されない不具合を修正しました。すなわち、CDP が有効であったとしても無効化されます (Firefox bug 1882748)。
- 新しいタブの作成や切り替えが、
visibilityStateが更新されるのを待たない不具合を修正しました (Firefox bug 1877469)。
アドオン開発者向けの変更点一覧
proxy.ProxyInfoのproxyAuthorizationプロパティの内容を、CONNECT リクエストの一部として (すでにサポートする HTTPS プロキシー向けに加えて) HTTP プロキシーに送信するProxy-Authorizationリクエストヘッダーに渡すようになりました (Firefox bug 1794464)。
実験的なウェブ機能
以下の機能は Firefox 125 で新たに導入しましたが、開発者向けリリースまたは設定した場合に限り使用できます。これらを試すには、about:config ページで適切な設定項目を検索して有効化または無効化されているかを確認します。これらの機能につて詳しく学ぶには、実験的機能 のページをご覧ください。
-
CSS
transition-behavior:layout.css.transition-behavior.enabled。transition-behaviorプロパティは、Nightly リリースにおいて既定で有効です。 制作者はこのプロパティで、離散アニメーション のプロパティに CSS トランジションを適用するかを制御できます (Firefox bug 1882408、Firefox bug 1805727)。 -
区分コンテンツ内の
<h1>のユーザーエージェントスタイル:layout.css.h1-in-section-ua-styles.enabled。区分要素
<article>、<aside>、<nav>、<section>の内部にある<h1>見出しのフォントサイズは小さくなりません。HTML 仕様書からアウトラインのアルゴリズムが 削除された ため、区分要素の内部にある<h1>のユーザーエージェントスタイルは適切でなくなりました (Firefox bug 1883896)。注記: この機能の設定は逆に機能します。Nightly ビルドでは
falseに設定しており、区分要素の内部にある見出しのユーザーエージェントスタイルを削除します。その他すべてのチャンネルではtrueに設定しており、入れ子になった見出し用の既存のユーザーエージェントスタイルを維持します。
過去のバージョン
- 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
- Firefox 96 for developers
- Firefox 95 for developers
- Firefox 94 for developers