Chrome 121 ベータ版

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

CSS

このリリースでは、6 つの新しい CSS 機能が追加されました。

CSS ハイライトの継承

CSS Highlight の継承を使用すると、::selection::highlight などの CSS Highlight 疑似クラスは、要素チェーンではなく疑似ハイライト チェーンを通じてプロパティを継承します。その結果、ハイライトでプロパティの継承に関するより直感的なモデルが得られます。

これにより、CSS Pseudos Level 4 仕様の要件が実装されます。

「サポートされているプロパティにカスケードによって値が指定されていない場合、指定された値は、元の要素の親要素の対応するハイライト擬似要素からの継承によって決定されます。」

CSS スクロールバー: scrollbar-colorscrollbar-width

CSS の Scrollbars 仕様を使用すると、デベロッパーはスクロールバーの色と太さを指定してスタイルを設定できます。この仕様では、次の 2 つのプロパティを追加します。scrollbar-color プロパティを使用すると、スクロールバーのカラーパターンをウェブページの特定のスタイルに合うように変更できます。scrollbar-width プロパティを使用すると、ユースケースによってはより狭いスクロールバーを使用できる場合があります。また、スクロール可能性に影響を与えることなくスクロールバーを完全に非表示にすることもできます。

カラーフォント用の CSS font-palette アニメーション

CSS の font-palette プロパティを使用すると、カラーフォントのレンダリングに使用する特定のパレットを選択できます。このプロパティのアニメーション化が新たにサポートされるようになりました。これにより、パレット間の移行が個別の手順ではなく、選択した 2 つのパレット間の移行をスムーズに行えるようになりました。これは、CSS アニメーションと遷移のあらゆる場所で機能します。

CSS のスペルと文法の機能

CSS では、ユーザー エージェントがスペルミスや文法的に誤っていると報告されたテキストのスタイル設定の疑似要素をハイライト表示し、線の装飾でスペルミスや文法の誤りを検出するためにユーザー エージェントのデフォルトの装飾を表示します。これらの機能により、デベロッパーはデフォルトのスペルミスや文法エラーを判読しやすい色にしたり、スペルミスのある単語を背景色などの装飾でハイライト表示したり、デバイスのエクスペリエンスに溶け込むカスタム スペルチェックを実装したりできます。

SVG の CSS マスキングの改善

