Chrome 119 ベータ版

Chrome 119 ベータ版では、CSS 相対色構文や新しい疑似クラスなどを利用できるようになります。

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

CSS

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

:user-valid および :user-invalid CSS 疑似クラス

:user-invalid 疑似クラスと :user-valid 疑似クラスは、それぞれ正しくない入力または正しい入力がある要素を表しますが、これはユーザーがかなりの操作を行った後のみです。これは :valid:invalid に似ていますが、これらの擬似クラスは、ユーザーが要素を操作した後にのみ一致するという制約が追加されています。

CSS 相対色構文(RCS)

相対色構文を使用すると、デベロッパーは他の色のパラメータを変更して色を定義できます。

たとえば、「oklab(from magenta calc(l * 0.8) a b);」は oklab のマゼンタの色を 80% 明るくします。

CSS のクリップパス geometry-box 値

CSS の clip-path プロパティで、クリップの参照ボックスをコントロールする <geometry-box> 値がサポートされるようになりました。これにより、clip-path が使いやすくなりました。これらのボックス値は、基本的なシェイプ(clip-path: circle(50%) margin-box など)と一緒に使用することも、特定のボックス(clip-path: content-box など)にクリップするために単独で使用することもできます。

CSS clip-path の xywh() と rect() の値

Chrome で clip-path プロパティの xywh() 値と rect() 値がサポートされるようになりました。これにより、長方形のクリップや丸みのある長方形のクリップを簡単に指定できます。

ウェブ API

Chrome 104 以降、新たに作成された Cookie または有効期限付きで更新された Cookie では、その日付の上限は 400 日以内になっています。この上限は、すでに保存されている Cookie にもさかのぼって適用されます。これらの Cookie の有効期限は、Chrome 119 以降の初回起動時から 400 日以内に上限が設定され、1 回限りのデータベース移行が行われます。この変更による影響は、Chrome 119 のリリースから少なくとも 400 日間はユーザーが感じられず、その期間に更新されていない既存の Cookie についてのみ発生します。

DisplayMediaStreamOptions monitoringTypeSurfaces

getDisplayMedia() が呼び出されると、ブラウザはディスプレイ サーフェス(タブ、ウィンドウ、モニター)の選択肢をユーザーに提供します。monitorTypeSurfaces オプションを使用することで、ウェブ アプリケーションは、ユーザーに提供される選択肢の中にモニタータイプのディスプレイ サーフェスを含める場合に、ブラウザにヒントを与えることができるようになりました。

Fenced Frames の機能の更新

Chrome 119 では、フェンス付きフレームに関して以下の改善が行われています。

プライバシー サンドボックス内の Protected Audience API には、Protected Audience の広告サイズマクロのフォーマット オプションがあります。オプトイン機能を使用すると、オークションで落札した広告のサイズを広告の URL にマクロを追加できます。次に例を示します。

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

deprecatedReplaceInURNregisterAdMacro で使用されているマクロなど、Protected Audience の他の種類のマクロとの整合性を高めるため、Chrome 119 では、現在の形式に加えて ${AD_WIDTH}${AD_HEIGHT} をマクロの形式に使用できるようになりました。

自動ビーコンが、登録されているすべての URL に送信されるようになりました。以前は、setReportEventDataForAutomaticBeacons() を呼び出したときに指定されたデスティネーションのみが、ワークレット内の "reserved.top_navigation"registerAdBeacon() を呼び出した場合でも、自動ビーコンを受信していました。"reserved.top_navigation" に対して registerAdBeacon() を呼び出したデスティネーションはすべて自動ビーコンを取得しますが、setReportEventDataForAutomaticBeacons() で指定されたデスティネーションのみがビーコンとともに自動ビーコンデータを取得します。setReportEventDataForAutomaticBeacons()"once" パラメータが、ビーコン全体が 1 回だけ送信されるかどうかを判別するのではなく、データが 1 回送信されるかどうかを判別するようになりました。

Intersection Observer のスクロール マージン

Intersection Observer の scrollMargin プロパティを使用すると、デベロッパーはスクロール コンテナによって現在クリップされ、ネストされたスクロール コンテナ内のターゲットを監視できます。これを行うには、交差の計算時に、コンテナのクリッピング範囲を scrollMargin だけ拡大します。

キーボードでフォーカス可能なスクロール コンテナ

この機能により、シーケンシャル フォーカス ナビゲーションを使用してスクロール コンテナをフォーカス可能にすることで、ユーザー補助を改善できます。以前は、tabIndex が明示的に 0 以上に設定されていない限り、Tab キーではスクローラーがフォーカスされませんでした。スクローラーをデフォルトでフォーカス可能にすると、マウスを使用できない(または使用したくない)ユーザーは、キーボードの Tab と矢印キーを使用してクリップしたコンテンツにフォーカスできるようになります。この動作は、スクローラーにキーボードのフォーカス可能な子が含まれていない場合にのみ有効になります。

自動車のプライベート ネットワーク アクセスの制限

