CSS ディスプレイ プロパティ用の複数のキーワード、WebGPU 用の WGSLLanguageFeatures、HTTPS アップグレードなど。
特に記載のない限り、ここに記載されている変更は、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに適用されます。こちらに記載されている機能について詳しくは、リンク先または ChromeStatus.com のリストをご覧ください。2023 年 5 月 31 日、Chrome 115 はベータ版です。最新バージョンはパソコン版の Google.com または Android 版の Google Play ストアでダウンロードできます。
CSS
このリリースでは、3 つの新しい CSS 機能が追加されました。
display
プロパティの複数の値
CSS の display
プロパティに、以前の事前構成されたキーワードに加えて、複数のキーワードを値として受け入れるようになりました。最初の 2 つのキーワードは、ディスプレイの外側と内側の値を表します。list-item
のオプション フラグ、table-cell
などの内部値、contents
と none
のボックス値があります。
外側と内側のキーワードを使用すると、外側のボックスの動作(ブロックまたはインライン)と内側の子の動作(flex
、grid
、flow
など)を定義できます。したがって、display: flex
は display: block flex
に、display: block
は display: block flow
になります。一般的なマッピングのリストと詳細については、MDN をご覧ください。
ブール値コンテキスト スタイルのコンテナクエリ
Chrome 115 では、初期値以外を照合する方法として、宣言値がなくプロパティ名のみの style()
コンテナクエリがサポートされています。以前は not style(--my-property: initial)
を使用する必要がありましたが、style(--my-property)
を使用して、初期値以外の値と一致させることができるようになりました。
スクロールドリブン アニメーション
ScrollTimeline
と ViewTimeline
は、Web Animations 仕様の拡張です。これによりデベロッパーは、デフォルトの単調な時計時刻ではなく、スクローラーの位置またはスクローラー内の要素の位置を入力「時間」として使用できます。これにより、ユーザーによるスクリプトの実行を必要とせずに、ナビゲーション バーの縮小など、スクロール ベースのアニメーションを加速できます。CSS アニメーションとウェブ アニメーションで使用される CSS と JavaScript の両方で、宣言してインスタンス化できます。
詳しくは、スクロールドリブン アニメーションでスクロール時に要素をアニメーション化するをご覧ください。
display: contents
を含む要素がユーザー補助ツリーに表示されなくなる回帰を修正
回帰が導入され、display: contents
の要素でセマンティック情報を失い、ユーザー補助ツリーに正しく表現されなくなりました。Chrome 115 では、この問題を修正しています。
ウェブ API
メインスレッドの WebAssembly.Module()
の最大サイズを 8 MB に増やす
WebAssembly.Module() コンストラクタはバイナリの WebAssembly モジュールを同期的にコンパイルするため、メインスレッドがブロックされる可能性があります。これを回避するために、このコンストラクタでコンパイルできる WebAssembly モジュールの最大サイズは 8 MB に制限されています。それより大きいモジュールは、WebAssembly.compile()
を使用してメインスレッドで非同期にコンパイルするか、ワーカー スレッドで同期的にコンパイルできます。8 MB の上限は、元の上限である 4 KB を延長したものです。この拡張は、WebAssembly ランタイム V8 の改善によって可能になりました。8 MB の上限は、現在代表的なローエンド スマートフォンと見なされている Google Pixel 1 のパフォーマンス測定に基づいて決定されています。今後、V8 やハードウェアで開発が行われると、この上限をさらに拡張する可能性があります。
FedCM: 自動再認証のための認証情報管理メディエーション要件のサポート
認証情報管理メディエーションの要件をサポートし、FedCM API を使用してウェブサイトで連携アカウントを作成したユーザーに効率的な再認証 UX を提供します。
HTTPS のアップグレード
すべてのメインフレーム ナビゲーションを HTTPS に自動的かつ楽観的にアップグレードし、HTTP への迅速なフォールバックを実現します。
Storage API、Service Worker API、Communication API のパーティショニング
Chrome では、特定の種類のサイドチャネルのクロスサイト トラッキングを防ぐために、ストレージと通信 API をサードパーティのコンテキストで分割しています。これには、割り当て管理されるストレージ、Service Worker、通信 API(BroadcastChannel など)が含まれます。詳細については、ストレージ パーティショニングのドキュメントをご覧ください。
Resource Timing: 暫定的なレスポンス時間を公開する
ナビゲーションまたはサブリソースの取得で暫定的な 1xx レスポンスが発生した場合に PerformanceResourceTiming.firstInterimResponseStart
を公開します。たとえば、100 件の続行または 103 件の早期ヒントの場合、firstInterimResponseStart
はその最初の暫定レスポンスの時刻に対応し、responseStart
は最終レスポンス(ステータス 200 など)に対応します。
lookupNamespaceURI()
と createNSResolver()
での「xml」接頭辞の処理を更新しました
Node.lookupNamespaceURI()
はデフォルトで「xml」と「xmlns」の接頭辞をサポートします。関数は、これらの文字列に固定された名前空間文字列を返します。Document.createNSResolver()
と XPathEvaluator.createNSResolver()
は、指定されたノードをラップして「xml」接頭辞の処理を追加するのを停止します。指定されたノードをそのまま返します。ウェブ デベロッパーは、createNSResolver()
でラップせずに、要素を XPathNSResolver
として使用できるようになりました。
VisibilityStateEntry
パフォーマンスのタイムラインの表示状態(表示または非表示)を公開します。タイムラインには、常に startTime
が 0 で初期の公開設定を持つエントリと、可視性状態の変化に対応するエントリがあります。
WebGPU の WGSLLanguageFeatures
WebGPU の GPU オブジェクトに wgslLanguageFeatures
ゲッターとそれに対応する WGSLLanguageFeatures
タイプを追加します。
FedCM ダイアログとやり取りするための WebDriver コマンド
これにより、いくつかの WebDriver コマンドが公開され、自動テストなどのブラウザの自動化で FedCM ダイアログとやり取りできるようになります。
オリジン トライアルが進行中
Chrome 115 では、次の新しいオリジン トライアルを有効にできます。
コンピューティングの圧力
Compute Pressure API は、デバイス ハードウェアの現在の状態に関する概要情報を提供します。これにより、サイトは、利用可能な処理能力を利用することと、システムを管理できないストレスにさらすこととの間で、ユーザーにとって適切なバランスを取ることができます。コンピューティングの圧力は、設計上一般的な用語です。現時点では CPU 負荷に基づいて計算されますが、今後は温度やバッテリーの状態からの信号を使用する予定です。詳細については、2 回目の Compute Pressure オリジン トライアルの発表をご覧ください。
Compute Pressure オリジン トライアルに登録します。
マジック コメント付きの明示的なコンパイル ヒント
積極的に解析して JavaScript ファイルにコンパイルすべき関数に関する情報を付加できます。情報はマジック コメントとしてエンコードされます。YouTube は、さまざまなマジック コメントの形式をテストします。たとえば、ファイル内のすべての関数に積極的コンパイルのマークを付けたり、関数のサブセットだけにマークを付けたりできます。
マジック コメントのオリジン トライアルで明示的なコンパイル ヒントを登録する。
長いアニメーション フレーム API
これは Long Tasks API の拡張です。タスクは、その後のレンダリングの更新とともに測定され、長時間実行スクリプト、レンダリング時間、強制レイアウトとレイアウト スラッシングと呼ばれるスタイルに費やされた時間などの情報が追加されます。デベロッパーはこれを、Interaction to Next Paint(INP)によって測定される「遅い」の診断に使用できます。これは、不正な INP の原因となることが多いメインスレッドの輻輳の原因を特定することによるものです。
長いアニメーション フレームのオリジン トライアルに登録します。
Storage Buckets API
ストレージ バケットを使用すると、複数のストレージ バケットを作成してデータを整理でき、ユーザー エージェントで各バケットを他のバケットとは独立して削除できます。各ストレージ バケットには、IndexedDB や CacheStorage などの確立されたストレージ API に関連付けられたデータを保存できます。 Storage Buckets API オリジン トライアルに登録します。
サポートの終了と削除
このバージョンの Chrome では、下記のサポート終了と削除を行います。サポート終了の予定、現在のサポート終了、これまでの削除情報のリストについては、ChromeStatus.com をご覧ください。
Chrome の今回のリリースでは、2 つの機能が非推奨になりました。
document.domain
セッターのサポート終了
document.domain
セッターのサポートが終了するのは、デベロッパーが同一オリジン ポリシーを緩和できるようになるため、Google が維持しようとしている基本的なセキュリティ境界が複雑になり、スペクター後の Chromium プロセスモデルの変更の妨げとなるためです。
document.domain を使用する代わりに Chrome で document.domain の変更が無効化されるをご覧ください。ほとんどの場合、クロスオリジンの postMessage()
または Channel Messaging API が document.domain を置き換えることができます。最後の手段として、オリジンキー エージェント クラスタを使用してドキュメント ドメインにオプトインすることもできます。セッターは残りますが、オリジンは変更されません。
ミューテーション イベントのサポート終了
DOMSubtreeModified
、DOMNodeInserted
、DOMNodeRemoved
、DOMNodeRemovedFromDocument
、DOMNodeInsertedIntoDocument
を含む変更イベントは、2011 年に仕様で非推奨になり、2012 年には Mutation Observer API に置き換えられました。Chrome 127(2024 年 7 月 20 日)で削除される前に、古いミューテーション イベントの使用を Mutation Observer に移行する必要があります。
詳しくは、ミューテーション イベントのサポート終了をご覧ください。