このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Firefox 149 release notes for developers (Stable)

このページでは、開発者に影響する Firefox 149 の変更点をまとめています。 Firefox 149 は、米国時間 2026 年 3 月 24 日 にリリースされました。

ウェブ開発者向けの変更点一覧

HTML

  • popover グローバル属性で値 hint をサポートしました。hint のポップオーバーは表示されるときに auto のポップオーバーを閉じませんが、ほかの hint ポップオーバーを閉じます (Firefox bug 1867743)。

MathML

  • CSS の font-family: math プロパティをサポートして、デフォルトで <math> 要素へ適用するようになりました。 これは基盤の OS でどのフォントが提供されているかを知る必要なく、ウェブサイトが適切な数式フォントや MathML を使用できることを確実にします (Firefox bug 2014703)。

CSS

JavaScript

API

DOM

Media、WebRTC、Web Audio

  • HTMLMediaElement.captureStream() メソッドをサポートしました。 これは、要素のコンテンツのリアルタイムキャプチャーをストリーミングするオブジェクトを返します。 このストリームは、たとえば WebRTC RTCPeerConnection のソースとして使用できます。 以前は captureStream() が、非標準の mozCaptureStream() メソッドとしてのみ使用可能でした (Firefox bug 2017708)。

  • MediaElementAudioSourceNode が、(仕様書での要件により) すべての種類のソースにおいて音声をキャプチャーする際にメディア要素の音量に従うようになりました。 以前は、要素の音量設定が MediaStream のソースとしてキャプチャーした音声に影響がありませんでした (Firefox bug 2010427)。

  • HTMLMediaElement.mozCaptureStream() メソッドが (仕様書での要件により)、メディア要素が再生しているソースの種類に関係なく、メディア要素の音量を適用せずにソースから生の音声をキャプチャーするようになりました。 この変更を施す前はメディア要素の音量が、キャプチャーしたストリームの音量に影響を与えていました (Firefox bug 2010427)。

WebDriver への適合 (WebDriver BiDi, Marionette)

一般

  • WebDriver BiDi および WebDriver classic プロトコルで、要求したスクリーンショットの領域がサポートされる最大寸法を超えた場合に、黙ってクリッピングするのではなく正しくエラーを返すようにスクリーンショットの実装を更新しました (Firefox bug 1994148)。
  • WebDriver BiDi および WebDriver classic プロトコルで、入力ソース型 wheel による scroll アクションが視覚的なビューポートの寸法を超えてスクロールできるように、アクションの実装を更新しました (Firefox bug 1962355)。

WebDriver BiDi

  • session.new コマンドのケイパビリティを通して設定可能な、ユーザープロンプトの自動処理をサポートしました (Firefox bug 1905086)。
  • browser.setDownloadBehavior コマンドを追加しました。これはクライアントがダウンロードを許可または拒否する、および個別のダウンロードフォルダーを設定することができます。この動作はセッションごと、またはユーザーコンテキストごとに設定できます (Firefox bug 1989022)。
  • ワーカーレルム (専用ワーカー、共用ワーカー、サービスワーカー) 向けに script.realmCreated および script.realmDestroyed イベントを追加しました (Firefox bug 1936770)。
  • Android で browsingContext.userPromptOpened および browsingContext.userPromptClosed イベントが、誤って iframe のコンテキスト ID ではなくトップレベルのコンテキスト ID を報告していた問題を修正しました (Firefox bug 2007385)。
  • ユーザーエージェントに固有のシャドウルートを公開しないように、DOM ノードのシリアライズ処理を修正しました (Firefox bug 2016673)。
  • window.open コマンドでブラウジングコンテキストを作成する場合に、コマンドから返る前にエミュレーション、ビューポートの上書き、プリロードスクリプトを確実に適用するように、新しいブラウジングコンテキストに異なる設定を適用する処理を更新しました (Firefox bug 1985997Firefox bug 2005546Firefox bug 2005558)。

Marionette

  • いくつかの WebDriver classic コマンドを、implicit および pageLoad のタイムアウトをスクリプトのタイムアウトと同様に処理するように更新しました。タイムアウトを無効にするための値 null を受け入れます (Firefox bug 2008345)。