これは、Chrome 120 で改善された CSS マスクサポートの後継で、SVG(複数のマスク、mask-modemask-compositemask-positionmask-repeat)に新しいマスクサポートが追加されました。また、リモート SVG マスク(mask: url(masks.svg#star) など)がサポートされるようになりました。

Ruby 固有の表示値

新しい CSS ディスプレイ プロパティの値として、rubyruby-text が追加されました。<ruby><rt> のデフォルトの表示値はそれぞれ rubyruby-text に変更され、ruby レイアウトではこれらの表示値が考慮されます。ウェブ作成者は、新しいディスプレイ値を設定することで、<div> などの任意の要素を使用してルビーをレンダリングできます。

ウェブ API

アトリビューション レポートの機能バンドル: 集計遅延の短縮、イベントレベル レポートの Epsilon フィールド、予約済みキー

Chrome の Attribution Reporting API の変更点は次のとおりです。

  • 集計レポートの遅延の短縮をサポートして伝送損失を低減する
  • イベントレベル レポート イプシロン フィールドのサポートによる API 構成の柔軟性
  • 予約済みのキーに達すると登録に失敗することで、API の拡張性が改善されました。

バックフォワード キャッシュの notRestoredReason API

notRestoredReason API で PerformanceNavigationTiming API を使用してページが bfcache から配信されなかった理由のリストをレポートします。

ドキュメントのピクチャー イン ピクチャーでサイズ変更 API にユーザー操作を要求する

これにより、ドキュメントのピクチャー イン ピクチャー ウィンドウで resizeBy() メソッドと resizeTo() メソッドが有効になりますが、不正行為の可能性を軽減するためのユーザー操作要件の制限が追加されています。

EditContext API

EditContext API は、VK 図形作成、手書きパネル、音声認識、IME Composition などの高度なテキスト入力方法をウェブアプリに統合するプロセスを簡素化します。ユーザー補助とパフォーマンスが向上し、ウェブベースのエディタの新機能を使用できます。

サポートされているクリップボード形式の機能検出

Async Clipboard API が特定の MIME タイプをサポートしているかどうかを確認するには、新しい supports() 関数を呼び出して MIME タイプ(ClipboardItem.supports('image/png') など)を引数として渡します。

HTMLSelectElement showPicker()

HTMLSelectElement の showPicker() メソッドを使用すると、デベロッパーは、input.showPicker() のパターンに沿って <select> 要素のオプション選択ツールをプログラムで開くことができます。

MediaCapabilities: decodingInfo() を使用して HDR サポートをクエリする

Media Capabilities API を拡張し、3 つの新しい VideoConfiguration ディクショナリ フィールド(hdrMetadataType、colorGamut、transferFunction)を介して HDR レンダリング サポートを検出できるようにします。

Chromium には独自のトーン マッピング アルゴリズムが実装されているため、HDR10(smpteSt2086)静的メタデータでは常に true を返します。smpteSt2094-40(HDR10+)と smpteSt2094-10 動的メタデータは現在サポートされていないため、false を返します。

Private Aggregation API: 集計コーディネーターの選択

Private Aggregation API に対するこの変更により、ペイロードの暗号化に使用するコーディネータを(ベンダー指定の許可リストから)選択するためのメカニズムが提供されます。サービスを選択するには、共有ストレージの run()selectURL() の呼び出し、および Protected Audience の runAdAuction()joinAdInterestGroup() の呼び出しで、追加のオプションを使用します。この広範なアプローチは、Attribution Reporting API のアプローチと概ね一致しています。

デスクトップの Remote Playback API

この API は、ウェブページからのメディアのリモート再生を制御する HTMLMediaElement を拡張したものです。Android 版では Chrome 56 が搭載されており、パソコン版では Chrome 121 以降で利用できます。

Speculation Rules API

Speculation Rules API に新機能が追加されました。

ドキュメント ルールのサポート: これは投機ルール構文の拡張機能であり、ブラウザがページの <a> 要素から投機的読み込み用の URL のリストを取得できるようにします。各リンクの使用条件も指定できます。これに推測ルール用の新しい「積極性」フィールドを組み合わせることで、デベロッパーは、カーソルを合わせるか、カーソルを合わせたときに、すぐにページ上のリンクを自動的にプリフェッチまたは事前レンダリングできます。

別の変更により、インラインの <script> 要素を使用する代わりに、Speculation-Rules HTTP レスポンス ヘッダーを使用して推測ルールを指定できるようになりました。このヘッダーの値は、"application/speculationrules+json" MIME タイプのテキスト リソースを指す URL にする必要があります。リソースのルールはドキュメントのルールセットに追加されます。

最後に、No-Vary-Search ヒントを使用すると、URL クエリ パラメータが変更された場合でも、投機的プリフェッチを一致させることができます。No-Vary-Search HTTP レスポンス ヘッダーは、照合のために URL クエリの一部またはすべてを無視できることを宣言します。クエリ パラメータのキーの順序によって一致が妨げられないようにしたり、特定のクエリ パラメータによって一致を防いだり、既知の特定のクエリ パラメータのみが不一致を引き起こしたりするように宣言できます。

SpeechSynthesis と SpeechSynthesisVoice インターフェース オブジェクト

すでにサポートされている機能に、SpeechSynthesisSpeechSynthesisVoice のインターフェース オブジェクトを追加しました。これにより、SpeechSynthesisVoice.prototype による特徴検出が可能になります。

Storage Buckets API

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

URLPattern: 左にワイルドカード右を継承

ベース URL、コンストラクタ文字列構文、またはその両方を使用して作成されるパターンの動作は変更されます。ただし、ベース URL なしでコンポーネントを明示的に指定するパターンは変更されません。

「以前の」コンポーネントが明示的に指定されている場合、コンポーネントはベース URL から継承されません。 文字列形式では、指定されていない「後の」コンポーネントは、空である必要はなく、暗黙的にワイルドカードが使用されます(ただし、ポートは例外で、ホスト名は常に指定されています)。ユーザー名とパスワードが暗黙的に指定されたり継承されたりすることはありません。

これにより、ワイルドカードが適切な場合において、パターンが以前よりも拡張しやすくなります。

URLPattern: RegExp v フラグ(u ではない)

URL Pattern API を使用すると、デベロッパーはパターン文字列を指定できます。これらは内部で正規表現に変換されます。

API が最初に実装されたとき、これらの正規表現は u フラグでコンパイルされていました。Chrome 121 ではこれを v フラグに更新し、Unicode セットを有効にします。

WebGPU への追加

WebGPU により、デベロッパーはパイプラインの作成時にシェーダー モジュールへのエントリ ポイントを省略できるようになり、エルゴノミクスが改善されました。デフォルトのエントリ ポイントが見つからない場合は、通常どおり GPUValidationError がトリガーされます。

WebGPU タイムスタンプ クエリを使用すると、WebGPU アプリケーションは、特にパスの開始時と終了時に GPU コマンドの実行にかかる時間を(ナノ秒単位まで)正確に測定できます。タイムスタンプ クエリは、GPU ワークロードのパフォーマンスと動作に関する分析情報を取得するために頻繁に使用されます。

WebGPU の仕様では、タイミング攻撃の懸念からタイムスタンプ クエリをオプション機能にしていますが、タイムスタンプ クエリの量子化は、タイマーの精度を 100 マイクロ秒の解像度で下げることで、その中間的なものになると Google は考えています。

X25519Kyber768 による TLS 鍵のカプセル化

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

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

Chrome 121 では、次の新しいオリジン トライアルを有効にできます。

Element Capture API

Element Capture API には、DOM のサブツリーをキャプチャするためのメソッドが用意されています。

タブ キャプチャを開始する既存の手段で動画 MediaStreamTrack を取得した場合、Element Capture では、特定の要素から始まる DOM のサブツリーのみを取得するようにトラックを変更できます。

この API は Region Capture API と多少似ていますが、オクルージョン コンテンツとオクルージョン コンテンツがキャプチャから除外されるため、アプリケーションの柔軟性が向上します。

ElementCapture オリジン トライアルに登録する

既存の動作の変更

Chrome 121 では、既存の動作に関して以下の変更が行われています。デベロッパーの皆様には、変更について十分にご確認ください。

最近移動されたクロスオリジン iframe に入力イベントを破棄

クロスオリジンの iframe が埋め込みページ内で最近移動された場合、Chrome はその iframe をターゲットとするイベントを通知せずに破棄します。これは、iframe が最近移動された場合、ユーザーがクリックまたはタップするつもりはなかった可能性が高いためです。

この変更は 2019 年に限定的にリリースされました。影響が及ぶのは、IntersectionObserver のバージョン 2 の機能(オクルージョンまたはエフェクト検出)を使用するスクリプトを含む iframe のみです。このリリースでは、この動作がすべてのクロスオリジンの iframe にも拡大されます。Chrome 121 で制限付きのテストとして開始し、徐々に増やしていきます。