特に明記しない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャネル リリースに適用されます。ここに記載されている機能の詳細については、記載されているリンクまたは ChromeStatus.com のリストをご覧ください。Chrome 129 は 2024 年 8 月 21 日時点でベータ版です。最新版は、パソコンの Google.com または Android の Google Play ストアからダウンロードできます。
CSS
今回のリリースでは、2 つの新しい CSS 機能を追加し、3 つの機能を更新しました。
CSS interpolate-size property
関数と calc-size()
関数
CSS interpolate-size
プロパティを使用すると、auto
、min-content
、fit-content
などの CSS 固有のサイズ設定キーワードのアニメーションと遷移をページで有効にできます(これらのキーワードをアニメーション化できる場合)。
CSS calc-size()
関数は calc()
に似た CSS 関数ですが、サポートされているサイズ設定キーワードを 1 つだけ操作することもできます。現在サポートされているサイズ設定キーワードは、auto
、min-content
、max-content
、fit-content
です。今後サポートされる可能性があるその他のサイズ設定キーワードには、stretch
(現在は接頭辞 -webkit-fill-available
としてサポートされています)と contain
があります。この関数は、interpolate-size
プロパティで許可されるアニメーションの途中の値を表すために使用されます。
CSS アンカー ポジショニングの inset-area
の名前を position-area
に変更
CSSWG により、このプロパティの名前が inset-area
から position-area
に変更されました。Chrome 129 では position-area
が提供されます。inset-area
という名前は今後のリリースで削除されます。
CSS Anchor Positioning: ラップされていない inset-area()
inset-area()
関数を、position-try-fallbacks
内で直接インセット領域の値に置き換えます。たとえば、position-try-fallbacks:inset-area(top)
ではなく position-try-fallbacks:top
を使用します。
ミラー edgeMode を使用するように CSS backdrop-filter を更新
backdrop-filter
CSS プロパティは、要素の背景に 1 つ以上のフィルタを適用します。バックドロップは、要素の背後に描画されるコンテンツです。一般的なフィルタはぼかしで、デザイナーは「すりガラス」のダイアログ ボックス、動画オーバーレイ、半透明のナビゲーション ヘッダーなどを作成できます。
これは当初、通常のぼかしと同じ方法で実装されていましたが、要素の端を超えてサンプリングすると、端の色が滲み込むようになりました。仕様が変更され、端のピクセルを複製して、背景の端の外側のピクセルをサンプリングするようになりました。ただし、これにより、コンテンツが背景の端に入ると極端なちらつきが発生します。最新の仕様変更では、エッジを超えてサンプリングするときに背景をミラーリングします。これにより、単一の色の線に重きを置くことなく、エッジに新しい色をスムーズに段階的に導入できます。
ウェブ API
WebRTC データチャネルでの Blob のサポート
RTCDataChannel.send(Blob)
を実装し、onMessage
イベントで binaryType
属性を使用して Blob
タイプのデータを受け取ることができるようになりました。
文字列と ArrayBuffer の送信に加えて、WebRTC 仕様に記載されているように、サイズが SCTP トランスポート maxMessageSize
未満であれば、代わりに Blob
を送信することもできます。
binaryType
属性が "blob"
に設定されている場合、onMessage イベントデータ属性のタイプは、現在サポートされている ArrayBuffer
ではなく Blob
になります。
Compute Pressure WebDriver 拡張機能のコマンド
仮想圧力源の圧力源サンプルの作成、削除、更新を行うための WebDriver コマンドを公開します。このような圧力源は、基盤となるハードウェアやオペレーティング システムのサポートに依存せず、テストに使用できます。
Intl.DurationFormat
複数のロケールをサポートする「1 時間 40 分 30 秒」などの時間の書式設定方法を提供します。
Private Aggregation API: クライアントサイドの貢献度の統合
Private Aggregation API を変更して、集計可能なレポートの暗号化されたペイロードに埋め込む前に、ヒストグラムの貢献を同じバケットとフィルタ ID で統合するようにしました。
非公開集計では、1 つの集計可能レポートに埋め込むことができるコントリビューションの数に上限があり、それを超えるコントリビューションは破棄されます。可能な限り拠出金を統合することで、上限を超えて追加のユーティリティを利用できます。余分なコントリビューションを除外した場合、このようなコントリビューションを統合しても、概要レポートなどの最終的な出力には影響しません。
scheduler.yield()
ブラウザに制御を委譲するメソッドを提供します。これは、長いタスクを分割するために使用できます。scheduler.yield()
によって返された Promise を待機すると、現在のタスクが降伏し、新しいブラウザタスクで続行されます。これにより、長時間のタスクによって発生する応答性の問題を改善できます。既存の代替手段のパフォーマンスの問題を軽減するために、継続が優先されます。
Web Authentication API: JSON シリアル化メソッド
WebAuthn の PublicKeyCredential.toJSON()
、parseCreationOptionsFromJSON()
、parseRequestOptionsFromJSON()
メソッドを使用すると、デベロッパーは WebAuthn レスポンスを JSON オブジェクトにシリアル化したり、JSON 表現から WebAuthn リクエスト オブジェクトを逆シリアル化したりできます。
WebGPU の拡張範囲(HDR)のサポート
WebGPU キャンバス構成にトーン マッピング パラメータを追加し、デフォルトとして standard
(ディスプレイの SDR 範囲にコンテンツを制限する現在の動作)と、新しい動作として extended
(この制限を適用しない)のオプションを追加しました。これにより、WebGPU コンテンツはディスプレイの全範囲を使用できます。
オリジン トライアルの進行状況
Chrome 129 では、次の新しいオリジン トライアルを有効にできます。
FileSystemObserver インターフェース
FileSystemObserver インターフェースは、ファイルシステムの変更をウェブサイトに通知します。サイトは、ユーザーのローカル デバイス(WICG/file-system-access で指定されている)またはバケット ファイル システム(fs.spec.whatwg.org で指定されている)のファイルとディレクトリの変更を検出し、変更タイプなどの基本的な変更情報を通知します。
FileSystemObserver オリジン トライアルに登録する。
非推奨と削除
このバージョンの Chrome では、以下の非推奨と削除が行われます。予定されている非推奨化、現在の非推奨化、過去の削除の一覧については、ChromeStatus.com をご覧ください。
このリリースの Chrome では、1 つの機能のサポートが終了します。
プライベート ネットワーク アクセスの 0.0.0.0
のサポート終了
Chrome では、プライベート ネットワーク アクセス(PNA)の完全なロールアウトに先立ち、IP アドレス 0.0.0.0
へのアクセスをブロックします。
Chrome では、PNA 仕様の一環として、一般公開されているウェブサイトからプライベート ネットワーク エンドポイントへの直接アクセスを非推奨にします。localhost(127.0.0.0/8
)でリッスンするサービスは、仕様上非公開と見なされます。Chrome の PNA 保護は、IP アドレス 0.0.0.0
を使用して macOS と Linux の localhost でリッスンしているサービスにアクセスすることで回避できます。
これは、localhost でリッスンしているウェブ アプリケーションをターゲットとする DNS リバインディング攻撃で悪用される可能性があります。
このリリースの Chrome では、3 つの機能が削除されます。
DOMParser の includeShadowRoots
引数を削除
includeShadowRoots
引数は DOMParser.parseFromString()
関数に渡される引数ですが、標準化されたものではありませんでした。この引数は、宣言型 Shadow DOM を含む HTML コンテンツを命令型で解析できるようにするために、これは、宣言型 Shadow DOM の初回リリースの一環として Chrome 90 で導入されました。
この機能の標準化されたバージョンが setHTMLUnsafe()
メソッドと parseHTMLUnsafe()
メソッドで利用可能になったため、非標準の includeShadowRoots
引数は削除されます。コードは次のように更新する必要があります。
従来の方法:
((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});
使用:
Document.parseHTMLUnsafe(html);
非標準の宣言型 Shadow DOM シリアル化を削除
宣言型 Shadow DOM のプロトタイプ実装には、シャドウルートを含む DOM ツリーのシリアル化に使用される getInnerHTML()
というメソッドが含まれていました。このプロトタイプの一部は、宣言型 Shadow DOM の他の部分と同様に標準化されていませんでしたが、代わりに代替の getHTML()
が設計されました。
そのため、古い getInnerHTML()
メソッドは Chrome から削除されます。代わりに getHTML()
を使用してください。このメソッドはまもなくブラウザ間で相互運用可能になります。
安全でないコンテキストから PointerEvent.getCoalescedEvents()
を削除
ポインタ イベント ワーキング グループは、4 年以上前に PointerEvent.getCoalescedEvents()
をセキュア コンテキストに制限し、セキュアでないコンテキストから API を削除しました。Chrome は当初、互換性に関する懸念から、古い動作でリリースされ、仕様の変更にすぐには対応しませんでした。
セキュアでないコンテキストでの Chrome の使用率が非常に低いことが判明したため、セキュアでないコンテキストから削除されます。