Chrome for Android Automotive に対して(警告ではなく)プライベート ネットワーク アクセスの制限を適用します(BuildInfo::is_automotive の場合)。これには、サブリソースに対するプライベート ネットワーク アクセスのプリフライト リクエストや、ワーカーのプライベート ネットワーク アクセスが含まれます。

Chrome デバイスの属性を読み取る

Device Attributes Web API は Managed Device Web API のサブセットで、デバイス情報をクエリする機能をウェブ アプリケーションに提供します。(デバイス ID、シリアル番号、場所など)。

ターゲット名のダングリング マークアップを _blank に変更

この変更により、ダングリング マークアップ(\n< など)が含まれている場合、ナビゲーション可能なターゲット名(通常はターゲット属性で設定)が _blank に置き換えられます。これにより、ダングリング マークアップ インジェクションの軽減におけるバイパスが修正されます。

Sec-CH-Prefers-Reduced-Transparency ユーザー設定のメディア機能 Client Hints ヘッダー

ユーザー設定メディア機能の Client Hints ヘッダーは、メディアクエリ レベル 5 で定義されているユーザー設定のメディア機能に関する HTTP Client Hints ヘッダーのセットを定義します。これらのヘッダーを Critical Client Hints として使用すると、サーバーは CSS のインライン化などに関するスマートな選択を行えるようになります。Sec-CH-Prefers-Reduced-Transparency はユーザーの prefers-reduced-transparency 設定を反映します。Chrome 119 から使用可能。

標準に準拠した URL ホストの句読点

Chrome における URL ホストの句読点文字の処理を URL 標準に準拠させます。例:

プログラム開始前:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( は禁止されている文字ですが、Chrome で誤って許可されています。

申し込みの後:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

WebCodecs AudioEncoder ビットレート

一部のオーディオ コーデックは、音声エンコーダのビットレート モードの指定をサポートしています。この機能により、WebCodec の AudioEncoderConfig にデフォルト値が "variable""bitrateMode" フラグが追加されます。これは、構成オプションと VideoEncoderConfig にすでに存在するデフォルトをミラーリングします。

このフラグにより、デベロッパーは可変ビットレートと固定ビットレートの音声エンコードを選択できます。コーデック エンコーダの実装によって用語が若干異なる可能性があります(例: Opus の CBRVBR など)が、いずれも「定数」と「可変」ビットレートという一般的なコンセプトに対応している必要があります。

この 2 つのオプションには、次のような影響があります。

  • variable: エンコードする音声のコンテンツに応じて音声エンコーダでビットレートを増減することで、帯域幅やバイナリサイズを維持しながら目標品質を維持できるようにします。たとえば、エンコーダで、無音のエンコード時にビットレートを下げ、音声のエンコード時にフルビットレートに戻す場合があります。
  • constant : 音声コンテンツに関係なく、音声エンコーダに強制的に同じビットレートを維持します。これは、帯域幅の消費量が予測可能なことが望ましい場合に便利です。

Chrome 119 以降、このフラグは Chromium の 2 つのコーデック(Opus と AAC)に影響します。

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

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

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

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

ポップアップを全画面ウィンドウとして開く

この新しいオリジン トライアルでは、window.open() JavaScript API に fullscreen windowFeatures パラメータが追加されています。これにより、呼び出し元は、(screenX と screenY に基づく)ポップアップを含むポップアップを直接、ディスプレイ上で全画面表示にできるようになります。これにより、新しいユーザー アクティベーション シグナルが必要になるようなポップアップを手動で全画面表示に移行する必要がなくなります。

サポートの終了と削除

このバージョンの Chrome では、下記のサポート終了と削除を行います。サポート終了の予定、現在のサポート終了、これまでの削除情報のリストについては、ChromeStatus.com をご覧ください。

Chrome の今回のリリースでは、4 つの機能が削除されました。

Web SQL を削除

Web SQL のサポート終了と削除については、以前にお知らせしました。この機能は Chrome 119 で完全に削除されています。リバース オリジン トライアルでは、デベロッパーは Chrome 123 まで WebSQL を引き続き使用できます。

Sanitizer API の削除

Sanitizer API は、使いやすく、常に安全で、ブラウザで管理される HTML サニタイザーをプラットフォームに組み込むことを目的としています。Chrome の初期バージョンは、その時点の仕様ドラフトに基づいて Chrome 105 でリリースされています。しかし同時に議論が進み、提案する API の形は大きく変化しました。

現在の API が定着しないように、現在の実装を削除します。提案した仕様が再び安定したら、Sanitizer API を再実装する予定です。

データの削除: SVGUseElement の URL

SVGUseElementdata: URL を割り当てると、XSS が発生することがあります。さらに、Trusted Types の回避にもつながりました。そのため、この API のサポートは終了し、削除する予定です。

宣言型 Shadow DOM の非標準 shadowroot 属性を削除

Chrome 111 では、宣言型の Shadow DOM を有効にする標準トラックの shadowrootmode 属性が導入されました。標準以外の古い shadowroot 属性は Chrome 119 で削除されます。簡単な移行パスとしては、shadowrootshadowrootmode に置き換えます。