Firefox 126 開発者向けリリースノート
このページでは、開発者に影響する Firefox 126 の変更点をまとめています。Firefox 126 は、米国時間 2024 年 5 月 14 日 にリリースされました。
ウェブ開発者向けの変更点
>開発者ツール
- コンソールペインを無効化するオプションを追加しました (Firefox バグ 1731635)。
HTML
変更なし。
MathML
廃止
- 垂直方向に中央揃えされる演算子 (+、=、< など) の自動調整を、デフォルトで無効にしました。この動作は MathML Core で定義されておらず、数式以外のフォントの回避策に限って必要なものでした。設定項目
mathml.centered_operators.disabledをfalseにすると、この動作を有効化できます(Firefox バグ 1890531)。
CSS
zoomプロパティをサポートしました。要素やその内容物のサイズを拡大または縮小するために使用できます (Firefox バグ 390936)。
JavaScript
変更なし。
HTTP
Content-EncodingHTTP ヘッダーでzstdディレクティブをサポートしました。Zstandard compression アルゴリズムでエンコードされた、サーバーから送信されるコンテンツをデコードできます (Firefox バグ 1871963)。
API
-
使用可能な IndexedDB API データベースを列挙する
IDBFactory.databases()をサポートしました (Firefox バグ 934640)。 -
トランザクションを作成した際に設定した、トランザクションの永続性のヒントを確認できる
IDBTransaction.durabilityが使用可能になりました (Firefox バグ 1878143)。 -
URL.parse()静的メソッドでURLオブジェクトの生成をサポートしました。これは渡したパラメーターが有効なURLでない場合にnullを返しますので、URLコンストラクター でURLオブジェクトを生成するための、例外を発生させない代替手段として使用できます (Firefox バグ 1823354)。 -
Screen Wake Lock API をサポートしました。ウェブアプリケーションがアクティブな間は、スクリーンを暗くしたりロックしたりしないように要求できます。これはナビゲーションや読書のアプリケーション、および通常は起動したままにして使用中は通常のタッチ操作を受け取らない、その他のアプリケーションで特に役に立ちます。この API は保護されたコンテキストで
Navigator.wakeLockを通して使用でき、WakeLockを返します。wake lock の状態を監視したり手動で解放したりするために使用できるWakeLockSentinelを要求できます (Firefox バグ 1589554、Firefox バグ 1874849)。 -
RTCIceCandidateで、未実装のrelayProtocolおよびurlプロパティを除くすべてのプロパティやメソッドをサポートして、仕様書に準拠するようになりました。RTCIceCandidateのプロパティで以下の変更があります:- 以下のプロパティは読み取り専用になりました:
candidate、sdpMid、sdpMLineIndex、usernameFragment。 - 以下のプロパティを追加しました:
foundation、component、priority、address、protocol、port、type、tcpType、relatedAddress、relatedPort、usernameFragment。
- 以下のプロパティは読み取り専用になりました:
-
要素で有効な CSS zoom を取得する、読み取り専用の
Element.currentCSSZoomプロパティをサポートしました (Firefox バグ 1880189)。
DOM
- カスタム要素の状態を定義して、CSS セレクターを使用してそれらをマッチさせる機能をサポートしました。
カスタム状態は要素の
ElementInternals.statesプロパティ (CustomStateSet) で追加または削除できる、カスタム識別子として表されます。CSS の:state()擬似クラスはカスタム識別子を引数として持ち、識別子が状態セットに含まれているカスタム要素にマッチします (Firefox バグ 1887543)。 - 選択範囲の方向を示す
Selection.directionプロパティをサポートしました (Firefox バグ 1867058)。
Media、WebRTC、Web Audio
廃止
- HTML
<marquee>要素 のbounce、finish、startイベントをHTMLMarqueeElementから削除しました。また、イベントに対応するイベントハンドラー属性も削除しました (Firefox バグ 1689705)。 - Theora コーデックはデフォルトで無効化されており、今後のリリースで削除される予定です (Firefox bug 1860492).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- ネットワーク要求の傍受を特定のトップレベル閲覧コンテキストに限定するための
contexts引数を、network.addInterceptコマンドに追加しました (Firefox バグ 1882260)。 session.subscribeおよびsession.unsubscribeコマンドで、eventsまたはcontexts引数の値が空の配列であるときにinvalid argumentエラーが発生するようになりました (Firefox バグ 1887871)。storage.getCookiesコマンドの実装を、Gecko の既定の Cookie の動作に合わせて更新しました。これは CDP 実装だけが設定すると想定していた、設定項目network.cookie.cookieBehaviorのユーザー設定値を削除できます (Firefox バグ 1879503)。- もはや必要ないため、
browsingContext.locateNodesコマンドのownershipおよびsandbox引数を削除しました (Firefox バグ 1884935)。 session.newコマンドで capability が指定されていないときのエラーメッセージを改善しました (Firefox バグ 1838152)。
アドオン開発者向けの変更点一覧
commands.onCommandコマンドが、tab引数をイベントリスナーに渡すようになりました。これは拡張機能がtabs.query()を呼び出す必要なく、発生したショートカットをページに適用できるようにします (Firefox バグ 1843866)。runtime.MessageSender型がoriginプロパティを含むようになりました。これはメッセージや接続要求が、接続を開始したページやフレームを確認することを可能にします。これはオリジンが URL から明らかでないときに、オリジンを信頼できるかを明確にするのに役立ちます (Firefox バグ 1787379)。"webRequestAuthProvider"パーミッションをサポートしました。これは Manifest V3 のwebRequest.onAuthRequiredのパーミッション要求について、Chrome と互換性があります (Firefox バグ 1820569)。options_pageマニフェストキー を、options_uiキーの別名として提供します。これは拡張機能に対して、Chrome とのよりよい互換性を提供します (Firefox バグ 1816960)。tabs.captureVisibleTabメソッドがactiveTabパーミッション でも使用可能になり、Chrome や Safari との互換性を提供します (Firefox バグ 1784920)。
実験的なウェブ機能
以下の機能は Firefox 126 で新たに導入しましたが、デフォルトで無効です。これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。
-
シャドウ DOM 境界を超えた範囲選択:
dom.shadowdom.selection_across_boundary.enabled。Selection.getComposedRanges()メソッドを使用して、シャドウ DOM の内部にアンカーやフォーカスノードがある選択範囲を取得できます。ただし、それらのノードを包含するShadowRootオブジェクトを渡した場合に限ります。SelectionのsetBaseAndExtent()、collapse()、extend()メソッドも、シャドウルートの内部にあるノードを受け入れるように変更しました (Firefox バグ 1867058)。 -
CSS
shape()関数:layout.css.basic-shape-shape.enabled。shape()関数を使用して、clip-pathおよびoffset-pathプロパティでシェイプを定義できます。この関数は定義できるシェイプをきめ細かく設定することができ、path()関数より多くの利点をもたらします (clip-pathにおけるshape()関数のサポートは Firefox バグ 1823463、offset-pathにおけるshape()関数のサポートは Firefox バグ 1884424、shape()の補完のサポートは Firefox バグ 1884425)。