公開日: 2024 年 10 月 16 日
特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、提供されているリンクまたは ChromeStatus.com のリストをご覧ください。 Chrome 131 は、2024 年 10 月 16 日時点でベータ版です。パソコン版は Google.com から、Android 版は Google Play ストアから最新版をダウンロードできます。
CSS
今回のリリースでは、8 つの新しい CSS 機能を追加しました。
CSS アンカー配置: anchor-scope
anchor-scope プロパティを使用すると、アンカー名の可視性を特定のサブツリーに制限できます。
CSS font-variant-emoji
font-variant-emoji CSS プロパティは、カラー(絵文字スタイル)とモノクロ(テキスト スタイル)の絵文字グリフを切り替える方法を提供します。これは、各絵文字コードポイントの後に絵文字バリエーション セレクタ(テキストの場合は U+FE0E、絵文字の場合は U+FE0F)を追加することでも実現できます。
CSS ハイライトの継承
CSS ハイライトの継承を使用すると、::selection や ::highlight などの CSS ハイライト疑似クラスは、要素チェーンではなく疑似ハイライト チェーンを介してプロパティを継承します。その結果、ハイライトのプロパティを継承するより直感的なモデルが得られます。
詳しくは、Igalia の Stephen Chenney が執筆したブログ投稿 CSS 選択スタイルの継承の変更をご覧ください。
<details> 要素と <summary> 要素の構造のスタイル設定を改善
<details> 要素と <summary> 要素の構造に関する CSS スタイル設定のサポートが拡大され、ウェブ上で開示ウィジェットやアコーディオン ウィジェットを作成する多くのケースでこれらの要素を使用できるようになりました。具体的には、これらの要素に display プロパティを設定できない制限が解除され、展開と折りたたみの部分のコンテナにスタイルを設定する ::details-content 疑似要素が追加されました。
@page 余白ボックス
ウェブ ドキュメントを印刷する際や PDF としてエクスポートする際に、ページ余白ボックスのサポートを追加しました。
@page マージン ボックスを使用すると、ページの余白領域の内容を定義できます。たとえば、ブラウザで生成される組み込みのヘッダーとフッターではなく、カスタムのヘッダーとフッターを指定できます。
マージン ボックスは、CSS の @page ルール内の @ ルールを使用して定義されます。マージン ボックスの外観と内容は、content プロパティを含む、アットルール内の CSS プロパティで指定します。ページ番号付け用のカウンタもサポートされています。この仕様では、現在のページ番号を表す page と、合計ページ数を表す pages という 2 つの特別なカウンタ名が定義されています。
@property の <string> 構文のサポート
登録されたカスタム プロパティの <string> 構文コンポーネント名のサポート。
相対色構文で currentcolor をサポート
CSS の相対色(from キーワードを使用)で currentcolor をベースとして使用できるようにします。これにより、要素のテキストの色に基づいて、その要素の枠線、シャドウ、背景の補色を設定できます。
この機能には、color-mix(in srgb, rgb(from currentcolor r g b), white)) や rgb(from rgb(from currentcolor 1 g b) b g r) など、color 関数が currentcolor に依存してネストされているユースケースも含まれます。
clip-path、fill、stroke、marker-* プロパティの外部 SVG リソースをサポート
この機能では、クリップパス、マーカー、ペイント サーバー(fill プロパティと stroke プロパティ用)の外部参照のサポートが追加されます。例: clip-path: url("resources.svg#myPath")
ウェブ API
Direct Sockets API
分離されたウェブアプリが、ネットワーク デバイスやシステムとの直接の伝送制御プロトコル(TCP)およびユーザー データグラム プロトコル(UDP)通信を確立し、着信接続をリッスンして受け入れることを許可します。
Speculation-Rules ヘッダーを CSP 制限から除外
投機的実行ルールと CSP の統合を更新し、CSP が Speculation-Rules ヘッダーではなく <script type=speculationrules> にのみ適用されるようにします。CSP のスクリプト ポリシーは、HTML へのスクリプトの挿入を防ぐためのものであり、CSP の脅威モデルは HTTP ヘッダーに関連していません。これにより、CDN や他のエッジサーバーからの投機ルールのデプロイが容易になります。
Storage Access API の信頼シグナルとしての FedCM
以前の FedCM 権限付与をストレージ アクセス リクエストを自動的に承認する有効な理由にすることで、FedCM API と Storage Access API を調整します。
ユーザーが RP でサードパーティの ID プロバイダ(IdP)で ID を使用する権限を付与する場合、多くの IdP では、正しく安全に機能するためにサードパーティ Cookie が必要になります。この提案は、Storage Access API(SAA)の権限チェックを更新して、ストレージ アクセス プロンプトで付与された権限だけでなく、FedCM プロンプトで付与された権限も受け入れることで、プライベートかつ安全な方法でその要件を満たすことを目指しています。
このメカニズムの重要な特性は、FedCM 権限ポリシーで RP が明示的に許可したケースに限定し、RP ごとにフレーム単位の制御を適用し、IdP による FedCM がすでに付与している機能を超える受動的な監視を防ぐことです。
COOP 値 noopener-allow-popups
オリジンによっては、セキュリティ要件の異なる複数のアプリケーションが含まれている場合があります。このような場合、1 つのアプリケーションで実行されているスクリプトが、同じオリジンの別のアプリケーションのページを開いてスクリプトを実行できないようにすると、メリットがあります。
このような場合、オープナー ドキュメントが同一オリジンであっても、オープナーがスクリプトを実行できないようにドキュメントで保証することは有益です。noopener-allow-popups Cross-Origin-Opener-Policy の値を使用すると、ドキュメントでその動作を定義できます。
Private Aggregation API: Protected Audience の呼び出し元に対する投稿上限を 100 に引き上げ
Protected Audience スクリプト ランナーが、Private Aggregation レポートごとに最大 100 件の投稿を行えるようになります(現在の制限は 20 件)。
プライベート集計では、1 つの集計可能レポートに埋め込むことができるヒストグラム コントリビューションの数が制限され、追加のコントリビューションは破棄されます。共有ストレージの呼び出し元は、別の共有ストレージ オペレーションを呼び出すことで、この上限を回避できます。ただし、Protected Audience の呼び出し元には永続ストレージがないため、オークションの終了時に超過分が失われます。この変更は、API の貢献度が同じプライバシー バジェットによって制限されるため、プライバシーに影響しません。
パディングにより、貢献度の上限を大きくする必要がない場合でも、Protected Audience レポートのペイロードは大きくなります。レポートのサイズが大きくなると、集計サービスの運用コストが増加すると予想されます。
パーサーの制限緩和を選択
HTML パーサーで <select> 内に <option>、<optgroup>、<hr> 以外のタグを追加できるようになります。
この変更は、カスタマイズ可能な <select> 機能をサポートするためのものですが、単独でリリース可能であり、互換性に関するリスクも少ないため、先行してリリースされます。Chrome チームは、この変更に関するフィードバックを求めています。
WebGPU: クリップ距離
頂点シェーダー出力でユーザー定義のクリップ距離を設定できるオプションの GPU 機能 clip-distances を追加します。この手法は、多くの CAD アプリケーションのように、ユーザー定義の平面を超えたシーン内のすべての頂点をクリップする必要があるアプリケーションに特に有用です。
WebGPU: GPUCanvasContext getConfiguration()
構成ディクショナリを使用して GPUCanvasContext configure() を呼び出すと、GPUCanvasContext getConfiguration() メソッドを使用してキャンバス コンテキストの構成を確認できます。これには、GPU device、format、usage、viewFormats、colorSpace、toneMapping、alphaMode のメンバーが含まれます。問題 4828 で説明したように、ウェブアプリはこれを使用して、WebGPU で HDR キャンバスがサポートされているかどうかを検出できます。
専用ワーカーでの WebHID
専用のワーカー コンテキスト内で WebHID を有効にします。これにより、HID デバイスからのデータの I/O と処理を別のスレッドで実行できるため、メインスレッドのパフォーマンスへの影響を軽減できます。
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
指定された maxWidth と maxHeight より大きい入力フレームをスケーリングするよう WebRTC エンコーダを構成する API。この API は scaleResolutionDownBy と似ていますが、解像度の制約が相対的な表現(たとえば、2 倍に縮小)ではなく絶対的な表現(たとえば、640x360)で表される点が異なります。これにより、入力フレームサイズの変更に関連する競合状態を回避できます。
新しいオリジン トライアル
Chrome 131 では、次の新しいオリジン トライアルに参加できます。
WebAudio の再生統計情報
AudioContext.playoutStats 機能を使用すると、アプリは WebAudio を使用してオーディオ再生の品質とレイテンシを測定できます。
Summarizer API
AI 言語モデルを基盤として入力テキストの要約を作成する JavaScript API。
非推奨と削除
このバージョンの Chrome では、以下の非推奨と削除が導入されています。計画中の非推奨、現在の非推奨、以前の削除のリストについては、ChromeStatus.com をご覧ください。
このリリースの Chrome では、3 つの機能が削除されています。
CSS Anchor Positioning プロパティ inset-area を削除
inset-area プロパティを position-area に名称変更するという CSS Working Group の決定により、この削除によって、標準に準拠した機能の Chromium での実装がクリーンアップされます。
BeforeunloadEventCancelByPreventDefault を無効にする機能を削除
機能 BeforeunloadEventCancelByPreventDefault は Chrome 117 でリリースされましたが、このフラグを強制的に無効にできるエンタープライズ ポリシーがあります。このエンタープライズ ポリシーは Chrome 131 で廃止されます。
非標準の GPUAdapter requestAdapterInfo() メソッドの削除
WebGPU ワーキング グループは、requestAdapterInfo() で権限プロンプトをトリガーすることは現実的ではないと判断し、そのオプションを削除して、GPUAdapter の info 属性に置き換えました。これにより、ウェブ デベロッパーは同じ GPUAdapterInfo 値を同期的に取得できるようになりました。