アドオン開発者向けの変更点一覧

  • 分割ビューの初期サポートを追加しました。以下のサポートを含みます:

  • action.isEnabled および browserAction.isEnabled のトップレベルの引数として tabId を追加しました。この変更は、Chrome の action.isEnabled の実装との互換性を提供します (Firefox bug 2013477)。

  • ポップアップを開くための action.openPopup および browserAction.openPopup で、ユーザーのジェスチャーが必要ではなくなりました。この機能は Firefox 108 から、設定 extensions.openPopupWithoutUserGesture.enabled によって使用できました。この変更は、Firefox の動作を Chrome や Safari に合わせるものです (Firefox bug 1799344)。

  • action.openPopup または browserAction.openPopupwindowId が渡された場合に、ポップアップを開くためにウィンドウにフォーカス (アクティブ) を設定しなければなりません。フォーカスがないウィンドウでポップアップを開くには、初めに windows.update(windowId, { focused: true }) を呼び出さなければなりません。この変更は Firefox の動作を Chrome に合わせるものです (Firefox bug 2011516)。

  • structuredClone の実装を、呼び出し元のレルムではなく this のレルムでオブジェクトをインスタンス化するように変更しました。後方互換性のためコンテンツスクリプトのグローバルスコープに、window.structuredClone をシャドーイングする独自の structuredClone メソッドを含むようになりました。詳しくは Sharing objects with page scripts の structuredClone をご覧ください。

  • 拡張機能が tabs.executeScripttabs.insertCSStabs.removeCSSscripting.executeScriptscripting.insertCSSscripting.removeCSS によって、moz-extension: 文書で動的にコードを実行する機能が非推奨になりました (Firefox bug 2011234)。この機能は Firefox Nightly では使用できず、Beta および Release 版の Firefox ではタブのコンソールで警告が表示されます。この制限は Firefox 152 以降ですべてのバージョンに適用する予定です。(Firefox bug 2015559) 代替手段として文書のスクリプトで runtime.onMessage リスナーを登録して、要求したコードを実行するためにメッセージを送信することで、拡張機能が文書内で動的にコードを実行できます。

  • ダークテーマで ページアクション の SVG アイコンに適用される暗黙的な CSS フィルターが、Nightly ビルドで無効化されました (Firefox bug 2001318)。また Firefox 152 から、ほかのエディションでも無効化する予定です (Firefox bug 2016509)。ほかの Firefox エディションでは、about:config でブーリアン型の設定項目 extensions.webextensions.pageActionIconDarkModeFilter.enabled を作成して false を設定することで、CSS フィルターを無効にしたページアクション SVG アイコンのテストを行えます。

実験的なウェブ機能

以下の機能は Firefox 149 で導入しましたが、デフォルトで無効です。 これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。 実験的機能 のページで、さらに多くの機能を確認できます。

  • attr() CSS 関数の値 <attr-type>: layout.css.attr.enabled

    attr() CSS 関数で値 <attr-type> をサポートしました。これは属性値をどのように CSS の値へ解析するかを指定して、data-* からそれらの値を直接取り出すことができます (Firefox bug 1986631 & Firefox bug 1998245)。

  • color-mix() が複数の色の引数を受け入れる: layout.css.color-mix-multi-color.enabled

    color-mix() CSS 関数で、<color> の値を 2 つだけでなく複数個サポートしました。これにより多くの色を混ぜ合わせて、それぞれのパーセンテージを設定できます (Firefox bug 2007772)。

  • メディアベースの擬似クラス: dom.media.pseudo-classes.enabled

    メディアベースの擬似クラスである :buffering:muted:paused:playing:seeking:stalled:volume-locked<audio> および <video> 要素に対して、再生中や一時停止など要素の現在の状態に基づいてスタイルを設定できます (Firefox bug 1707584Firefox bug 2014512)。

  • color input 要素の alpha および colorspace 属性 (Nightly 限定): dom.forms.html_color_picker.enabled

    HTML の <input type="color"> 要素で alpha および colorspace 属性をサポートしました (Firefox bug 1919718)。

  • @container style() クエリー (Nightly): layout.css.style-queries.enabled

    @container CSS アットルールで style() クエリーをサポートしました。これはコンテナーが有効な CSS 宣言、CSS プロパティ、カスタムプロパティを保持しているかを確認して、その結果に従って子孫にスタイルを適用することができます (Firefox bug 2014404)。

  • CSS Typed Object Model Level 1: layout.css.typed-om.enabled

    CSS Typed Object Model Level 1 仕様を実装しました。 このリリースでは CSSNumericValue インターフェイスの to() メソッドをサポートしており、CSS の数値をある単位から別の単位に変換できます (Firefox bug 1278697)。

  • JPEG XL 画像のサポート: Rust によるデコーダー (Nightly 限定): image.jxl.enabled

    以前の C++ による JPEG XL 画像デコーダーを、jxl-rs ライブラリーを使用する新たな Rust による実装に置き換えました (Firefox bug 1986393)。