Firefox 139 for developers
このページでは、開発者に影響する Firefox 139 の変更点をまとめています。 Firefox 139 は、米国時間 2025 年 5 月 27 日 にリリースされました。
ウェブ開発者向けの変更点一覧
HTML
hidden=until-found
HTML 属性およびbeforematch
イベントをサポートしました。 hidden until found 状態は、ユーザーによる検索 (たとえば "ページ内を検索" を使用する) やフラグメントナビゲーションによって発見されるまで要素の内容を非表示にできます。beforematch
イベントは、hidden
属性が削除される直前に発生します (Firefox bug 1761043、Firefox bug 1955379)。
CSS
変更なし。
JavaScript
- Temporal API をサポートしました。これは内蔵のタイムゾーンや日付の表現を含む、さまざまな状況において日付や時間の扱いをシンプルにすることを目指します (Firefox bug 1912511、Firefox bug 1954138)。
以下のプロパティが含まれます:
- 期間 (2 つの時点の差):
Temporal.Duration
- 時点:
- 歴史上で唯一の瞬間として:
- タイムスタンプ:
Temporal.Instant
- タイムゾーンがある日時:
Temporal.ZonedDateTime
- タイムスタンプ:
- タイムゾーンを持たない日時 ("プレーン"):
- 日付 (年、月、日) + 時刻 (時、分、秒、ミリ秒、ナノ秒):
Temporal.PlainDateTime
- 日付 (年、月、日):
Temporal.PlainDate
- 時刻 (時、分、秒、ミリ秒、ナノ秒):
Temporal.PlainTime
- 日付 (年、月、日):
- 日付 (年、月、日) + 時刻 (時、分、秒、ミリ秒、ナノ秒):
- 歴史上で唯一の瞬間として:
- さまざまなクラスのインスタンスや特定の形式で表した 現在 (現在の時刻):
Temporal.Now
- 期間 (2 つの時点の差):
- 現在、以下のカレンダータイプは
PlainDate
、PlainDateTime
、ZonedDateTime
オブジェクトのwithCalendar()
メソッドで無効化しています:islamic
islamic-rgsa
islamic-umalqura
SVG
廃止
- 実験的な
<discard>
要素と、これに対応するSVGDiscardElement
JavaScript インターフェイスを削除しました。 これらはほかのブラウザーでサポートされておらず、仕様書から削除される予定です (Firefox bug 1958839)。
HTTP
変更なし。
API
DOM
HTMLDialogElement
インターフェイスのrequestClose()
メソッドをサポートしました。 これにより開発者は、cancel
イベントハンドラーを与えることでダイアログが閉じるのを条件つきで抑止できます (Firefox bug 1960556)。- Web Authentication の
largeBlob
およびcredProps
拡張をサポートしました。また、prf
拡張をすべてのデスクトップ版でサポートしました。 これらはそれぞれ、資格情報に関連づけられた大容量の blob ストレージ、資格情報に関する追加情報、資格情報や特定の入力に関連づけられた乱数を生成する機能を提供します (Firefox bug 1795020、Firefox bug 1844449、Firefox bug 1935280)。
WebDriver への適合 (WebDriver BiDi, Marionette)
一般
- Firefox の優先度マネージャー (macOS のバックグラウンド QoS マネージャー) は親プロセスとコンテンツプロセスの間の IPC メッセージの優先度を管理するものですが、これをサポート済みのすべてのリモートプロトコルで一時的に無効化しました。この変更により、システムの負荷が高いときに新しく開いたバックグラウンドのタブで最初に読み込まれるページがスケジューリングされず、一部のコマンドがハングアップする問題が解消します (Firefox bug 1960734)。
WebDriver BiDi
- テストや自動化ツールが特定のブラウジングコンテキストやユーザーコンテキストに渡って位置情報をシミュレートすることを可能にする、
emulation.setGeolocationOverride
コマンドを実装しました。これにより、地域に基づく推奨のためのジオフェンシングのような位置認識機能を消費者がテストできます (Firefox bug 1954992)。
アドオン開発者向けの変更点一覧
- ローカライズされた拡張機能は言語を拡張機能のデフォルトへ戻す前に、翻訳を見つけるためロケールサブタグを段階的に探すようになりました。以前は、サブタグの言語用の翻訳が見つからない場合に、拡張機能のデフォルトの言語を使用していました。新しい動作について詳しくは、国際化の記事で ローカライズ済みの文字列の選択 をご覧ください (Firefox bug 1381580)。
- コンテンツスクリプトやスタイルを、登録順 (すなわち、
content_scripts
マニフェストキー配列 の順序) に実行することを保証するようになりました。以前は、同じjs
配列内のスクリプトに限って順序を保証していました (Firefox bug 1792685)。 tabGroups
API が使用可能になりました。この API は、拡張機能に タブグループ の変更や組み換えを可能にします。詳しくは WebExtensions Support for Tab Groups をご覧ください (Firefox bug 1940631)。
実験的なウェブ機能
以下の機能は Firefox 139 で導入しましたが、デフォルトで無効です。これらを実験するには、about:config
ページで適切な設定項目を検索して true
に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。
- Prioritized Task Scheduling API (Nightly リリース)。
Prioritized Task Scheduling API は、ウェブサイトの開発者のコードで定義されたか、サードパーティーのライブラリーやフレームワークで定義されたかにかかわらず、アプリケーションに所属するすべてのタスクに優先度をつけるための標準された手段を提供します。
これは Nightly リリースで、
scheduler.yield()
メソッドのサポートと API 全体の再有効化を追加します (Firefox bug 1958943, Firefox bug 1920115)。 - View Transition API (Nightly リリース)。 View Transition API を SPA (シングルページアプリケーション) 向けに有効化しました。これは、別のウェブサイトのビューとの間でアニメーション化されたトランジションを簡単に作れるようにする仕組みです (Firefox bug 1950759)。
- HTML のシリアライズ時に属性の
<
および>
のエスケープをサポート:dom.security.html_serialization_escape_lt_gt
。 Firefox は HTML をシリアライズする際に属性内の文字<
および>
を、それぞれ<
および>
に置き換えるようになりました。これは、HTML をシリアライズして DOM へ再挿入する特定の攻撃を防ぐことができます。 この動作は以下のメソッドやプロパティに影響があります:Element.innerHTML
、Element.outerHTML
、Element.getHTML()
、ShadowRoot.innerHTML
、ShadowRoot.getHTML()
(Firefox bug 1941347)。 - 非標準の
beforescriptexecute
およびafterscriptexecute
を無効化:dom.events.script_execute.enabled
。 これらはブラウザで削除前のテストを可能にするため、Nightly 版に限って無効化しました。 以下のイベントに影響があります:Document
インターフェイスのbeforescriptexecute
およびafterscriptexecute
、Element
インターフェイスのafterscriptexecute
およびbeforescriptexecute
(Firefox bug 1954685)。
過去のバージョン
- Firefox 138 for developers
- Firefox 137 for developers
- Firefox 136 for developers
- Firefox 135 for developers
- Firefox 134 for developers
- Firefox 133 for developers
- Firefox 132 for developers
- Firefox 131 for developers
- Firefox 130 for developers
- Firefox 129 for developers
- Firefox 128 for developers
- Firefox 127 for developers
- Firefox 126 for developers
- Firefox 125 for developers
- 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