CSS

CSS Custom Highlight Universal Selector ::highlight(*) リンクをコピーしました!

カスタムハイライト用の汎用セレクタ ::highlight(*) を導入します。これは、名前に関係なく、すべてのカスタムハイライトのハイライト擬似要素に一致します。

* 引数は特異性を一切提供しないため、その宣言はカスケードを通じて特定のハイライトオーバーライドの名前付けを規定する基本スタイルとして機能します。

CSS flow-start and flow-end alignment keywords リンクをコピーしました!

CSSWGで解決された既存のflex-start/endキーワードの値エイリアスとして、flow-start/endキーワードを導入します。これらは、配置が反転した場合の整列に必要です。

CSS Grid-Lanes の flow-start は、配置が始まるコンテナの開始エッジを示します。これは、配置が反転する場合 ( fill-reverse 、 track-reverse 、この CSSWG の課題で議論されています: [css-grid-3][masonry] item-flow row vs. column in masonry layouts · Issue #12803 · w3c/csswg-drafts) に役立ちます。これらは値のエイリアスとして機能しているため、Grid Lanes の flex-start/end も論理的な方向に従うと予想され、これにより、これらのキーワードの定義は、flexbox での特別な動作の適用から、論理的な開始/終了が物理的な開始/終了と異なる任意のレイアウト モードへの適用に拡張されます。

シリアル化の場合、flex-start/end または flow-start/end のいずれかが使用される場合、返されるシリアル化値は flow-start/end である必要があります。

object-fit and object-position apply to SVG documents in <object> and <embed> リンクをコピーしました!

<object> または <embed> を介して読み込まれた SVG ドキュメントは、<img> コンテンツと同様に、CSS の object-fit および object-position プロパティに従って要素のコンテンツ ボックス内にサイズと位置が設定されます。

以前のChromeは、埋め込まれたSVGドキュメントに対してこれらのプロパティを無視し、常にドキュメントのビューポートをコンテンツボックス全体に引き伸ばしていました。

機能 (Project Fugu)

HTML インストール要素 リンクをコピーしました!

Chrome は、マニフェスト URL とオプションのマニフェスト ID を指定することで、ブラウザによるウェブアプリのインストールリクエストをトリガーできるようになりました。<install> 要素を使用する場合、JavaScript を使用せずにクロスオリジンのウェブアプリをインストールできるようになり、 beforeinstallpromptイベントを処理するよりも優れたデベロッパー エクスペリエンスが実現します。この要素は、同じインストール機能へのコマンドのエントリポイントであるnavigator.install()と並行して提供開始されます。管理者は次の 2 つの方法でこの動作を制御できます。

  1. エンタープライズポリシーWebAppInstallByUserEnabledでは、 navigator.install()や <install> を介して開始されたインストールを含めて、ユーザーによるウェブアプリのインストールを何度も行えます。
  2. 権限ポリシーweb-app-installation では、企業が管理するオリジン(内部サイトや iframe など)におけるこの機能の使用を許可または禁止できます。

Web Install API リンクをコピーしました!

Chrome 158 以降、新しい Web Install API により、ウェブサイトはマニフェスト URL とオプションのマニフェスト ID を指定して、ユーザーにウェブアプリのインストールを行うことが可能になります。 navigator.install()メソッドを使用すると、クロスオリジンのウェブアプリをインストールできます。また、 beforeinstallpromptイベントを処理するよりも優れたデベロッパー エクスペリエンスが提供されます。この API は、同じインストール機能への宣言型エントリーポイントである<install>要素と並行してリリースされます。

管理者は次の 2 つの方法でこの動作を制御できます。

  1. エンタープライズポリシーWebAppInstallByUserEnabledでは、 navigator.install()や<install>を介して開始されたインストールを含めて、ユーザーによるウェブアプリのインストールを何度も無効にできます。
  2. 権限ポリシーweb-app-installation では、企業が管理するオリジン(内部サイトや iframe など)におけるこの機能の使用を許可または禁止できます。

マルチメディア

Media element pseudo-classes リンクをコピーしました!

:playing、:paused、:seeking、:buffering、:stalled、:muted、および:volume-locked CSS擬似クラスは、<audio>要素と<video>要素の状態に基づいて一致します。

これは、 https://wpt.fyi/interop-2026で重点的に取り上げられている分野の一つです。

OfflineAudioContext incremental rendering リンクをコピーしました!

この機能は、OfflineAudioContextにインクリメンタルレンダリングメカニズムを追加することで、オーディオグラフデータをオーディオバッファ全体を前もって割り当てるのではなく、段階的に処理できるようにします。データチャンクを使用してデータを段階的に配信することで、大量のデータを処理する際にユーザーのマシンに高いメモリ要件を設ける必要がなくなります。

その他

Permissions Policy: focus-without-user-activation リンクをコピーしました!

埋め込みコンテンツからのプログラムによるフォーカスをfocus-without-user-activation権限ポリシーによって埋め込み者に制御させます。開始フレームに対してこのポリシーが拒否された場合、そのフレームに一時的なユーザー アクティベーションがあるか、フォーカスが既にサブツリー内にある場合を除き、プログラムによるフォーカスの変更 ( element.focus() 、 autofocus 、 window.focus() 、およびダイアログとポップオーバーのフォーカス手順から) はブロックされます。これにより、ダイアログやポップオーバーが開くことが妨げられることはありません。クリックやタブキーによるフォーカスなど、ユーザーが開始するフォーカスは影響を受けません。クロス オリジン iframe での自動フォーカスに関する Chromium の既存の制限は変更されません。このポリシーは自動フォーカスをさらに制限できますが、許可してもクロス オリジン フレームでの自動フォーカスは有効になりません。

ポリシーはPermissions-Policy HTTPレスポンスヘッダーまたはiframeのallow属性を介して設定できます。フォーカス委譲がサポートされています。フォーカスを持つ親フレームは、子iframeのポリシーが拒否されている場合でも、プログラムによって子iframeにフォーカスを渡すことができます。また、フレームがフォーカスを持つと、自身のサブツリー内でフォーカスを移動できます。

Prerendering cross-origin iframes リンクをコピーしました!

オプトイン応答ヘッダーを使用して、クロスオリジンiframeをプリレンダリングします。

ブラウザは、トップレベルフレームの HTTP レスポンスに Supports-Loading-Mode: prerender-cross-origin-frames が含まれている場合、すべてのクロスオリジンフレームをプリレンダリングするようになりました。

SVG textPath side attribute リンクをコピーしました!

textPath要素のside属性を使用することで、SVGテキストがパスのどちら側をたどるかを作者が選択できるようになります。side="right"を設定すると、テキストレイアウトのパス方向が実質的に反転するため、パスデータを複製したり手動で反転させたりすることなく、円形パスの内側または外側にテキストを簡単に配置できます。

closest-corner and farthest-corner radii for circle() and ellipse() basic shapes リンクをコピーしました!

CSS の基本図形関数 circle() と ellipse() は、既存の closest-side と farthest-side に加えて、closest-corner と farthest-corner という半径キーワードを受け入れるようになりました。これらのキーワードは、図形の中心から参照ボックスの最も近い角または最も遠い角までのユークリッド距離に解決され、radial-gradient() の長年の動作と一致します。これらのキーワードは clip-path、shape-outside、offset-path で機能するため、グラデーションで受け入れられる図形構文が図形にも適用できるようになりました。

CL: https://chromium-review.googlesource.com/c/chromium/src/+/7767079

Isolated Web Apps

Source Specific Multicast for Direct Sockets API リンクをコピーしました!

Direct Sockets API にソース固有マルチキャスト (SSM) のサポートを追加し、分離された Web アプリケーションがマルチキャスト グループに参加する際に、オプションで送信元アドレスを指定して、その送信元からのみ UDP パケットを受信できるようにします。送信元アドレスを指定しない場合、joinGroup() は任意の送信元マルチキャスト (ASM) を使用し、グループに送信される任意の送信元からのパケットを受信します。SSM は、プライベート ネットワーク以外でマルチキャストを使用するために不可欠であり、パケット ルーティングを簡素化し、送信元アドレスに基づいてネットワーク レベルでトラフィックをフィルタリングすることで、なりすましやサービス拒否攻撃を軽減します。

デバイス

レビュー待ち

WebHID のサポート リンクをコピーしました!

WebHID APIを使用すると、Webアプリケーションは、標準的なシステム入力マッピング(マウス、キーボード、タッチスクリーン、標準ゲームパッドなど)を超えて、USBおよびBluetooth経由でヒューマンインターフェースデバイス(HID)とやり取りできます。Webアプリケーションは、HIDデバイスへの接続、入力、出力、機能レポートの送受信、レポート記述子の検査について、ユーザーの許可を要求できます。

WebHIDは、Chrome 89でデスクトッププラットフォーム(Windows、macOS、Linux、ChromeOS)に提供開始されました。今回のリリースでは、既存のWebHID APIがChrome 158でAndroid版Chromeにも導入されます(Android 17 / APIレベル37以降の新しいOSサポートに依存します)。Webに公開されるAPIインターフェースに変更はありません。

現在よく利用されている用途としては、メカニカルキーボード、キーパッド、ゲーミングマウスのカスタマイズ、ゲームパッドのキャリブレーション、コールセンターにおけるハードウェアヘッドセットの通話制御機能の統合などが挙げられる。

WebViewは、デバイス選択UIや権限設定のためのUX機能がないため、サポートされていません。

この機能は、以下の企業ポリシーによって制御できます。

ネットワーク / 接続

WebTransport anticipated concurrent incoming streams リンクをコピーしました!

WebTransportアプリケーションが、同時に開く予定の受信ストリーム数を指定できるようにします。コンストラクタヒントによって初期のQUICストリーム許容数を設定することで、高いストリーム同時処理能力を必要とするサーバーが初期ストリーム制限によってブロックされるリスクを軽減できます。

WebTransport congestion control リンクをコピーしました!

WebTransportにcongressControlコンストラクタオプションと読み取り専用属性を追加します。アプリケーションは「default」、「throughput」、「low-latency」のいずれかの動作を要求でき、ユーザーエージェントはセッションごとに適切な輻輳制御動作を選択できます。

WebTransport draining リンクをコピーしました!

WebTransport.drainingは、サーバーがWebTransportセッションを正常に終了することを示すと解決されるプロミスです。アプリケーションはこのシグナルを使用して、既存のストリームと現在のセッションが引き続き使用可能な状態で、代替セッションを確立できます。

WebTransport keying material export リンクをコピーしました!

WebTransport.exportKeyingMaterial() を追加しました。これにより、アプリケーションは確立済みの WebTransport セッションに紐づけられた暗号化キーマテリアルを生成できるようになります。

このメソッドは、アプリケーションから提供されるバイナリラベル値とコンテキスト値、および要求された出力長を受け取り、Promise<Uint8Array>を返します。Chromiumは、ラベル値とコンテキスト値を最大255バイト、出力長を1~4096バイトまでサポートしています。

HTTP/3 上の WebTransport の場合、Chromium は WebTransport CONNECT ストリーム ID を TLS エクスポーター コンテキストに含めます。これにより、同じ HTTP/3 接続を共有している場合でも、個別の WebTransport セッションが異なる鍵情報を生成することが保証されます。

WebTransport receive stream リンクをコピーしました!

標準化された WebTransportReceiveStream インターフェイスを追加します。これは、受信する単方向ストリームと双方向ストリームの読み取り側に使用される ReadableStream サブクラスです。getStats() メソッドは、ストリームごとのバイトカウンタを返します。bytesReceived はネットワークから受信したバイト数を報告し、bytesRead はアプリケーションに配信されたバイト数を報告します。

WebTransport reliability attributes リンクをコピーしました!

WebTransport.reliabilityインスタンス属性とWebTransport.supportsReliableOnly静的属性を追加します。これらのAPIは、ユーザーエージェントが信頼性の高い接続のみでWebTransportをサポートしているかどうか、および確立されたセッションがデータグラムなどの信頼性の低いトランスポートをサポートしているかどうかを示します。

Chromiumでは、信頼性は最初は「pending」を返し、HTTP/3 WebTransport接続が確立されると「supports-unreliable」に変わります。Chromiumは現在HTTP/2フォールバックをサポートしていないため、WebTransport.supportsReliableOnlyはfalseを返します。正常に確立されたセッションはすべてHTTP/3を使用し、信頼性の低いデータグラムをサポートします。