公開日: 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
ルール内の at ルールを使用して定義します。マージン ボックスの外観と内容は、content
プロパティを含む at ルール内の 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)
など、現在の色への依存関係にカラー関数がネストされているユースケースも含まれます。
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 が <script type=speculationrules>
にのみ適用され、Speculation-Rules
ヘッダーには適用されないようにします。CSP のスクリプト ポリシーは、HTML へのスクリプトの挿入を防ぐことを目的としており、CSP の脅威モデルは HTTP ヘッダーには関連していません。これにより、CDN やその他のエッジサーバーから投機ルールを簡単にデプロイできます。
Storage Access API のトラスト シグナルとしての FedCM
以前の FedCM がストレージ アクセス リクエストを自動的に承認する正当な理由を付与することで、FedCM と Storage Access API を調整します。
ユーザーがリレーリング パーティ(RP)のサードパーティ ID プロバイダ(IdP)で自分の ID を使用する権限を付与すると、多くの IdP では、サードパーティ Cookie が正しく安全に機能することが求められます。この提案は、Storage Access API(SAA)の権限チェックを更新して、ストレージ アクセス プロンプトによって付与された権限付与だけでなく、FedCM プロンプトによって付与された権限付与も受け入れることで、プライベートで安全な方法でこの要件を満たすことを目的としています。
このメカニズムの主なプロパティは、FedCM 権限ポリシーで RP によって明示的に許可されているケースに付与を制限し、RP に対してフレームごとの制御を適用し、FedCM がすでに付与している機能を超えて IdP による受動的な監視を防止することです。
COOP 値 noopener-allow-popups
オリジンによっては、セキュリティ要件のレベルが異なる複数のアプリが含まれている場合があります。このような場合は、1 つのアプリケーションで実行されているスクリプトが、同じオリジンの別のアプリケーションのページを開いてスクリプトを実行できないようにすることをおすすめします。
このような場合、開いたドキュメントが同じオリジンのドキュメントであっても、開いたドキュメントがスクリプトを実行できないようにすることがドキュメントにとって有益な場合があります。noopener-allow-popups
Cross-Origin-Opener-Policy 値を使用すると、ドキュメントでその動作を定義できます。
Private Aggregation API: Protected Audience の呼び出し元のコントリビューションの上限を 100 に引き上げ
Protected Audience スクリプト ランナーが、非公開集計レポートごとに最大 100 件の貢献を可能にします(現在の上限は 20 件)。
非公開集計では、1 つの集計可能レポートに埋め込むことができるヒストグラム コントリビューションの数を制限し、追加のコントリビューションは破棄されます。共有ストレージの呼び出し元は、別の共有ストレージ オペレーションを呼び出すことで、この上限を回避できます。ただし、Protected Audience の呼び出し元には永続ストレージがないため、オークションの終了時に余分な貢献が失われます。この変更はプライバシーに中立です。API の貢献は引き続き同じプライバシー バジェットで制限されるためです。
パディングにより、より大きなコントリビューションの上限が必要ない場合でも、Protected Audience レポートごとにペイロードが大きくなります。これらの大規模なレポートにより、集計サービスの運用コストが増加することが予想されます。
パーサーの緩和を選択する
この変更により、HTML パーサーは <option>
、<optgroup>
、<hr>
以外のタグを <select>
で許可するようになります。
この変更は、カスタマイズ可能な <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
を削除
CSS Working Group が inset-area
プロパティの名前を position-area
に変更することを決定したことを受け、この削除により、標準に準拠した機能のために Chromium の実装がクリーンアップされます。
BeforeunloadEventCancelByPreventDefault
を無効にする機能を削除
機能 BeforeunloadEventCancelByPreventDefault
は Chrome 117 でリリースされましたが、このフラグを強制的に無効にできるエンタープライズ ポリシーがあります。このエンタープライズ ポリシーは Chrome 131 で削除されます。
標準以外の GPUAdapter requestAdapterInfo()
メソッドを削除
WebGPU ワーキング グループは、requestAdapterInfo()
が権限プロンプトをトリガーすることは現実的でないと判断しました。そのため、ウェブ デベロッパーが同じ GPUAdapterInfo
値を同期的に取得できるように、このオプションを削除して GPUAdapter の info
属性に置き換えました。