Chrome 135 ベータ版

公開日: 2025 年 3 月 5 日

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

CSS と UI

このリリースでは、13 個の新しい CSS 機能と UI 機能が追加されています。

アンカー位置のスクロール オフセットの記憶

スクロール オフセットの記憶」という概念のサポートを追加しました。配置された要素にデフォルトのアンカーがあり、一方の端がこのアンカーに固定され、もう一方の端が元の包含ブロックに固定されている場合、要素のサイズ設定時にスクロール オフセットが考慮されます。つまり、ドキュメントが特定のスクロール オフセットでスクロールされるときに、固定された要素に表示スペース全体(position-area を使用)を使用できます。ドキュメントがスクロールされるたびにレイアウト(要素のサイズ変更)が行われないように、ブラウザは現在のスクロール オフセットを常に使用するのではなく、記憶されたスクロール オフセットを使用します。スクロール オフセットの記憶は、アンカー 再計算ポイントで更新されます。これは、配置された要素 が最初に表示される位置、または別の位置オプション (position-try-fallbacks)が選択された場合です。

CSS の不活性

要素を不活性にすると、フォーカス、編集、選択、ページ内検索による検索が可能かどうかに影響します。また、ユーザー補助機能ツリーに表示されるかどうかも影響します。interactivity プロパティは、要素とそのフラット ツリーの子孫(テキスト実行を含む)が不活性かどうかを指定します。interactivity プロパティは、auto または inert のいずれかの値を受け取ります。

論理オーバーフロー プロパティ

overflow-inline CSS プロパティと overflow-block CSS プロパティを使用すると、書き込みモードを基準としたインライン方向とブロック方向のオーバーフローを設定できます。横書きモードでは、overflow-inlineoverflow-x にマッピングされ、縦書きモードでは overflow-y にマッピングされます。

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-startblock-endinline-startinline-end)と 4 つの物理方向(updownleftright)でボタンを定義できます。

::scroll-marker::scroll-marker-group

スクロール コンテナに ::scroll-marker::scroll-marker-group を追加します。 これらの疑似要素を使用すると、スクロール コンテナ内の関連アイテムすべてに対して、フォーカス可能なマーカーのセットを作成できます。

ネストされた疑似要素のスタイル設定

他の疑似要素内にネストされた疑似要素のスタイル設定を有効にします。 これまでのところ、::before::marker::after::marker のサポートが定義されています。::column::scroll-marker は今後サポートされる予定です。

ユーザーの閲覧履歴の漏洩を防ぐため、アンカー要素は、このトップレベルのサイトとフレームのオリジンで以前にクリックされたことがある場合にのみ :visited スタイルになります。このサイトとフレーム上で以前にクリックされたリンクのみにスタイルが適用されるようになり、結果として、:visited リンクのスタイル情報を取得するために開発された多くのサイドチャネル攻撃は、ユーザーに関する新しい情報をサイトに提供できなくなるため、意味をなさなくなります。

セルフリンクには例外があります。サイトの独自のページへのリンクは、このトップレベルのサイトとフレームのオリジンで以前にクリックされていなくても、セルフリンクとしてスタイル設定できます。:visitedこの免除は、トップレベル フレームと同じオリジンのトップレベル フレームまたはサブフレームでのみ有効になります。サイトはユーザーがアクセスしたサブページをすでに把握しているため、プライバシー上のメリットは維持され、新しい情報が公開されることはありません。これはコミュニティからリクエストされた例外であり、ユーザー エクスペリエンスが向上します。

補間進行状況の関数表記: CSS *progress() 関数

safe-area-max-inset-* 変数

safe-area-inset 環境変数に加えて、Chrome はこれらの変数の 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 はこれらをインターセプトしません)。Google の目的は、srcdoc iframes 用の Service Worker クライアントを作成してこれらの差異を修正し、これらのクライアントが親ページの Service Worker コントローラを継承できるようにすることです。

キャプチャされたポインタへのクリック イベントのディスパッチ

pointerup イベントのディスパッチ中にポインタがキャプチャされると、UI イベント仕様に従って、pointerdown イベントと pointerup イベントの最も近い共通の祖先ではなく、キャプチャされたターゲットに click イベントがディスパッチされます。キャプチャされていないポインタの場合、click ターゲットは変更されません。

Float16Array

Float16Array 型付き配列を追加します。Float16Array インスタンスに書き込むと、数値は IEEE fp16 に丸められます。

HTTP キャッシュ パーティション キーへのナビゲーション イニシエータの組み込み

Chrome の HTTP キャッシュ キーイング スキームが更新され、トップレベル ナビゲーションに関連するクロスサイト リーク攻撃を軽減するために is-cross-site-main-frame-navigation ブール値が追加されました。具体的には、攻撃者が特定のページへのトップレベル ナビゲーションを開始し、そのページによって読み込まれることがわかっているリソースに移動して、読み込みタイミングから機密情報を推測するクロスサイト攻撃を防ぎます。また、この変更により、悪意のあるサイトがナビゲーションを使用して、ユーザーが特定のサイトに以前アクセスしたかどうかを推測することを防ぎ、プライバシーが強化されます。

HSTS によるトラッキング防止

HSTS キャッシュを介したサードパーティによるユーザー トラッキングを軽減します。

この機能は、トップレベル ナビゲーションの HSTS アップグレードのみを許可し、サブリソース リクエストの HSTS アップグレードはブロックします。これにより、サードパーティのサイトはウェブ上で HSTS キャッシュを使用したユーザーのトラッキングができなくなります。

インボーカー コマンド: command 属性と commandfor 属性

