公開日: 2024 年 9 月 18 日
特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、リンク先をご覧いただくか、ChromeStatus.com のリストをご覧ください。Chrome 130 は 2024 年 9 月 18 日時点でベータ版です。パソコン版は Google.com から、Android 版は Google Play ストアから最新版をダウンロードできます。
CSS
今回のリリースでは、4 つの新しい CSS 機能が追加されました。
CSS コンテナクエリのフラット ツリー検索
コンテナクエリの仕様が変更され、フラット ツリーの祖先を検索できるようになりました。この変更はシャドー DOM にのみ関連します。シャドー DOM では、要素またはその祖先のいずれかがスロットに挿入されているシャドー ツリー内の名前のないコンテナを、CSS ルールで ::part() または ::slotted() が使用されていない場合でも、要素が認識できるようになります。
CSS ネスト: ネストされた宣言ルール
ネストされたルールの後に続く宣言を、解析中に CSSNestedDeclarations ルールでラップすることで、その場所に保持します。
プレフィックスなしの box-decoration-break を完全にサポート
インライン フラグメンテーション(行レイアウト)とブロック フラグメンテーション(印刷とマルチカラムのページネーション)の両方で box-decoration-break: clone のサポートを追加します。
以前の Chrome では、ブロックのフラグメンテーションでは box-decoration-break:slice(初期値)のみがサポートされていましたが、インラインのフラグメンテーションでは、接頭辞付きの -webkit-box-decoration-break プロパティを使用する場合に限り、box-decoration-break:clone もサポートされていました。
::part() の後に疑似要素と疑似クラスをさらに許可
::part() 疑似要素を使用する CSS セレクタは、その後に他の CSS 疑似要素(::part() を除く)と多くの種類の他の CSS 疑似クラスを持つことができます。::part() の後でもコンビネータは許可されず、ツリー構造に依存する疑似クラスは許可されません。
以前の Chrome では、::part() の後に使用できる疑似クラスと疑似要素は限られていました。この変更により、許可されるべきすべての疑似クラスと疑似要素が許可されます。つまり、::part(part-name):enabled や ::part(part-name)::marker などのセレクタが許可されるようになりました。
ウェブ API
Attribution Reporting API の機能(アトリビューション スコープ)
この変更は、広告テクノロジーからのフィードバックと、アトリビューション プロセスが行われる前に、よりきめ細かいフィルタリング制御が必要であるというニーズに基づいています。API 呼び出し元は、「アトリビューション スコープ」というフィールドを指定できます。このフィールドは、通常のアトリビューション フローを開始する前にフィルタリングに使用されます。これにより、API 呼び出し元はアトリビューションの粒度をより細かく制御できるようになり、複数の異なる広告主やキャンペーンがすべて同じランディング ページでコンバージョンする場合に、適切なアトリビューション レポートを受け取ることができます。
Attribution Reporting API 機能(デバッグキーのプライバシー強化)
この変更により、デバッグキーに関するプライバシーの潜在的なギャップを軽減できます。
現在、API では、サードパーティ Cookie が利用可能で、API 呼び出し元が設定できる場合、ソース デバッグキーまたはトリガー デバッグキーを指定できます。ソースまたはトリガーのデバッグキーのいずれかが指定されている場合、アトリビューション レポートにそのキーが含まれます。サードパーティ Cookie がパブリッシャー サイトまたは広告主サイトのいずれかでのみ許可されている場合、プライバシーが漏洩する可能性があります。
この変更により、ソース デバッグキーとトリガー デバッグキーがソースとトリガーの両方に存在する場合にのみアトリビューション レポートに含まれるようにすることで、この問題が軽減されます。これは、パブリッシャー サイトと広告主サイトの両方でサードパーティ Cookie が利用可能であることを意味します。この変更は、イベントレベル レポートと集計可能レポートの両方に適用されます。
共有 Brotli と共有 Zstandard を使用した圧縮辞書転送
この機能により、Brotli または Zstandard を使ったコンテンツ エンコード圧縮レスポンスの外部辞書として、指定された以前のレスポンスを使用できるようになります。
企業では、HTTPS トラフィックをインターセプトする、未知のコンテンツ エンコードに弱いエンタープライズ ネットワーク インフラストラクチャとの互換性の問題が発生する可能性があります。エンタープライズ ポリシー CompressionDictionaryTransportEnabled を使用すると、圧縮辞書転送機能を無効にできます。
同時スムーズ scrollIntoView()
behavior: "smooth" を使用した scrollIntoView() メソッドを使用すると、デベロッパーは、子孫までスクロールするスクロール コンテナを、緩やかなスクロール アニメーションで作成できます。この機能は、進行中の scrollIntoView アニメーションが他のスクロール コンテナの無関係なスクロールによってキャンセルされないように、API の Chrome 実装を修正します。
また、ページ読み込み時に呼び出される競合する scrollIntoView が原因で、Chrome がページのフラグメント アンカーまでスクロールできないケースも修正されます。
ドキュメントのピクチャー イン ピクチャー: ウィンドウ境界キャッシュを無視するオプションを追加
このドキュメント ピクチャー イン ピクチャー API に新しいパラメータ(preferInitialWindowPlacement)が追加されます。このパラメータを true に設定すると、このドキュメントを開く際に、このサイトの以前のドキュメント ピクチャー イン ピクチャーの位置やサイズを再利用しないようユーザー エージェントにヒントが与えられます。
ドキュメントのピクチャー イン ピクチャー ウィンドウは、同じサイトで何度も閉じたり開いたりすることがよくあります(ビデオ会議を PIP に移動したり、PIP から移動したりするなど)。ユーザー エージェントは、PIP ウィンドウを最新のサイズと位置で自由に再度開くことができます。これにより、ユーザーが最後に移動した場所にウィンドウが残り、PIP ウィンドウ間の継続性が維持されます。ただし、新しいウィンドウが前のウィンドウと意味的に関連していない場合(新しいビデオ通話など)、デベロッパーはこのパラメータを使用して、このウィンドウはデフォルトの位置とサイズで開いた方がよい可能性があることをユーザー エージェントにヒントとして提供できます。
ウィンドウをデフォルトの位置とサイズで開く方法をご覧ください。
大きな値の読み取り失敗に関する IndexedDB のエラーレポートを改善
以前は DOMException と「Failed to read large IndexedDB value」というメッセージで報告されていた特定のエラーケースの報告を変更しました。
IDBRequest によって読み取られるデータを含むファイルがディスクにない場合、Chrome は "NotFoundError" という名前の DOMException を発生させるようになります。これにより、回復不能な障害が発生した場合に、サイトが適切な是正措置を講じることができます。修正措置には、DB からのエントリの削除、ユーザーへの通知、サーバーからのデータの再取得などが含まれます。
キーボードでフォーカス可能なスクロール コンテナ
この機能により、フォーカス可能な子要素のないスクローラーがデフォルトでキーボード フォーカス可能になります。
これは、スクローラーとスクローラー内のコンテンツをすべてのユーザーにとってよりユーザー補助機能が利用しやすくするための重要な改善です。メリットの詳細については、キーボード フォーカス可能なスクローラをご覧ください。Chrome 130 以降では、キーボードでフォーカス可能なスクローラーがデフォルトで有効になります。ウェブサイトがこの新機能に対応するまでに時間がかかる場合は、次の方法があります。
- キーボード フォーカス可能なスクローラ オプトアウト デプリケーション トライアルを利用して、限られた時間のみ一部のサイトで機能を再度オプトアウトできます。デプリケーション トライアルは Chrome 132 までご利用いただけますが、2025 年 3 月 18 日に終了します。
- Chrome 127 以降で利用可能な
KeyboardFocusableScrollersEnabled enterprise policyも、同様の目的で使用できます。
Protected Audience の入札およびオークション サービス
Protected Audience API(旧称 FLEDGE)は、リマーケティングとカスタム オーディエンスのユースケースをサポートするプライバシー サンドボックスの提案で、サードパーティがユーザーのブラウジング行動をサイトをまたいでトラッキングできないようにします。
この機能(Protected Audience 入札およびオークション サービス)では、Protected Audience の計算処理がユーザーのローカル デバイスではなく、高信頼実行環境のクラウド サーバーで行われるようにする方法を提案しています。処理をクラウド サーバーに移行することにより、デバイスのコンピューティング サイクルとネットワーク帯域幅を解放し、Protected Audience のオークションを最適化できます。
特別でないスキームの URL のサポート
これまで、Chrome の URL パーサーは特別でない URL をサポートしていませんでした。このパーサーは、特別でない URL を「不透明なパス」であるかのように解析しますが、これは URL 標準に準拠していません。このたび、Chromium の URL パーサーは特別でない URL を、URL 標準に従って正しく解析するようになりました。
詳しくは、bit.ly/url-non-special をご覧ください。
WebAssembly JavaScript String Builtins
この機能は、WebAssembly にインポートするための一般的な JavaScript 文字列オペレーションを公開します。これにより、WebAssembly 内でサポートされていない WebAssembly から JavaScript 文字列を作成して操作できます。これにより、サポートされている文字列参照と同様のパフォーマンスを実現できます。
WebGPU: デュアルソース ブレンディング
2 つのフラグメント シェーダー出力を 1 つのフレームバッファに結合できるオプションの GPU 機能「dual-source-blending」を追加します。この手法は、Porter-Duff ブレンドモードに基づくものなど、複雑なブレンド処理を必要とするアプリで特に有用です。デュアルソース ブレンディングは、パイプライン状態オブジェクトの頻繁な変更の必要性を減らすことで、パフォーマンスと柔軟性を高めることができます。
Web Serial: connected 属性と RFCOMM 接続イベント
この機能では、ブール値の SerialPort.connected 属性が追加されます。シリアルポートが論理的に接続されている場合、この属性は true を返します。有線シリアルポートの場合、ポートがシステムに物理的に接続されていれば、ポートは論理的に接続されています。ワイヤレス シリアルポートの場合、ポートをホストするデバイスがホストへのオープン接続を保持している場合、ポートは論理的に接続されます。
以前は、有線シリアルポートのみが接続イベントと切断イベントをディスパッチしていました。この機能により、Bluetooth RFCOMM シリアルポートは、ポートが論理的に接続または切断されたときにこれらのイベントをディスパッチします。
この機能は、ポートを開かずに Bluetooth RFCOMM シリアルポートが利用可能になったことをアプリが検出できるようにすることを目的としています。
詳しくは、Web Serial の Bluetooth RFCOMM の更新をご覧ください。
進行中のオリジン トライアル
Chrome 130 では、次の新しいオリジン トライアルに参加できます。
Language Detector API
信頼度レベルを使用してテキストの言語を検出するための JavaScript API。
WebAuthn attestationFormats
WebAuthn レベル 3 の attestationFormats フィールドをサポートします。
WebAuthn レベル 3 では、新しい attestationFormats フィールドで、サイトが認証情報証明書形式の順序付き優先度を指定できるようになりました。この機能により、パスキー プロバイダが複数の形式をサポートできる Android で、このサポートが有効になります。
非推奨と削除
このバージョンの Chrome では、以下の非推奨と削除が導入されます。計画中のサポート終了、現在のサポート終了、以前の削除の一覧については、ChromeStatus.com をご覧ください。
今回の Chrome のリリースでは、1 つの機能が削除されています。
DelegatedInkTrailPresenter の expectedImprovement を削除
expectedImprovement 属性は、DelegatedInkTrails API によって現在のインク レイテンシがどの程度改善されるかをウェブ デベロッパーに伝えます。ただし、この属性はフィンガープリント エントロピーの増加に見合うものではありません。
今回の Chrome のリリースでは、1 つの機能のサポートが終了します。
非標準の GPUAdapter requestAdapterInfo() メソッドを非推奨に
WebGPU の requestAdapterInfo() 非同期メソッドは冗長です。これは、デベロッパーが GPUAdapter
info 属性を使用して GPUAdapterInfo を同期的に取得できるためです。