Chrome 147 ベータ版

公開日: 2026 年 3 月 11 日

特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。これらの機能について詳しくは、提供されているリンクにアクセスするか、ChromeStatus.com をご覧ください。最新のベータ版は、パソコンの場合は Google.com から、Android の場合は Google Play ストアからダウンロードできます。

タイムラインの名前付き範囲 scroll

この機能は、ViewTimelines の名前付き範囲のセットを拡張し、scroll 範囲を追加します。

スクロールドリブン アニメーション API では、アニメーションの範囲を定義する ViewTimeline の部分を参照する名前付き範囲とともに ViewTimelines が導入されました。

ただし、指定されたすべての名前付き範囲は、そのサブジェクトが表示される ViewTimeline の部分に制限されていました。タイムラインの基盤となるスクロール コンテナの全体を参照するのに便利です。この機能により、scroll の名前付き範囲が既存のセット(entryexitcovercontain)に追加されます。

CSS contrast-color()

この関数を使用すると、ユーザー補助のコントラスト要件を満たすことができます。

contrast-color() 関数は、CSS の中で色の値が想定される場所であればどこでも使用できます。色値の引数を取り、色引数に対して最も高いコントラストを提供する方に応じて black または white を返します。

CSS border-shape

CSS border-shape を使用すると、任意の形状(polygoncircleshape() など)の長方形以外の枠線を作成できます。

border-shapeclip-path と同じ形状を受け入れますが、根本的に異なります。border-shape は、枠線の形状を定義し、装飾し、内側のみをクリップします。

border-shape には 2 つのバリエーションがあります。1 つはシェイプをストロークするバリエーションで、もう 1 つは 2 つのシェイプの間を塗りつぶすバリエーションです。

要素スコープのビュー遷移

任意の HTML 要素で Element.startViewTransition() を公開します。この要素はトランジションのスコープを確立します。つまり、トランジションの疑似要素は祖先のクリップと変換の影響を受け、別々の要素に対する複数のトランジションを同時に実行できます。

CSS の更新: width プロパティと style プロパティの分離

Chrome は、border-widthoutline-widthcolumn-rule-width プロパティの動作について、更新された CSS 仕様に準拠します。以前は、対応する border-styleoutline-style、または column-rule-stylenone または hidden に設定されている場合、指定された値に関係なく、これらのプロパティの計算された幅は強制的に 0px になっていました。

この変更により、border-widthoutline-widthcolumn-rule-width の計算値は、*-style プロパティに関係なく、常に作成者が指定した値を反映するようになります。また、outline-widthcolumn-rule-width の解決値(getComputedStyle() によって返される)にも、指定された値が反映されます。

この変更により、Chrome はすでにこの動作を実装している Firefox や WebKit と整合するようになります。

CSSPseudoElement インターフェース

CSSPseudoElement インターフェースは、JavaScript の疑似要素を表します。

CSSPseudoElementElement.pseudo(type) から返されます。ここで、type::after::before::marker です。CSSPseudoElement は疑似要素を表すプロキシ オブジェクトであるため、疑似要素とは異なり、CSSPseudoElement は常に存在します。

CSSPseudoElement には次の属性とメソッドがあります。

  • type 属性は、疑似要素の型を表す文字列です。
  • element 属性は、疑似要素の最終的な元の要素です。
  • parent 属性は、疑似要素の元の要素です(ネストされた疑似要素の場合は、要素または CSSPseudoElement のいずれか)。
  • ネストされた疑似要素を取得する pseudo(type) メソッド。

イベントの疑似ターゲット

特定のイベントは、.pseudoTargetCSSPseudoElement(疑似要素とのインタラクションの場合)または null のいずれかになるように拡張されます。

これにより、イベントの発生元に関するより具体的な情報が提供されます。たとえば、最終的な発生元要素(Event.target)がクリックされただけでなく、より具体的に ::after がクリックされたことがわかります。Event.target は変更されていないため、イベントには疑似要素の操作に関する追加情報のみが含まれます。

イベントは UIEventAnimationEventTransitionEvent です。

mouseovermouseoutmouseentermouseleave とそれらの pointer* の対応するものはサポートされていません。

WebXR 平面検出

WebXR Plane Detection API を使用すると、ユーザーの環境で検出された平面のセットをサイトで取得できます。これは、デベロッパーの作業を減らすだけでなく、奥行き検知の WebXR 機能を使用するよりも強力です。たとえば、システムが壁の境界を認識していれば、オブジェクトが遮る壁などの平面を完全に表現できます。デプスマップには壁が表示されますが、壁の前のオブジェクトによって壁が分断され、壁の全体像が隠れる可能性があります。さらに、デバイスがそのようなラベルを認識し、それらが事前定義されたカテゴリに分類される場合、セマンティック ラベリング情報が利用可能になり、世界に関する知識が向上します。