command 属性と commandfor 属性を <button> 要素で使用すると、ボタンの動作をよりアクセシブルで宣言的な方法で割り当てることができます。また、バグを減らし、インタラクティビティに必要な JavaScript の量を減らすことができます。ボタン に commandfor および command 属性がある場合、クリック、タップ、または キー押下で CommandEventcommandfor で参照される要素にディスパッチします。ダイアログやポップオーバーを開くなどのデフォルトの動作があります。

ブラウザが登録済みの決済クライアントに保留中のプッシュ決済を通知する必要があることを示すヒントとして、<link rel="facilitated-payment" href="..."> のサポートを追加します。

NavigateEvent sourceElement プロパティ

要素(リンクのクリックやフォームの送信など)によってナビゲーションが開始されると、NavigateEventsourceElement プロパティは開始要素を返します。

NotRestoredReasons API の理由名の変更

NotRestoredReasons API は、標準化された名前に合わせて理由テキストの一部を変更しています。これらの理由をモニタリングしているデベロッパーは、理由テキストの変更に気づくことがあります。

デバイス上の Web Speech API

Service Worker クライアント URL は history.pushState の変更を無視する

history.pushState() やその他の同様の履歴 API を使用したドキュメント URL の変更を無視するように、Service Worker の Client.url プロパティを変更します。Client.url プロパティは、このような変更を無視する HTML ドキュメントの作成 URL を表すことを目的としています。

SVGAElementrel 属性と relList 属性をサポート

SVG 2.0 の SVGAElement インターフェースを使用すると、<a> 要素を HTML アンカー要素と同様に操作できます。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 です。特に、ページの有効期間の終了時に信頼性の高いビーコンを送信する場合に便利です。ドキュメント内で呼び出されると、遅延リクエストはブラウザによって PENDING 状態のキューに入れられ、次の条件のいずれか早い方で呼び出されます。

ドキュメントが破棄された。ユーザーが指定した時間が経過した。プライバシー上の理由から、ドキュメントが bfcache に入ると、残りの時間に関係なく、保留中のリクエストはすべてフラッシュされます。ブラウザが送信するタイミングであると判断した。

API は、遅延リクエストが送信されたかどうかを示すために更新できるブール値フィールド activated を含む FetchLaterResult を返します。送信に成功すると、レスポンス全体(本文とヘッダーを含む)はブラウザによって無視されます。

API ユーザーの観点からすると、正確な送信時間は不明です。

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

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

インタレスト インボーカー

この機能では、interesttarget 属性を <button><a> 要素に追加します。interesttarget 属性は、要素に「インタレスト」の動作を追加します。ユーザーが要素に「インタレストを示す」と、ターゲット要素でアクションがトリガーされます。アクションには、ポップオーバーの表示などがあります。ユーザーが要素に「インタレストを示す」タイミングの検出は、ユーザー エージェントが処理します。たとえば、マウスで要素にカーソルを合わせる、キーボードで特別なホットキーを押す、タッチスクリーンで要素を長押しするなどの方法を使用します。 インタレストが表示または失われたときに、ターゲットで InterestEvent が発生します。ポップオーバーの場合、デフォルトのアクションはポップオーバーの表示と非表示です。

署名ベースの完全性

この機能は、ウェブ デベロッパーが依存するリソースの出所を確認するメカニズムを提供し、サイトの依存関係に対する信頼の技術的基盤を構築します。つまり、サーバーは Ed25519 鍵ペアでレスポンスに署名でき、ウェブ デベロッパーは特定の公開鍵を使用して署名を検証するようにユーザー エージェントに要求できます。これは、コンテンツ セキュリティ ポリシーが提供する URL ベースのチェックと、サブリソースの整合性によるコンテンツ ベースのチェックに役立つ追加機能です。

非推奨と削除

このバージョンの 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 は、2019 年 9 月に TAG から API の形状に関するフィードバックを受けた後に、WebXR 仕様で navigator.xr.isSessionSupported メソッドに置き換えられました。それ以降、Chrome では非推奨とマークされ、コンソールに警告が表示され、デベロッパーは更新された API にリダイレクトされるようになっています。この呼び出しの使用頻度は非常に低く、WebXR コンテンツの作成に使用される主要なフレームワークはすべて、新しい呼び出しを使用するように更新されていることが確認されています。

NavigateEvent canTransition プロパティを削除

Chrome 108 では、NavigateEventtransitionWhile() メソッドと canTransition プロパティが、新しい intercept() メソッドと canIntercept プロパティに置き換えられました。その時点で、transitionWhile() メソッドは削除されました。ただし、canTransition プロパティの削除を忘れており、canIntercept のエイリアスとして残っていました。Chrome 135 では、この問題を修正し、canTransition を削除します。canTransition の使用箇所は、動作を変更することなく canIntercept に置き換えることができます。

WebGPU の制限 maxInterStageShaderComponents を削除

maxInterStageShaderComponents の上限は、次の要因が組み合わさって削除されます。

  • maxInterStageShaderVariables との冗長性: この上限はすでに同様の目的を果たしており、シェーダー ステージ間で渡されるデータ量を制御しています。
  • わずかな差異: 2 つの上限の計算方法にはわずかな違いがありますが、これらの違いはわずかであり、maxInterStageShaderVariables limit 内で効果的に管理できます。
  • 簡素化: maxInterStageShaderComponents を削除すると、シェーダー インターフェースが合理化され、デベロッパーの複雑さが軽減されます。 (同時に適用されるが、わずかな違いがある)2 つの別々の上限を管理するのではなく、より適切な名前で包括的な maxInterStageShaderVariables に集中できます。