Firefox 131 開発者向けリリースノート
このページでは、開発者に影響する Firefox 131 の変更点をまとめています。Firefox 131 は、米国時間 2024 年 10 月 1 日 にリリースされました。
ウェブ開発者向けの変更点
>CSS
- アンカー位置指定 のさらなる実装の準備として、
inset-areaCSS プロパティをposition-areaに改名しました。現在、このプロパティは値を構文解析するために内部で使用するのみです。アンカー位置指定の機能は、設定で制御した上で順次ロールアウトしています (Firefox バグ 1909358、Firefox バグ 1838746)。
JavaScript
Iterator.prototype.drop()、Iterator.prototype.every()、Iterator.prototype.filter()、Iterator.prototype.find()、Iterator.prototype.flatMap()、Iterator.prototype.forEach()、Iterator.prototype.map()、Iterator.prototype.reduce()、Iterator.prototype.some()、Iterator.prototype.take()を含む、同期イテレーターヘルパーメソッドに対応しました。これらのヘルパーを使うと、中間的なArrayオブジェクトを作成せずに、イテレーターに対してArrayのような操作を実行できます。また、中間的なArrayを作成できないほど大量のデータセットにも使用できます。詳しくはIteratorインターフェイスの Iterator helper methods をご覧ください (Firefox バグ 1896390)。
HTTP
SameSite=Noneの属性値を持つSet-CookieHTTP ヘッダーは、Secure属性も持つ必要があります。これにより、SameSite=Noneを設定した Cookie が HTTPS 接続でのみ送信されることが保証されます。また、Firefox は未指定のSameSite値をSameSite=Noneと解釈するため、SameSiteを指定していない Cookie にも同じ制約が適用されます (Firefox バグ 1909673)。- Cookies Having Independent Partitioned State (CHIPS)、いわゆる "partitioned cookies" に対応しました。
この機能では、
Set-CookieHTTP ヘッダーのpartitionedディレクティブを使用して Cookie を分割ストレージに保存できます。このディレクティブを設定すると、Cookie はトップレベルサイトごとに別々のストレージに保存され、設定されたトップレベルサイトとそのサブドメイン内でのみ読み取れます。これにより、クロスサイトトラッキングを防ぎながら、サイトの異なるサブドメインに埋め込まれた地図やチャットウィジェットの状態を保持するといった、サードパーティ Cookie の正当な用途を実現できます (Firefox バグ 1908160)。
API
PointerEventインターフェイスのaltitudeAngleおよびazimuthAngleプロパティに対応しました。これらはそれぞれ、ポインターまたはスタイラスと画面 (X-Y 平面) の間の角度、および画面上での X 軸に対するスタイラスの回転角を示します (Firefox バグ 1656377)。- テキストフラグメントに対応しました。ユーザーはウェブページのテキストの一部にリンクし、その箇所をハイライト表示できます。この機能では、表示されるテキストのパターンに基づいて対象を識別する特定の構文をURL フラグメントで使用します。
開発者は
Document.fragmentDirectiveプロパティ (FragmentDirectiveインターフェイスのインスタンス) が存在するかどうかで、テキストフラグメントに対応しているか確認できます。また、::target-text擬似要素を使用して、テキストフラグメントリンクで指定されたテキストを選択し、スタイルを設定できます (Firefox バグ 1914877)。 DocumentインターフェイスのcaretPositionFromPoint()メソッドを更新しました。対応するシャドウルートがメソッドに渡されていれば、シャドウ DOM 内のキャレット位置に対応するテキストノードとオフセットを返します。ShadowRootオブジェクトは、新たに追加された引数optionsのshadowRootsプロパティを使用してメソッドに渡すことができます (Firefox バグ 1914596)。
WebAssembly
exnrefの値を持つ新たな例外参照を、WebAssembly と JavaScript の間の双方向の例外処理に使用できるようになりました (Firefox バグ 1908375)。
WebDriver への適合 (WebDriver BiDi, Marionette)
一般
- WebDriver Classic および BiDi の双方で、
keyUpおよびkeyDownアクションがvalueで複数の文字を受け入れないようになりました (Firefox バグ 1910352)。
WebDriver BiDi
network.continueResponseコマンドの残りの引数に対応しました:- 引数 cookies および headers (Firefox バグ 1853887)。
- 引数
statusCode(例: 200, 304) およびreasonPhrase(例: "OK"、"Not modified") (Firefox バグ 1913737)。
- 引数
waitがnoneである場合にbrowsingContext.navigateコマンドが返りbeforeunloadプロンプトが発生するようになりました (Firefox バグ 1763134)。 - 仕様書の要求に従って、ナビゲーションが失敗したすべてのケースで
browsingContext.navigateコマンドがunknown errorを返すようになりました (Firefox バグ 1905083)。 session.newコマンドは、クライアントが引数で指定していない場合にunhandledPromptBehavior機能をレスポンスに含めないようになりました (Firefox バグ 1909455)。
アドオン開発者向けの変更点
- Firefox Nightly 131 で、
storage.sessionAPI によって保存されるデータに 10 MB の上限が適用されるようになりました。以前の Firefox ではこの上限は実装されていませんでした。この制限は Firefox 137 からリリース版にも適用されます (Firefox バグ 1915688)。これにより、以前の動作に依存している拡張機能は問題を修正できます (Firefox バグ 1908925)。 storage.sessionがstorage.StorageArea.getBytesInUse()API およびstorage.session.QUOTA_BYTESプロパティに対応しました (Firefox バグ 1908925)。tabs.update()でopenerTabIdが変更されたときにtabs.onUpdatedが発生するようになりました (Firefox バグ 1409262)。openerTabIdをクリアーするため、tabs.updateでopenerTabIdに-1を設定することが可能になりました (Firefox バグ 1409262)。
実験的なウェブ機能
以下の機能は Firefox 131 で新たに導入しましたが、デフォルトで無効です。これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。
-
正規表現の (?ims-ims:...) 修飾子:
javascript.options.experimental.regexp_modifiers。正規表現の (?ims-ims:...) 修飾子を使うと、正規表現パターンの特定の部分だけに適用される変更を指定できます (Firefox バグ 1899813)。
-
マイクとカメラの権限:
permissions.media.query.enabled。マイクやカメラへのアクセスが許可されているか拒否されているか、またはユーザーの承諾が必要な状態かを確認するため、
Permissions.query()メソッドでmicrophoneおよびcameraの 権限 が使用可能になりました (Firefox バグ 1609427 および Firefox バグ 1915222)。