WebXR レイヤ

WebXR レイヤは、没入型コンテンツを描画するより効率的な方法を提供します。

ネイティブのカラー テクスチャと深度テクスチャ、テクスチャ配列のサポートに加えて、JavaScript ではなくシステム コンポジタによって管理されるさまざまなレイヤタイプもサポートしています。

XSLT 以外のシナリオでの Rust での XML 解析

XSLT 処理が不要であることが確実なシナリオ向けに、Rust XML パーサーをリリースしています。

Rust XML パーサーは、XML 解析におけるメモリ破損バグを排除することでセキュリティを強化します。これは、libxml2(C で記述)の使用を安全な代替手段に置き換えることを目的としています。

Chrome では XSLT のサポートを終了します。このプロセスが継続している間も、XSLT が必要ないシナリオでは、安全な Rust XML 解析をすでに使用できます。

<link rel="modulepreload"> の宛先として JSON とスタイル モジュール型をサポートします。<link rel="modulepreload"> は Chromium で既にサポートされています(https://chromestatus.com/feature/5762805915451392 を参照)。ただし、スクリプトのようなモジュール スクリプトのプリロードのみをサポートしています。この機能は、機能のギャップに対処するものです。JSON と CSS モジュール スクリプトは Chromium の他の場所ではサポートされていますが、<link rel="modulepreload"> の宛先としてはサポートされていません。Style モジュールは <link rel="modulepreload" as="style" href="..."> でプリロードでき、JSON モジュールは <link rel="modulepreload" as="json" href="..."> でプリロードできます。

Math.sumPrecise

複数の値を合計するメソッドを JavaScript に追加する TC39 提案。

反復可能オブジェクトを受け取り、単純な合計よりも正確なアルゴリズムを使用して反復可能オブジェクト内の値の合計を返す Math.sumPrecise メソッドを追加します。

SVG <textpath> 要素の path 属性をサポート

この変更により、SVG <textPath> 要素の path 属性のサポートが追加されます。これにより、作成者は SVG パスデータを使用してテキストパスのジオメトリをインラインで定義できるようになり、個別に定義された <path> 要素の必要性が軽減されます。

<textPath> は、次のルールを使用してテキストパスのジオメトリを解決します。

  1. pathhref の両方が存在する場合、ジオメトリは path 属性から解決されます。
  2. path 属性のみが存在し、正常に解析された場合、インライン パス定義が使用されます。
  3. path 属性が存在しないか、解析に失敗し、href 属性が指定されている場合、参照される <path> 要素がフォールバックとして使用されます。
  4. 既存の href のみの動作は変更されずに維持されます。

この実装は、SVG 2 仕様の <textPath>path 属性の定義に準拠しており、解決動作は他のブラウザ エンジンと一貫性があるため、相互運用性と標準準拠が向上します。

安全なお支払い確認機能を取得する

ウェブ デベロッパーがブラウザの安全な支払い確認の実装の機能を取得できるようにする新しい静的メソッドを Payment Request に追加します。

これにより、ウェブ デベロッパーはセキュア決済確認で利用できる機能を知り、それらの機能でセキュア決済確認を使用するかどうかを判断できます。

Device Memory API の上限を更新

デバイス メモリ API の使用可能な値の新しいセットに更新:

  • Android: 1、2、4、8
  • その他: 2、4、8、16、32。

古くなった 0.25、0.5、1、2、4、8 の古い値を置き換えます。

デバイスの機能が設定時よりも向上しているため、下限でのフィンガープリントのリスクが軽減されます。

Service Worker WindowClient.navigate() のローカル ネットワーク アクセスの制限

ローカル ネットワーク アクセス(LNA)の制限が最近追加され、ウェブサイトがローカル ネットワークやローカル デバイスに一方的にリクエストを行うことが制限されるようになりました。これは Service Worker によって開始された fetch リクエストのために追加されましたが、WindowClient.navigate を介して Service Worker によって実行されたナビゲーションには適用されませんでした。

今回のリリースでは、WindowClient.navigate() 呼び出しに LNA 制限を追加し、WindowClient をナビゲーションのイニシエータとして使用して、ナビゲーションが LNA リクエストかどうかを判断することで、このギャップに対処します。

これは、ナビゲートされる WindowClient がサブフレームの場合にのみ適用されます。Chrome は、メインフレームのナビゲーションに LNA 制限を適用しません。

WebSocket のローカル ネットワーク アクセスの制限

ローカル ネットワーク アクセス(LNA)の制限が拡大され、WebSocket が含まれるようになります。ローカル アドレスへの WebSocket 接続で権限プロンプトが表示されるようになりました。

LocalNetworkAccessAllowedForUrlsLocalNetworkAccessBlockedForUrlsLocalNetworkAccessRestrictionsTemporaryOptOut など、すべての LNA エンタープライズ ポリシーは、LNA WebSockets の制限にも引き続き適用されます。

LNA について詳しくは、ローカル ネットワーク アクセスをご覧ください。

WebTransport のローカル ネットワーク アクセスの制限

WebTransport を使用してユーザーのローカル ネットワークへのリクエストを行う機能を制限し、権限プロンプトによって制御します。

ローカル ネットワーク リクエストとは、パブリック ウェブサイトからローカル IP アドレスまたはループバックへのリクエスト、あるいはローカル ウェブサイト(イントラネットなど)からループバックへのリクエストを指します。ウェブサイトがこれらのリクエストを実行する機能を権限によって制限することで、サイトがこれらのリクエストを使用してユーザーのローカル ネットワークのフィンガープリントを生成する機能を制限できます。

この権限は安全なコンテキストに制限されています。

IWA のみ: Web Printing API

この API を使用すると、独立したウェブアプリ(IWA)のプリンタ関連機能との統合を深めることができます。

Web Printing API は、デベロッパーがローカル プリンタのクエリ、最適なプリンタへの印刷ジョブの送信、印刷ジョブのオプションとステータスの管理を行える JavaScript メソッドのセットを提供します。これらのコンセプトを表すために、インターネット印刷プロトコル(IPP)仕様の属性名とセマンティクスが使用されます。

新しいオリジン トライアル

Chrome 147 では、次の新しいオリジン トライアルにオプトインできます。

コンテナのタイミング

Container Timing API を使用すると、DOM のアノテーション付きセクションが画面に表示され、最初のペイントが完了したタイミングをモニタリングできます。デベロッパーは、DOM のサブセクションを containertiming 属性でマークし(Element Timing API の elementtiming と同様)、そのセクションが最初にペイントされたときにパフォーマンス エントリを受け取ることができます。この API を使用すると、デベロッパーはページのさまざまなコンポーネントのタイミングを測定できます。

自動入力イベント

自動入力は、毎日何百万人ものユーザーの負担を軽減するウェブの重要な機能です。ただし、複数の実装で動的フォームで自動入力が確実に動作するようにするのは複雑な場合があります。

この機能では、ブラウザがフォーム フィールドを自動入力しようとするときに発生する autofill イベントが追加されます。これにより、デベロッパーは自動入力されたデータに合わせてフォームを変更し、その変更をブラウザに通知できます。

ウェブアプリの HTML インストール要素

ウェブサイトでユーザーにウェブアプリのインストールを宣言的に促すことができます。この要素は、異なるオリジンからのコンテンツのインストールを許可する 2 つの属性をオプションで受け入れます。

接続許可リスト

接続許可リストは、ドキュメントまたはワーカーから Fetch API や他のウェブ プラットフォーム API を使用して開始された接続を制限することで、外部エンドポイントを明示的に制御できるように設計された機能です。

提案された実装では、HTTP レスポンス ヘッダーを介して、サーバーから承認済みエンドポイント リストを配布します。ユーザー エージェントがページに代わって接続を確立する前に、エージェントはこの許可リストに対して宛先を評価します。検証済みのエンドポイントへの接続は許可されますが、リストのエントリと一致しない接続はブロックされます。

非推奨と削除

このバージョンの Chrome では、以下の非推奨と削除が導入されています。計画中の非推奨、現在の非推奨、以前の削除のリストについては、ChromeStatus.com をご覧ください。

このリリースの Chrome では、X 機能のサポートが終了します。

SVG の生成のためのインライン XSLT を削除

SVG の生成のためのインライン XSLT の段階的な廃止が始まっています。これは Rust ベースの XML パーサーの試験運用版テストと同期してデプロイされ、マークされた出荷リリース バージョンで直ちに 100% にデプロイされるわけではありません。

特別に作成された XML ファイルには、汎用 XML データを SVG ファイルに変換する XSL スタイルシートが含まれている可能性があります。

例: https://gist.github.com/drott/1fc70b3c7f0ac314d1fe2e5beecc5490?short_path=1c60adf

これは XSLT 処理の特殊なケースで、Chrome の使用状況測定によると、ウェブ上では事実上存在しないとみなされます。Chrome では、XSLT を完全に廃止する前に、この特定の XSLT の使用を非推奨にして削除する予定です。