公開日: 2025 年 3 月 5 日
特に明記しない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 版の最新の Chrome ベータ版チャネル リリースに適用されます。ここに記載されている機能の詳細については、記載されているリンクまたは ChromeStatus.com のリストをご覧ください。Chrome 135 は 2025 年 3 月 5 日時点でベータ版です。最新版は、パソコンの Google.com または Android の Google Play ストアからダウンロードできます。
CSS と UI
今回のリリースでは、CSS と UI に 13 の新しい機能を追加しました。
アンカーの配置でスクロール オフセットを記憶
記憶されたスクロール オフセットのコンセプトのサポートを追加しました。配置された要素にデフォルトのアンカーがあり、一方の端でこのアンカーに固定され、もう一方の端で元の包含ブロックに固定されている場合、要素のサイズ設定ではスクロール オフセットが考慮されます。つまり、ドキュメントが特定のスクロール オフセットでスクロールされたときに、アンカー要素に表示可能なすべてのスペース(position-area
を使用)を使用できます。ドキュメントがスクロールされるたびにレイアウト(要素のサイズ変更)を回避するため、ブラウザは現在のスクロール オフセットを常に使用するのではなく、記憶されたスクロール オフセットを使用します。記憶されたスクロール オフセットは、アンカーの再計算ポイントで更新されます。これは、配置された要素が最初に表示される位置、または別の配置オプション(position-try-fallbacks
)が選択された位置です。
CSS の不活性
要素を無効にすると、その要素にフォーカスを当てたり、編集したり、選択したり、ページ内検索で検索したりできるかどうかに影響します。また、ユーザー補助ツリーに表示されるかどうかにも影響します。interactivity
プロパティは、要素とそのフラット ツリーの子孫(テキスト行を含む)が非アクティブかどうかを指定します。interactivity
プロパティは、auto
または inert
の 2 つの値のいずれかを受け入れます。
論理オーバーフロー プロパティ
CSS プロパティ overflow-inline
と overflow-block
を使用すると、writing-mode を基準としてインライン方向とブロック方向のオーバーフローを設定できます。横書きモードでは overflow-inline
は overflow-x
にマッピングされますが、縦書きモードでは overflow-y
にマッピングされます。
記号関連の関数: abs()
、sign()
符号関連の関数 abs()
と sign()
は、引数の符号に関連するさまざまな関数を計算します。
dynamic-range-limit
プロパティ
ページで HDR コンテンツの最大輝度を制限できるようにします。
shape()
関数
shape()
関数を使用すると、clip-path
プロパティでレスポンシブな自由形式のシェイプを指定できます。これにより、path()
のコマンドと同等の一連のコマンドを定義できます。ただし、これらのコマンドは、レスポンシブ ユニット(%
や vw
など)と、カスタム プロパティなどの CSS 値も受け入れます。
::column
疑似要素
::column
疑似要素。生成されたフラグメントに限定されたスタイルセットを適用できます。具体的には、レイアウトに影響せず、レイアウト後に適用できるスタイルに限定されます。
::scroll-button()
疑似要素
擬似要素としてインタラクティブなスクロールボタンを作成できるようにしました。次に例を示します。
.scroller {
overflow: auto;
}
.scroller::scroll-button(inline-start) {
content: "<";
}
.scroller::scroll-button(inline-end) {
content: ">";
}
これらの要素は、フォーカス可能で、ボタンとして動作する必要があります(UA スタイルを含む)。有効にすると、その方向に一定量スクロールされます。その方向にスクロールできない場合は、ボタンを無効にして(:disabled
でスタイル設定して)、それ以外の場合は有効にします(:enabled
でスタイル設定します)。このセレクタを使用すると、4 つの論理方向(block-start
、block-end
、inline-start
、inline-end
)と 4 つの物理方向(up
、down
、left
、right
)でボタンを定義できます。
::scroll-marker
、::scroll-marker-group
スクロール コンテナの ::scroll-marker
と ::scroll-marker-group
を追加しました。これらの疑似要素を使用すると、スクロール コンテナ内の関連するすべてのアイテムにフォーカス可能なマーカーのセットを作成できます。
ネストされた疑似要素のスタイル設定
他の疑似要素内にネストされた疑似要素のスタイル設定を可能にします。現時点では、::before::marker
と ::after::marker
がサポートされており、::column::scroll-marker
は今後サポートされる予定です。
:visited
リンク履歴のパーティショニング
ユーザーのブラウジング履歴の漏洩を防ぐため、アンカー要素は、この最上位サイトとフレームのオリジンから以前にクリックされた場合にのみ、:visited
としてスタイル設定されます。このサイトとフレームで以前にクリックされたリンクのみをスタイル設定することで、:visited
リンクのスタイル設定情報を取得するために開発された多くのサイドチャネル攻撃は、ユーザーに関する新しい情報をサイトに提供できなくなったため、時代遅れになりました。
セルフリンクには例外があります。サイトの独自のページへのリンクは、このトップレベルのサイトとフレーム元で以前にクリックされていなくても、:visited
としてスタイル設定できます。この例外は、最上位フレームまたは最上位フレームと同じオリジンのサブフレームでのみ有効になります。サイトはユーザーがどのサブページにアクセスしたかをすでに把握しているため、新しい情報が漏洩することはありません。これにより、プライバシー保護のメリットが引き続き得られます。これは、ユーザー エクスペリエンスを向上させるためにコミュニティからリクエストされた例外です。
補間進行状況の関数表記: CSS *progress()
関数
progress()
、media-progress()
、container-progress()
の関数表記は、ある値(進行状況の開始値)から別の値(進行状況の終了値)までの特定の値(進行状況の値)の比例距離を表します。それぞれ、数学関数、メディア機能、コンテナ機能から進行状況の比率を描画できます。
safe-area-max-inset-
* 変数
Chrome では、safe-area-inset
環境変数に加えて、これらの変数の max-area-safe-inset-
* バリアントもサポートされるようになりました。動的インセットとは異なり、最大インセットは変更されず、可能な限り最大の安全領域インセットを表します。
これらの値は、高性能のエッジツーエッジ ウェブ エクスペリエンスを構築する際に必要です。
ウェブ API
Web Speech API に MediaStreamTrack
のサポートを追加
Web Speech API に MediaStreamTrack
のサポートを追加しました。Web Speech API は、デベロッパーが音声認識と合成をウェブページに組み込むことができるウェブ標準 API です。現在、Web Speech API は、ユーザーのデフォルト マイクを音声入力として使用しています。MediaStreamTrack のサポートにより、ウェブサイトは Web Speech API を使用して、リモート音声トラックなど、他の音声ソースの字幕を表示できます。
Blob URL のパーティショニング: 取得とナビゲーション
ストレージ パーティションの延長として、この機能では、ストレージキー(トップレベル サイト、フレーム オリジン、has-cross-site-ancestor ブール値)による Blob URL アクセスのパーティショニングを実装します。ただし、フレーム オリジンのみでパーティショニングされるトップレベル ナビゲーションを除きます。
スクリプト用の CSP require-sri-for
require-sri-for
ディレクティブを使用すると、特定のタイプのすべてのリソースの完全性チェックが必要であることをアサートできます。完全性メタデータなしでそのタイプのリソースを読み込もうとすると、読み込みは失敗し、CSP 違反レポートがトリガーされます。このインテントは、このディレクティブの "script"
値をカバーします。
srcdoc
iframe 用の Service Worker クライアントの作成と Service Worker コントローラの継承
現在、srcdoc コンテキスト ドキュメントは Service Worker クライアントではなく、親の Service Worker が対応していません。このため、なんらかの差異が生じます(たとえば、Resource Timing はこれらのドキュメントによってロードされる URL を報告しますが、Service Worker はこれらをインターセプトしません)。これは、srcdoc
iframe 用の Service Worker クライアントを作成して、これらのクライアントが親の Service Worker コントローラを継承するようにすることで、差異を修正することを目的としています。
キャプチャされたポインタへのクリック イベントのディスパッチ
pointerup
イベントのディスパッチ中にポインタがキャプチャされた場合、click
イベントは、UI イベント仕様に従って pointerdown
イベントと pointerup
イベントの最も近い共通祖先ではなく、キャプチャされたターゲットにディスパッチされます。キャプチャされていないポインタの場合、click
ターゲットは変更されません。
Float16Array
Float16Array
型の配列を追加します。数値は、Float16Array
インスタンスに書き込むときに IEEE fp16 に丸められます。
ナビゲーション開始元を HTTP キャッシュ パーティション キーに組み込む
Chrome の HTTP キャッシュキー スキームが更新され、トップレベル ナビゲーションに関連するクロスサイト リーク攻撃を軽減するための is-cross-site-main-frame-navigation
ブール値が追加されました。具体的には、攻撃者が特定のページへのトップレベル ナビゲーションを開始し、そのページによって読み込まれることが知られているリソースに移動して、読み込みタイミングから機密情報を推測するクロスサイト攻撃を防ぐことができます。また、この変更により、不正なサイトがナビゲーションを使用して、ユーザーが特定のサイトに以前にアクセスしたかどうかを推測するのを防ぐことで、プライバシーも強化されます。
HSTS によるトラッキング防止
HSTS キャッシュを介したサードパーティによるユーザー トラッキングを軽減します。
この機能は、トップレベル ナビゲーションの HSTS アップグレードのみを許可し、サブリソース リクエストの HSTS アップグレードをブロックします。これにより、サードパーティのサイトが HSTS キャッシュを使用してウェブ全体でユーザーをトラッキングできなくなります。
呼び出し元コマンド: command
属性と commandfor
属性
<button>
要素の command
属性と commandfor
属性を使用すると、バグを減らし、インタラクティビティに必要な JavaScript の量を簡素化しながら、よりアクセスしやすく宣言的な方法でボタンに動作を割り当てることができます。commandfor
属性と command
属性を持つボタンは、クリック、タップ、キープレスで実行されると、commandfor
が参照する要素に CommandEvent
をディスパッチします。また、ダイアログやポップオーバーを開くなどのデフォルトの動作も行います。
プッシュ支払いをサポートするために rel="facilitated-payment"
をリンクする
ブラウザが保留中のプッシュ支払いについて登録済みの支払いクライアントに通知する必要があることを示すヒントとして、<link rel="facilitated-payment" href="...">
のサポートを追加しました。
NavigateEvent
sourceElement
プロパティ
要素(リンクのクリックやフォームの送信など)によってナビゲーションが開始されると、NavigateEvent
の sourceElement
プロパティは開始要素を返します。
NotRestoredReasons API の理由名の変更
NotRestoredReasons
API では、標準化された名前に合わせて一部の理由テキストが変更されます。これらの理由をモニタリングしているデベロッパーは、理由のテキストが変更されていることに気付く可能性があります。
デバイス上の Web Speech API
この機能により、Web Speech API にオンデバイス音声認識のサポートが追加され、ウェブサイトは音声も音声文字変換された音声もサードパーティ サービスに送信して処理しないようにできます。ウェブサイトは、特定の言語でのオンデバイス音声認識の可用性をクエリし、オンデバイス音声認識に必要なリソースをインストールするようユーザーに求めるとともに、必要に応じてオンデバイス音声認識とクラウドベースの音声認識のどちらかを選択できます。
Service Worker クライアントの URL が history.pushState
の変更を無視する
history.pushState()
などの同様の履歴 API を使用してドキュメントの URL 変更を無視するように、サービス ワーカーの Client.url
プロパティを変更しました。Client.url
プロパティは、このような変更を無視する HTML ドキュメントの作成 URL を指定するためのものです。
SVGAElement
の rel
属性と relList
属性をサポート
SVG 2.0 の SVGAElement インターフェースを使用すると、HTML アンカー要素と同様に <a>
要素を操作できます。rel
属性と relList
属性をサポートすることで、デベロッパーのセキュリティとプライバシーが強化されます。HTML アンカー要素との整合性により、ウェブ テクノロジー全体で一貫性と使いやすさを確保できます。
RTC エンコード フレームのタイムスタンプ
この機能は、RTCPeerConnection を介して送信される WebRTC エンコード フレームに存在するタイムスタンプをウェブに公開するものです。問題のタイムスタンプは次のとおりです。
- キャプチャ タイムスタンプ: フレームが最初にキャプチャされたときのタイムスタンプ
- 受信タイムスタンプ: フレームが受信されたときのタイムスタンプ
ProgressEvent
を更新し、「loaded」と「total」に double 型を使用する
ProgressEvent
には、進行状況を示す属性 loaded
と total
があり、そのタイプは unsigned long long
です。この機能では、これらの 2 つの属性の型が double
に変更されるため、デベロッパーは値をより細かく制御できます。たとえば、デベロッパーは total
が 1 で、loaded
が 0 から 1 に徐々に増加する ProgressEvent を作成できるようになりました。これは、max 属性が省略されている場合の <progress>
HTML 要素のデフォルトの動作と一致します。
fetchLater
API
fetchLater()
API は、遅延取得をリクエストする JavaScript API です。ページの存続期間の終了時に信頼性の高いビーコン送信を行う場合に特に便利です。ドキュメント内で呼び出されると、遅延リクエストはブラウザによって保留状態のキューに追加され、次の条件のうち最も早いタイミングで呼び出されます。
ドキュメントは破棄されます。ユーザーが指定した時間が経過した後。プライバシー上の理由から、ドキュメントが bfcache に入ると、残り時間がどれだけあっても、保留中のリクエストはすべてフラッシュされます。ブラウザが送信のタイミングを判断します。
API は、ブール値フィールド activated
を含む FetchLaterResult
を返します。このフィールドは、延期されたリクエストが送信されたかどうかを示すために更新できます。送信が成功すると、本文とヘッダーを含むレスポンスの全体がブラウザによって無視されます。
API ユーザーの視点からは、正確な送信時間は不明です。
新しいオリジン トライアル
Chrome 135 では、次の新しいオリジン トライアルを有効にできます。
インタレスト インボーカー
この機能では、<button>
要素と <a>
要素に interesttarget
属性が追加されます。interesttarget
属性は、要素に「関心」の動作を追加します。これにより、ユーザーが要素に「関心を示した」ときに、ターゲット要素でアクションがトリガーされます。アクションには、ポップオーバーの表示などがあります。ユーザー エージェントは、ユーザーが要素に「関心を示した」ときの検出を処理します。この検出には、マウスで要素にカーソルを合わせる、キーボードで特別なホットキーを押す、タッチスクリーンで要素を長押しするなどの方法が使用されます。関心が示されたときや関心が失われたときに、ターゲットで InterestEvent
が配信されます。ポップオーバーの場合は、デフォルトのアクション(ポップオーバーの表示と非表示)が実行されます。
シグネチャベースの完全性
この機能により、ウェブ デベロッパーは依存するリソースの来歴を検証するメカニズムを利用でき、サイトの依存関係を信頼するための技術的基盤を構築できます。要約すると、サーバーは Ed25519 鍵ペアでレスポンスを署名でき、ウェブ デベロッパーはユーザー エージェントに特定の公開鍵を使用して署名を検証するよう要求できます。これは、Content Security Policy が提供する URL ベースのチェックと、Subresource Integrity のコンテンツベースのチェックに追加される便利な機能です。
非推奨と削除
このバージョンの Chrome では、以下の非推奨と削除が行われます。予定されている非推奨化、現在の非推奨化、過去の削除の一覧については、ChromeStatus.com をご覧ください。
このリリースの Chrome では、1 つの機能のサポートが終了します。
Intl Locale Info のゲッターを非推奨にする
Intl Locale Info API は、ステージ 3 の ECMAScript TC39 プロポーザルであり、週のデータ(週の最初の日、週末の開始日、週末の終了日、最初の週の最小日数)や、ロケールで使用されるテキストの向きと時間のサイクルなどのロケール情報を公開することで、Intl.Locale
オブジェクトを拡張します。Chrome 99 で実装がリリースされましたが、提案が変更され、いくつかのゲッターが関数に移動されました。非推奨のゲッターを削除し、名前変更された関数をあらためてリリースする必要があります。
このリリースの Chrome では、3 つの機能が削除されます。
非推奨の navigator.xr.supportsSession
メソッドを削除
navigator.xr.supportsSession
は、TAG から API の形状に関するフィードバックを受けた後、2019 年 9 月に WebXR 仕様で navigator.xr.isSessionSupported
メソッドに置き換えられました。それ以降、Chrome では非推奨とマークされ、更新された API にデベロッパーをリダイレクトするコンソール警告が表示されます。この呼び出しの使用頻度は非常に低く、WebXR コンテンツの作成に使用される主要なフレームワークはすべて、新しい呼び出しを使用するように更新されていることが確認されています。
NavigateEvent
canTransition
プロパティを削除
Chrome 108 では、NavigateEvent
の transitionWhile()
メソッドと canTransition
プロパティが、新しい intercept()
メソッドと canIntercept
プロパティに置き換えられました。その時点で、transitionWhile()
メソッドは削除されました。ただし、canTransition
プロパティを削除し忘れ、代わりに canIntercept
のエイリアスとして残しました。Chrome 135 では、この問題を修正し、canTransition
を削除します。canTransition
の使用は、動作に変更を加えることなく canIntercept
に置き換えることができます。
WebGPU の制限値 maxInterStageShaderComponents を削除
maxInterStageShaderComponents
の上限は、次の要因が組み合わさって削除されます。
maxInterStageShaderVariables
での冗長性: この上限はすでに同様の目的を果たしており、シェーダー ステージ間で渡されるデータの量を制御しています。- 軽微な差異: 2 つの上限の計算方法には若干の違いがありますが、この差異は軽微であり、
maxInterStageShaderVariables limit
内で効果的に管理できます。 - 簡素化:
maxInterStageShaderComponents
を削除すると、シェーダー インターフェースが合理化され、デベロッパーの複雑さが軽減されます。2 つの個別の上限(両方同時に適用されるが、微妙な違いがある)を管理する代わりに、より適切な名前の包括的なmaxInterStageShaderVariables
に集中できます。