Chrome 119 ベータ版では、CSS 相対色の構文、新しい疑似クラスなどが提供されます。
特に記載のない限り、記載されている変更は、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに適用されます。機能の詳細については、上記のリンクまたは ChromeStatus.com のリストをご覧ください。2023 年 10 月 4 日時点で Chrome 119 はベータ版です。最新版は Google.com(パソコン版)または Google Play ストア(Android 版)からダウンロードできます。
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 のクリップパスの xywh() と rect() の値
Chrome で clip-path
プロパティの xywh()
と rect()
の値がサポートされるようになりました。これにより、長方形または角の丸い長方形のクリップを簡単に指定できるようになります。
ウェブ API
以前の保存における Cookie の有効期限/Max-Age 属性の上限
Chrome 104 以降、新しく作成された Cookie、または有効期限付きの更新された Cookie では、有効期限が今後 400 日以内に設定されています。これと同じ制限が、すでにストレージに保存されている Cookie にさかのぼって適用されます。これらの Cookie の有効期限は、Chrome 119 以降の初回起動時および 1 回限りのデータベース移行から 400 日以内に設定されます。この変更による影響は、Chrome 119 のリリースから少なくとも 400 日後まではユーザーに感じられず、その期間中に更新されていない既存の Cookie に対してのみ影響を受けます。
DisplayMediaStreamOptions MonitorTypeSurfaces
getDisplayMedia()
が呼び出されると、ブラウザは表示サーフェス(タブ、ウィンドウ、モニター)の選択肢をユーザーに提供します。monitorTypeSurfaces
オプションを使用すると、ウェブ アプリケーションは、ユーザーに提示される選択肢の中にモニタータイプのディスプレイ サーフェスを含める場合、ブラウザにヒントを与えることができます。
フェンス付きフレームの機能の更新
Chrome 119 では、フェンス付きフレームが次のように改善されています。
プライバシー サンドボックス内の Protected Audience API には、Protected Audience の広告サイズのマクロに関する追加のフォーマット オプションがあります。オプトイン機能を使用すると、オークションで落札した広告のサイズを広告の URL にマクロで挿入できます。次に例を示します。
https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}
Protected Audience の他のタイプのマクロ(deprecatedReplaceInURN
や registerAdMacro
で使用されるマクロなど)との一貫性を高めるため、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
や <
など)が含まれている場合、ナビゲーション可能なターゲット名(通常は target 属性によって設定される)が _blank
に置き換えられます。これにより、ダングリング マークアップ インジェクション対策のバイパスが修正されます。
Sec-CH-Prefers-Reduced-透明性 ユーザーの好みのメディア機能の Client Hints ヘッダー
ユーザー設定のメディア機能の Client Hints ヘッダーは、メディアクエリ レベル 5 で定義されているユーザー設定のメディア機能の一連の HTTP Client Hints ヘッダーを定義します。重要な 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/'
(
は禁止されている文字ですが、Chrome で誤って許可されています。
申し込みの後:
> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.
WebCodecs の AudioEncoder ビットレート モード
一部のオーディオ コーデックでは、オーディオ エンコーダのビットレート モードを指定できます。この機能は、WebCodec の AudioEncoderConfig
に、VideoEncoderConfig
の既存の構成オプションとデフォルトをミラーリングする "bitrateMode"
フラグ(デフォルト値: "variable"
)を追加します。
このフラグを使用すると、デベロッパーは可変ビットレートと固定ビットレートのどちらで音声をエンコードするかを選択できます。特定のコーデック エンコーダの実装では用語が若干異なる場合がありますが(例: Opus の CBR
と VBR
など)、それらはすべて「定数」の一般的なコンセプトにマッピングする必要があります。「変数」との比較選択します。
この 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
SVGUseElement
で data: URL
を割り当てると、XSS が発生することがあります。また、Trusted Types のバイパスにもつながりました。そのため、Google はこの API のサポートを終了し、削除する予定です。
宣言型 Shadow DOM の非標準 shadowroot
属性を削除
宣言型 Shadow DOM を有効にする標準トラッキングの shadowrootmode
属性は、Chrome 111 で導入されました。標準以外の古い shadowroot
属性は、Chrome 119 で削除されます。簡単な移行パスとしては、shadowroot
を shadowrootmode
に置き換えます。