Chrome 122 ベータ版

特に記載のない限り、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに次の変更が適用されます。ここに記載されている機能について詳しくは、リンク先または ChromeStatus.com のリストをご覧ください。Chrome 122 は 2024 年 1 月 24 日の時点でベータ版です。最新版はパソコンの Google.com または Android の Google Play ストアでダウンロードできます。

CSS

今回のリリースでは 3 つの新しい CSS 機能を追加しました。

サポートされていない機能を含む CSS @container クエリは一致しません

サポートされていないクエリを含む @container セレクタは、コンテナを選択しないため、一致することはありません。

つまり、幅クエリに一致するサイズコンテナがあっても、このクエリはどのコンテナにも一致しません。たとえば、次のクエリは未知の特徴が原因で一致しません。

@container (width > 0px) or (unknown) {}

これは、上位互換性の問題を回避するために最近行われた仕様の変更です。

元の要素から継承する CSS 疑似要素 ::backdrop

初期値から継承する ::backdrop 疑似要素。つまり、::backdrop では、::backdrop ルールで直接指定されていない限り、カスタム プロパティ値を使用できません。::backdrop が元の要素を継承するように仕様が変更されました。この変更により、Chrome の実装が新しい仕様に適合するようになります。

@import の CSS supports() 条件

@importsupports() 条件を受け入れるようになりました。supports() 条件が一致しない場合、インポートは取得されません。

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

supports() 内に配置する特徴クエリは、@supports で使用するものと同じです。

ウェブ API

Async Clipboard API: サニタイズされていない HTML の読み取り

read() メソッドに unsanitized オプションを追加し、サニタイズされていない HTML 形式を取得します。サイトにこのプロパティが含まれていない場合、クリップボードからの読み取りはサニタイズされます。

デフォルトでは、非同期 API を使用して text/html MIME タイプを読み取ると、セキュリティ上の懸念から HTML マークアップからコンテンツを削除するためにサニタイザーが呼び出され、HTML 内でスタイルがインライン化されます。その結果、ウェブ デベロッパーやモバイルアプリで HTML ペイロードを読み取った際に、HTML コンテンツの忠実度が低下する可能性があります。

dataTransfer.clearData() の File kind オブジェクトを削除しない

specに合わせて Chrome を更新します。この仕様では、clearData() がファイル オブジェクトに影響しないことが規定されています。text という種類オブジェクトのみを削除します。

FedCM: 接続解除

証明書利用者のウェブサイトを使用して、フェデレーション ログイン アカウントの接続を解除できるようにします。切断 API を使用すると、証明書利用者が、以前に使用したアカウントの接続が解除されたことを ID プロバイダに通知できます。そのため、連携ログインでそのアカウントを再度使用するには、アカウントを新しいアカウントとして扱う必要があります。

iframe での相互運用可能なマウスダウン イベントのキャンセル

ポインタが iframe の外にドラッグされたときのマウスイベント ターゲットが、マウスダウン イベントのキャンセルに依存しないようにします。マウスを iframe の外にドラッグすると、すべてのブラウザ(Chrome を含む)が mousemove イベントと mouseup イベントを iframe に送信します。ただし、マウスダウン イベントがキャンセルされた場合、Chrome では現在、マウス移動イベントとマウスアップ イベントが外側のフレームに送信されるという古い WebKit 例外が保持されます。WebKit はこの例外を昨年排除しましたが、Mozilla は近年この挙動を示さませんでした。この機能によって、この特殊なケースの Chrome のみの例外が削除されます。

イテレータ ヘルパー

イテレータ ヘルパーは、イテレータの一般的な使用と消費を可能にする、イテレータ プロトタイプの新しいメソッドです。

MessagePort.onclose

Channel Messaging API への変更。MessagePort の一方にもう一方のポートが分離されたことを通知します。つまり、close() が呼び出されるか、元のドキュメントが破棄されるか、ポートがガベージ コレクションの対象になります。

キーフレームの生成をリクエストするための RTCRtpSender setParameters() 拡張機能

WebRTC の RTCRtpSender.setParameters 呼び出しに、オプションの 2 番目のパラメータを追加しました。このパラメータを使用すると、関連するエンコーダにキーフレームの生成を依頼できます。

set メソッド

set メソッドは、JavaScript の組み込み Set クラスに追加された union や intersection などの新しいメソッドです。

Storage Buckets API

ストレージ バケットを使用すると、サイトはデバイス上のデータを別々の「バケット」に整理できます。これにより、ユーザー エージェントはグループ化されたデータを他のバケット内のデータとは別に強制排除でき、サイトは意味的に関連するデータを人間工学的に管理できるようになります。各ストレージ バケットには、IndexedDB や CacheStorage などの確立されたストレージ API に関連付けられたデータを格納できます。

URL パターン: hasRegExpGroups

URLPattern が 1 つ以上の ECMAScript 正規表現グループを使用しているかどうかを検査できるため、ECMAScript エンジンが利用できない場合(今後予定されている一部の API など)には適さない場合があります。厳密に言えば、デベロッパーがパターンを調べることで把握できる情報を反映したものですが、このチェックの UA の実装にアクセスできる方が、より単純なものになります。

WebGL 描画バッファストレージ

WebGL により、さまざまなピクセル形式のテクスチャやレンダリング バッファへのレンダリングが可能になります。(例: 8 ビット、浮動小数点、sRGB でエンコード)。

WebGL の描画バッファ(コンポジタに渡されるバッファ)は、デフォルトでは 8 ビットです。DrawBufferStorage 機能では、WebGL で描画バッファのピクセル形式を設定できるため、デベロッパーは次のことを行えます。

  • レンダリングをデフォルトの描画バッファ ピクセル形式に変換する場合は、余分なコピーを作成しないようにします。
  • 8 ビットを超える精度を持つコンテンツを描画します。

後者の機能により、さらにいくつかのアプリケーションが利用可能になります。

  • 精度を損なわない非常に広色域コンテンツ。
  • 8 ビットを超える精度を必要とする医療アプリケーション。
  • ハイ ダイナミック レンジの用途(使用可能な場合)。

X25519Kyber768 での TLS 鍵のカプセル化

Kyber768 の量子耐性を持つ鍵交換アルゴリズムをデプロイすることで、現在の Chrome の TLS トラフィックを将来の量子暗号から保護します。これは、IETF 標準に基づく X25519 と Kyber768 のハイブリッド鍵交換です。この仕様とリリースは W3C の対象外です。この鍵合意は TLS 暗号として開始され、ユーザーに対して透過的である必要があります。

進行中のオリジン トライアル

Chrome 122 では、次の新しいオリジン トライアルにオプトインできます。

ウェブアプリ スコープ拡張機能

ウェブアプリのスコープ(スコープ フィールドで定義)は、単一のオリジンのパスでのみ定義できます。アプリ ウィンドウの現在のドキュメントがアプリの一部かどうかを判断するために使用されます。他のマニフェスト メンバーで許可されている URL も決定します。

scope_extensions を使用すると、デベロッパーは、ウェブアプリの主要なオリジンと関連するオリジンが一致している場合、アプリの動作を拡張して他のオリジンも含めることができます。

ウェブアプリ スコープ拡張機能のオリジン トライアルに登録する

Captured Surface Control

Captured Surface Control API を使用すると、ウェブ アプリケーションはキャプチャされたタブまたはウィンドウでホイール イベントを生成し、キャプチャされたタブのズームレベルを読み書きできます。

Captured Surface Control のオリジン トライアルに登録します