Firefox 151 release notes for developers (Stable)
このページでは、開発者に影響する Firefox 151 の変更点をまとめています。 Firefox 151 は、米国時間 2026 年 5 月 19 日 にリリースされました。
ウェブ開発者向けの変更点一覧
>HTML
shadowrootslotassignment属性 を<template>要素でサポートしました。シャドウルートのスロット割り当て動作を宣言的に定義できます。 この属性は、JavaScript でShadowRoot.slotAssignmentまたはHTMLTemplateElement.shadowRootSlotAssignmentに反映されます (Firefox bug 2031295、Firefox bug 2023824)。
CSS
-
@containerCSS アットルールはstyle()クエリーをサポートします。これはコンテナーが有効な CSS 宣言、CSS プロパティ、カスタムプロパティを保持しているかを確認して、その結果に従って子孫にスタイルを適用することができます (Firefox bug 2016929、Firefox bug 2019254、Firefox bug 2024601、Firefox bug 2030645)。 -
position-anchorCSS プロパティで値normal(既定値) をサポートしました。これによりposition-areaプロパティとのマッチングが可能になり、position-areaプロパティを更新するとposition-anchorプロパティも同様に更新されます (Firefox bug 2030351)。
JavaScript
変更なし。
API
Sanitizer.replaceElementWithChildren()メソッドが、(Firefox 150 で不可になった<html>に加えて) SVG 名前空間 で置き換えられる要素が<svg>である場合、あるいは MathML 名前空間で置き換えられる要素が<math>である場合にfalseを返すようになりました (Firefox bug 2032359)。- Document Picture-in-Picture API をデスクトップ版でサポートしました。 これは、任意の HTML コンテンツを収められる 最前面表示ウィンドウ を開くことができます。 これはビデオ会議の参加者を表示するストリームのセット、ストックティッカー、カウントダウンタイマーなど、ユーザーが起動ページ (またはブラウザー) から切り離して表示したい任意のコンテンツを表示するために使用できます (Firefox bug 2006594)。
- キャンバスで描画するコンテンツの言語を設定するために、
CanvasRenderingContext2D.langプロパティをサポートしました。 DOM キャンバスは関連づけられた<canvas>要素のlang属性からこのコンテキストを継承しますが、これは<canvas>に関連づけられる前にレンダリングされる可能性があるオフスクリーンのキャンバスにコンテキストを設定する時に役立ちます (Firefox bug 1943070)。 options.keyboardLockプロパティを、Element.requestFullscreen()のオプションとして渡すことが可能になりました。要素を全画面モードで表示しているときに、ウェブサイトからキーボードのロックを要求できます。 これは Esc キーによる要素の全画面表示の解除を無効にする (代わりに長押しが必要です)、および以前から予約されていたいくつかのブラウザーのショートカットキーに介入してデフォルトのアクションを抑止することができます (Firefox bug 2032302)。CanvasRenderingContext2D.langプロパティをサポートしました。オフスクリーンのキャンバスのレンダリング言語を明示的に指定する、およびレンダリングコンテキスト作成後に言語を変更することができます (Firefox bug 1943070)。GPUSupportedLimitsのmaxStorageBuffersInFragmentStage、maxStorageBuffersInVertexStage、maxStorageTexturesInFragmentStage、maxStorageTexturesInVertexStageプロパティを部分的にサポートしました。 これらのプロパティは、maxStorageBuffersPerShaderStageおよびmaxStorageTexturesPerShaderStageの制限値を報告します。 デバイスを作成するときにステージ単位の制限値として要求した値は無視されます (Firefox bug 2006720)。@containerアットルールでカンマ区切りによる複数のコンテナー条件をサポートしたことを反映して、CSSContainerRule.conditionsプロパティをサポートしました。conditionプロパティは対応する@containerをオブジェクトの配列として反映しており、それぞれのオブジェクトがひとつのコンテナー条件を表します (Firefox bug 2022827)。- Web Serial API をデスクトップ環境でサポートしました。シリアル通信をサポートするマイクロコントローラーを制御できます。 これにより、たとえば ESP デバイス、BBCmicro:bit、Raspberry Pi Pico、3D プリンター、CNC 機械装置などサポートされているデバイスの、マイクロコントローラーのプログラムやボードの開発ができます。 API を使用するには、ウェブサイトのユーザーによる 合成的に生成されたサイト権限アドオン のインストールが必要です。これは WebMIDI へのアクセスを安全に管理するために使用する方法と同じです (Firefox bug 2029625)。
WebDriver への適合 (WebDriver BiDi, Marionette)
一般
touchサブタイプのポインターアクションでaltitudeAngleおよびazimuthAngleをサポートしました。これらのプロパティにより、ポインターが表面に接触する角度やその回転方向を指定することで、正確な角度方向データを伴うタッチ操作をシミュレーションできます (Firefox bug 2022644)。- コンテンツページから発生した
UnknownErrorDOM 例外が、誤って WebDriver の内部エラーとして扱われる不具合を修正しました (Firefox bug 2032387)。
WebDriver BiDi
browser.setClientWindowStateコマンドを実装しました。このコマンドは最大化、最小化、全画面、通常といった、ブラウザーウィンドウの OS レベルの状態をクライアントが変更することができます。また、ウィンドウの位置変更やサイズ変更も可能です (Firefox bug 1855028)。script.getRealmsに、ワーカーレルム (専用ワーカー、共有ワーカー、サービスワーカー) のサポートを追加しました。このコマンドはウィンドウのコンテキストに加えて、ワーカースクリプトのレルム情報を返すようになりました (Firefox bug 2016097)。- すべての Console API メッセージの
log.entryAddedイベントに、最上位のスタックフレームを含めるようになりました (Firefox bug 1941813)。 log.entryAddedイベントのtextフィールドを、Firefox 開発ツールの動作と Google Chrome の WebDriver BiDi 実装により適合させるために改良しました (Firefox bug 2005054)。- ネットワークイベントの Cookie が、
nameおよびvalueだけでなくすべてのプロパティを含むように修正しました (Firefox bug 1887118)。 network.getDataコマンドがリダイレクトでタイムアウトする問題を修正しました (Firefox bug 2009916)。browsingContext.reloadコマンドが、ナビゲートされた iframe の位置情報をリセットしない問題を修正しました (Firefox bug 2023917)。- プロキシーが指定されていない場合に、
session.newコマンドの応答から空のproxy機能を削除しました (Firefox bug 1916463)。
Marionette
- ヘッドレスモードにおいて、Linux Wayland 環境でブラウザーウィンドウの位置変更が可能になりました (Firefox bug 2023978)。
アドオン開発者向けの変更点一覧
webRequest.onErrorOccurredイベントが、NS_ERROR_NET_ON_またはNS_ERROR_NET_UNKNOWN_から始まる文字列に代わってNS_ERROR_NET_ON_RECEIVING_FROMにフォールバックするようになりました。この変更は、onErrorOccurredイベントのパフォーマンスや信頼性の向上の一環です (Firefox bug 1881986)。- 分割ビューのタブのひとつを含めて
tabs.group()およびtabs.ungroup()を呼び出したときに、分割ビューを正しく追加および削除するようになりました。以前は呼び出しが失敗するか、分割ビューを分離していました (Firefox bug 2029099)。 - 分割ビューのタブのひとつを含めて
tabs.move()を呼び出したとき、分割ビューを正しく右へ移動するようになりました。以前は左またはタブ一覧の末尾にだけ移動しました (Firefox bug 2027855)。
実験的なウェブ機能
以下の機能は Firefox 151 で導入しましたが、デフォルトで無効です。
これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。
実験的機能 のページで、さらに多くの機能を確認できます。
-
@container style()の範囲指定構文クエリー:layout.css.attr.enabled@containerCSS アットルールのstyle()クエリーで 範囲指定構文 をサポートしました。これはコンテナーに有効な CSS カスタムプロパティがあることを確認して、その値を>、<、>=、<=などの比較演算子で比較して、その結果に応じて子要素へスタイルを適用できます (Firefox bug 2024601)。 -
field-sizingプロパティ:layout.css.field-sizing.enabledfield-sizingCSS プロパティは、フォームコントロール要素のサイズ設定の動作を制御できます。このプロパティは値が 2 つあり、contentは要素が内容物に合わせてサイズを調整できます。またfixedは、要素に固定のサイズを設定します (Firefox bug 1977176)。 -
MathML で
<a>以外の要素のhrefを無効化:mathml.href_link_on_non_anchor_element.disabledこの設定を有効にすると MathML Core specification に準拠して、
<a>以外の MathML 要素でhrefグローバル属性がハイパーリンクを作成しなくなります (Firefox bug 2026848)。 -
入れ子のスクロールバー領域の修正:
layout.css.fake-webkit-scrollbar.enabledこの実装は、スクロール可能なコンテンツに到達できない問題を修正するために追加しました。スクロールバーを
display: none;またはwidth: 0;に設定すると、入れ子になったスクロール可能な領域のスクロールバーが互いに重なり合い、一部のコンテンツに到達できなくなる場合があります (Firefox bug 1977511)。 -
<timeline-range-name>の値:layout.css.scroll-driven-animations.enabledanimation-range-start、animation-range-endCSS プロパティおよびanimation-rangeショートハンドプロパティで<timeline-range-name>の値をサポートしました。これらの<timeline-range-name>の値は、スクロール連動アニメーションをどのセグメントで実行するかを正確に指定できます (Firefox bug 1804775)。 -
GeometryUtils のメソッド:
convertPointFromNode()、convertRectFromNode()、convertQuadFromNode():layout.css.convertFromNode.enabledGeometryUtils のメソッド
convertPointFromNode()、convertRectFromNode()、convertQuadFromNode()は、Firefox Nightly ではデフォルトで無効になりました (Firefox bug 2026051)。 -
GeometryUtils のメソッド:
getBoxQuads():layout.css.getBoxQuads.enabledGeometryUtils のメソッド
getBoxQuads()は、Firefox Nightly ではデフォルトで無効になりました (Firefox bug 2026051)。