Firefox 148 release notes for developers (Stable)
このページでは、開発者に影響する Firefox 148 の変更点をまとめています。 Firefox 148 は、米国時間 2026 年 2 月 24 日 にリリースされました。
ウェブ開発者向けの変更点一覧
>HTML
- 最初の
about:blank文書を同期的に読み込むようになりました。ブラウジングコンテキストの最初のナビゲーションがabout:blankに解決される場合があります (たとえば、最初の URL が空のときやabout:blankを明示的に設定したとき)。このような場合に Firefox は、最初の空の文書を非同期に読み込んだ第二の文書へ置き換えるのではなく、最初の文書で同期的にloadイベントを発生させます (Firefox bug 543435)。
CSS
-
CSS アンカー位置指定 の
position-areaプロパティが、ビューポートでアンカー位置指定された要素を正しく保持するようになりました (Firefox bug 2008537)。 -
CSS アンカー位置指定 の
position-try-orderをサポートして、利用可能な領域に基づいて試行する位置指定フォールバックオプションの順序を変更できるようになりました。これはposition-tryショートハンドプロパティにも影響を与えます (Firefox bug 1989059)。 -
overflow、overflow-x、overflow-yCSS プロパティが画像などの 置換要素 で、ほかの要素と同じ方法で使用可能になりました。 以前は、置換要素は常にバウンディングコンテナーでクリッピングされていました (Firefox bug 1999100)。 -
shape()CSS 関数がデフォルトで使用可能になりました。shape()は、1 つ以上の "シェイプコマンド" を使用してclip-pathおよびoffset-pathプロパティでシェイプを定義できる<basic-shape>データ型です。これらのコマンドは the SVG パスコマンド によく似ています。shape()関数はいくつかの点でpath()関数に似ていますが、path()が SVG パス 構文を使用するのとは異なり、shape()は標準 CSS 構文を使用します。これにより CSS の単位や数学関数を使用することができ、シェイプの作成や編集が容易になります (Firefox bug 1982941)。
JavaScript
-
Iterator.zip()およびIterator.zipKeyed()静的メソッドをサポートしました。 これらは複数のイテレーターを "ファスナーで留める" ようにまとめて、それぞれの反復ステップで入力要素のグループを生成する新たなイテレーターを返します。 これらは、位置合わせされた複数の入力イテレーター (1 番目のイテレーターが生成した 1 番目の値が、ほかのイテレーターが生成した 1 番目の値に対応するなど) からのデータを結合することが必要な場合に役に立ちます (Firefox bug 2003333)。 -
TC39 Legacy RegExp features in JavaScript 提案を実装しました。 これは
RegExp.prototype.compile()を、RegExpのサブクラスや異なるレルムで定義されたRegExpで呼び出したときにTypeErrorが発生するように更新します。RegExp.$1–RegExp.$9やRegExp.input(および別名のRegExp.$_) といったRegExpの静的プロパティは、設定可能かつ列挙不可なものに共通化されました。 具体的には、これらがRegExpオブジェクトから削除可能になったことを意味します (Firefox bug 1306461)。
API
-
HTML Sanitizer API と、これに関連する
setHTML()などのメソッドをサポートしました。 これは HTML を DOM へ挿入する前にサニタイズすることができ、結果のコンテンツを全面的に制御して XSS 攻撃の危険性を軽減します (Firefox bug 1650370)。 -
Trusted Types API をサポートしました。 これは XSS 攻撃を媒介するために使用される可能性があるプロパティや関数が、変換関数を通したデータを伴って呼び出すことのみ可能になることを保証する仕組みを提供します。 この仕組みで、コードの安全でない使い方を検査できます。 それらはデータの変換方法を強制しませんが、たとえばユーザーが提供した文字列で安全でない HTML 要素をサニタイズするために使用できるでしょう (Firefox bug 1994690)。
-
Location.ancestorOriginsプロパティをサポートしました。これは文書が<iframe>に埋め込まれているか否か、また埋め込まれている場合はどのサイトに埋め込まれているかを確認できます (Firefox bug 1085214)。 -
pointerrawupdateイベントのmovementXおよびmovementYプロパティは、ポインターが移動したときに値が設定されるようになりました。以前はゼロが設定されていました (Firefox bug 1987671)。 -
Navigation API の
NavigationPrecommitController.addHandler()メソッドをサポートしました。 このメソッドはコミット前のナビゲーションハンドラーの内部で、コミット後のハンドラーを動的に登録するために使用できます。これはコミットしたナビゲーションのアクションがコミット前のフェーズで読み込むデータに依存する場合に便利です (Firefox bug 2009004)。
DOM
- (ウェブ拡張機能に加えて) ウェブコンテンツで
Document.execCommand()の "paste" コマンドが使用可能になりました。 これは Clipboard API を使用して実装しており、たとえばクロスオリジンのコンテンツを貼り付けるときに一時的な許可やユーザーの承認が必要といった、セキュリティの考慮 も同じく共有します (Firefox bug 1998195)。
WebDriver への適合 (WebDriver BiDi, Marionette)
一般
- 新しいウィンドウを開くときに必要なブラウザー機能を初期化する間の競合状態を解消して、直ちに別の URL へ移動する際の問題を防止します (Firefox bug 1891028)。
- Marionette で WebDriver BiDi の
clientWindowID を誤ってウィンドウハンドルとして使用した場合の、Marionette と WebDriver BiDi の相互運用性の問題を修正しました (Firefox bug 2002949)。
WebDriver BiDi
- ブラウザーの chrome スコープ (Firefox のウィンドウ自身) との対話機能の初期サポートを追加しました。
browsingContext.getTreeコマンドがベンダー固有引数moz:scopeを受け入れるようになり、値chromeを設定して Firefox を--remote-allow-system-access引数を伴って起動したときに chrome コンテキストを返します。これらのコンテキストは Gecko API へアクセスできる特権付き JavaScript を実行するために、script.evaluateやscript.callFunctionと合わせて使用できます。ほかのコマンドはまだ chrome コンテキストでサポートしていませんが、必要に応じて段階的にサポートする予定です (Firefox bug 1944568、Firefox bug 1944570、Firefox bug 1851788)。 emulation.setGeolocationOverrideおよびemulation.setScreenOrientationOverrideコマンドを、新たなリセット動作を実装するために更新しました。コンテキストは引数contextsが与えられた場合に限ってリセットされます。また、ユーザーコンテキストは引数userContextsを指定した場合に限ってリセットされます (Firefox bug 1998732、Firefox bug 1998734)。browsingContext.createで、フォアグラウンドで新しいタブを開くとドキュメントが表示される前に処理から戻る可能性がある競合状態を修正しました (Firefox bug 2003857)。- エラーページにリダイレクトするナビゲーションで発生する不具合を修正しました (Firefox bug 2013822)。
network.getDataで、チャンク化されたレスポンスボディをデコードするときにサイズ不一致のためにRangeErrorが発生する不具合を修正しました (Firefox bug 2004973)。browsingContext.userPromptOpenedおよびbrowsingContext.userPromptClosedイベントが、誤って iframe のコンテキスト ID ではなくトップレベルのコンテキスト ID を報告する不具合を修正しました (Firefox bug 1964905)。- WebDriver BiDi でコマンドの実行中に、選択したコンテキストが使用できなくなった場合のパフォーマンスを約 100 ミリ秒改善しました (Firefox bug 1934326)。
Marionette
- Reporting API でテストレポートを生成する ための
Reporting:GenerateTestReportコマンドを追加しました (Firefox bug 1909662)。
実験的なウェブ機能
以下の機能は Firefox 148 で導入しましたが、デフォルトで無効です。
これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。
実験的機能 のページで、さらに多くの機能を確認できます。
-
Document Picture-in-Picture API (Nightly):
dom.documentpip.enabledDocument Picture-in-Picture API は、独自のコントロールをもつ動画やビデオ会議の参加者を表示するストリームなど任意の HTML コンテンツを収めることができる、常に手前に表示されるウィンドウを開くことができます (Firefox bug 1858562)。