Chrome 135

安定版リリース日: 2025 年 4 月 1 日

特に明記しない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 版 Chrome 135 Stable チャンネル リリースに適用されます。

HTML と DOM

呼び出し元コマンド: command 属性と commandfor 属性

<button> 要素の command 属性と commandfor 属性を使用すると、よりアクセスしやすく宣言的な方法でボタンに動作を割り当てることができます。

トラッキング バグ #1490919 | ChromeStatus.com のエントリ | 仕様

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

バグのトラッキング #1477049 | ChromeStatus.com のエントリ

CSS

カルーセルの ::column 疑似要素

::column 疑似要素。生成されたフラグメントに限定されたスタイルセットを適用できます。具体的には、レイアウトに影響せず、レイアウト後に適用できるスタイルに限定されます。

ChromeStatus.com のエントリ

::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)でボタンを定義できます。

バグのトラッキング用番号 #370067113 | ChromeStatus.com のエントリ | 仕様

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

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

バグのトラッキング #332396355 | ChromeStatus.com のエントリ | 仕様

CSS の不活性 - interactivity プロパティ

interactivity プロパティは、要素とそのフラット ツリーの子孫(テキスト行を含む)が非アクティブかどうかを指定します。

要素を無効にすると、その要素にフォーカスを当てたり、編集したり、選択したり、ページ内検索で検索したりできるかどうかに影響します。また、ユーザー補助ツリーに表示されるかどうかにも影響します。

ChromeStatus.com のエントリ | 仕様

CSS 論理オーバーフロー

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

バグのトラッキング #41489999 | ChromeStatus.com のエントリ | 仕様

CSS アンカー ポジショニングでスクロール オフセットを記憶

記憶されたスクロール オフセットのコンセプトのサポートを追加しました。

配置された要素にデフォルトのアンカーがあり、一方の端でこのアンカーに固定され、もう一方の端で元の包含ブロックに固定されている場合、要素のサイズ設定ではスクロール オフセットが考慮されます。これにより、ドキュメントが特定のスクロール オフセットでスクロールされたときに、アンカー要素に表示可能なすべてのスペース(position-area を使用)を使用できます。

ドキュメントがスクロールされるたびにレイアウト(要素のサイズ変更)が行われないようにするため(これは望ましくない動作であり、パフォーマンスにも悪影響を及ぼします)、常に現在のスクロール オフセットを使用するのではなく、いわゆる「記憶されたスクロール オフセット」が使用されます。記憶されたスクロール オフセットは、いわゆる「アンカー再計算ポイント」で更新されます。このポイントは次のいずれかです。

  • 配置された要素が最初に表示されるタイミング。
  • 別の位置オプション(position-try-fallbacks)が選択されている場合。

バグのトラッキング #373874012 | ChromeStatus.com のエントリ | 仕様

CSS shape() 関数

shape() 関数を使用すると、clip-path でレスポンシブな自由形式のシェイプを作成できます。

path() の動詞とほぼ同等の動詞を定義できますが、動詞はレスポンシブ ユニット(%vw など)と、カスタム プロパティなどの CSS 値を受け入れます。

バグのトラッキング #40829059 | ChromeStatus.com のエントリ | 仕様

safe-area-max-inset-* 変数

この機能では、変更されず、最大限のセーフティ エリアの切り欠きを示す max-area-safe-inset-* 変数を追加します。

この機能によって解決されるユースケースは、セーフティ エリアの切り欠き値が増加するときに、フッター(など)のサイズを変更するのではなく、単にスライドできる場合に、ページの再レイアウトが必要にならないことです。

バグのトラッキング #391621941 | ChromeStatus.com のエントリ | 仕様

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

他の疑似要素内にネストされた疑似要素にスタイルを適用できます。現時点では、次のサポートが定義されています。

  • ::before::marker
  • ::after::marker

::column::scroll-marker は今後サポートされる予定です。

バグのトラッキング #373478544 | ChromeStatus.com のエントリ | 仕様

音声と動画

Web Speech API に MediaStreamTrack のサポートを追加

Web Speech API に MediaStreamTrack のサポートを追加。

Web Speech API は、デベロッパーが音声認識と合成をウェブページに組み込むことができるウェブ標準 API です。現在、Web Speech API は、音声入力としてユーザーのデフォルトのマイクを使用しています。MediaStreamTrack のサポートにより、ウェブサイトは Web Speech API を使用して、リモート音声トラックなど、他の音声ソースの字幕を表示できます。

ChromeStatus.com のエントリ | 仕様

ウェブ API

srcdoc iframe 用の Service Worker クライアントの作成と Service Worker コントローラの継承

現在、srcdoc コンテキスト ドキュメントは Service Worker クライアントではなく、親の Service Worker が対応していません。このため、なんらかの差異が生じます(たとえば、Resource Timing はこれらのドキュメントによってロードされる URL を報告しますが、Service Worker はこれらをインターセプトしません)。この変更は、srcdoc iframes 用の Service Worker クライアントを作成してこれらの差異を修正し、これらのクライアントが親の Service Worker コントローラを継承できるようにすることを目的としています。

バグのトラッキング #41411856 | ChromeStatus.com のエントリ | 仕様

要素のリフレクション

この機能により、ARIA の関係属性を DOMString ではなく要素参照として IDL に反映できます。

これにより、ariaOwnsElements を除き、ARIAMixin インターフェースの IDL 属性が Element または FrozenArray<Element> の型で実装されます。

トラッキング バグ #981423 | ChromeStatus.com のエントリ | 仕様

フェンスド フレーム: 自動ビーコンのクロスオリジン データのサポート

Protected Audience や共有ストレージなどの API を介して読み込まれたフェンスド フレームまたは URN iframe は、なんらかのイベントが発生すると自動的にレポート ビーコンを送信できます(現在、サポートされているのはトップレベルのナビゲーション ビーコンのみです)。この機能は以前に更新され、オプトインした場合に、ルート フェンスド フレームのツリーに読み込まれたクロスオリジン ドキュメントが自動ビーコンを送信できるようにされましたが、API によって読み込まれたオリジンと同じオリジンのフレームのみがビーコンの一部として送信されるデータを設定できるという制限は引き続き適用されていました。この機能は、自動ビーコンで使用されるデータをクロスオリジン ドキュメントで設定できるように、その機能を拡張したものです。

プライバシーを維持しながらこれを許可するには、フェンスされたフレームのルート ドキュメントとクロスオリジンのサブフレーム ドキュメントの両方を明示的にオプトインする必要があります。これは、他のクロスオリジン FFAR 機能と同じオプトイン シェイプです。具体的には、ルートフレームは Allow-Fenced-Frame-Automatic-Beacons ヘッダーを使用してオプトインし、データを設定するクロスオリジン サブフレームは setReportEvent() の呼び出しで crossOriginExposed パラメータを使用してオプトインする必要があります。

ChromeStatus.com のエントリ | 仕様

Float16Array

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

トラッキング バグ #42203953 | ChromeStatus.com のエントリ | 仕様

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

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

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

トラッキング バグ #40725781 | ChromeStatus.com のエントリ

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

バグのトラッキング #40281924 | ChromeStatus.com のエントリ | 仕様

NotRestoredReasons API の理由名の変更

NotRestoredReasons API では、標準化された名前に合わせて一部の理由のテキストが変更されます。これらの理由をモニタリングしている場合は、理由のテキストが変更されている可能性があります。

バグのトラッキング #331754704 | ChromeStatus.com のエントリ | 仕様

Observable API

Observable は、プッシュベースのイベントの非同期ストリームを処理するための一般的なリアクティブ プログラミング パラダイムです。Promise の複数のイベント版と考えることができ、Promise がコールバックとネストに対して行っていたことを行います。つまり、イベントの非同期フローを示す Observable オブジェクトを提供することで、人間工学に基づいたイベント処理を可能にします。

オブジェクトにサブスクライブしてイベントを受信し、オペレーターまたはコンビネーターから任意のものを選択して、イベントが通過する変換フローを宣言的に記述できます。これは、addEventListener() などの複雑なネストを必要とすることが多い命令型バージョンとは対照的です。

バグのトラッキング #1485981 | ChromeStatus.com のエントリ | 仕様

setInterval(...) の 1 ミリ秒以上のクランプを削除

Chrome 135 より前では、値が 1 未満の setInterval は 1 にクランプされていました。Chrome 135 以降、この制限は解除されます。

  • : setInterval(..., 0) = 1ms 遅延。
  • 変更後: setInterval(..., 0) = 0ms 遅延。

バグのトラッキング #41380458 | ChromeStatus.com のエントリ

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

history.pushState() などの同様の履歴 API でドキュメントの URL の変更を無視するように、サービス ワーカーの Client.url プロパティを変更します。Client.url プロパティは、このような変更を無視する HTML ドキュメントの作成 URL を指定するためのものです。

バグのトラッキング #41337436 | ChromeStatus.com のエントリ | 仕様

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

SVG 2.0 の SVGAElement インターフェースを使用すると、HTML アンカー要素と同様に <a> 要素を操作できます。rel 属性と relList 属性をサポートすることで、デベロッパーのセキュリティとプライバシーが強化されます。

HTML アンカー要素との整合性により、ウェブ テクノロジー全体で一貫性と使いやすさを確保できます。

バグのトラッキング #40589293 | ChromeStatus.com のエントリ | 仕様

RTC エンコード フレームのタイムスタンプ

この機能は、RTCPeerConnection を使用して送信された WebRTC エンコード フレームに存在するタイムスタンプをウェブに公開するものです。問題のタイムスタンプは次のとおりです。

  • キャプチャ タイムスタンプ: フレームが最初にキャプチャされたときのタイムスタンプ。
  • 受信タイムスタンプ: フレームが受信されたときのタイムスタンプ。

バグのトラッキング用番号 #391114797 | ChromeStatus.com のエントリ | 仕様

CORS リダイレクトの HTTP リクエスト ヘッダー、本文、参照元ポリシーを更新

メソッドが変更されている場合はリクエスト本文ヘッダーと本文を削除し、参照元ポリシーを更新して、CORS リダイレクトの HTTP リクエストを更新します。これらのリクエストの更新は Fetch 仕様に準拠しており、Firefox と Safari で実装されている動作と一致しているため、互換性が向上します。

バグのトラッキング #40686262 | ChromeStatus.com のエントリ | 仕様

fetchLater API

fetchLater() は、遅延取得をリクエストする JavaScript API です。ドキュメント内で呼び出されると、遅延リクエストはブラウザによって保留状態(PENDING)でキューに追加され、次の条件のうち最も早いタイミングで呼び出されます。

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

API は、ブール値フィールド「activated」を含む FetchLaterResult を返します。このフィールドは、延期されたリクエストが送信されたかどうかを示すために更新できます。送信が成功すると、本文とヘッダーを含むレスポンスの全体がブラウザによって無視されます。ページがすでに削除されている可能性があるため、何も処理または更新しないでください。

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

バグのトラッキング #1465781 | ChromeStatus.com のエントリ | 仕様

highlightsFromPoint API

highlightsFromPoint API を使用すると、ドキュメント内の特定の位置にあるハイライトを検出して、カスタム ハイライトを操作できます。このインタラクティビティは、シャドー DOM 内で複数のハイライトが重複する可能性がある複雑なウェブ機能に役立ちます。この API は、正確なポイントベースのハイライト検出を提供することで、デベロッパーがカスタム ハイライトによる動的インタラクションをより効果的に管理できるようにします。たとえば、ハイライト表示された領域でのユーザーのクリックやホバーイベントに応答して、カスタム ツールチップ、コンテキスト メニュー、その他のインタラクティブな機能をトリガーできます。

バグのトラッキング #365046212 | ChromeStatus.com のエントリ | 仕様

オリジン トライアル

デバイスにバインドされたセッション認証情報

ウェブサイトがセッションを 1 つのデバイスに安全にバインドする方法。

これにより、サーバーはセッションをデバイスに安全にバインドできるようになります。ブラウザは、サーバーからリクエストされたときに、秘密鍵の所持を証明してセッションを定期的に更新します。

オリジン トライアル | ChromeStatus.com のエントリ | 仕様

興味 / 関心の起動元

この機能では、<button> 要素と <a> 要素に interesttarget 属性が追加されます。interesttarget 属性は、要素に「関心」の動作を追加します。これにより、ユーザーが要素に「関心を示した」ときに、ターゲット要素でアクションがトリガーされます。アクションには、ポップオーバーの表示などがあります。ユーザー エージェントは、ユーザーが要素に「関心を示した」とき(マウスで要素にカーソルを合わせたとき、キーボードで特別なホットキーを押したとき、タッチスクリーンで要素を長押ししたとき)を検出します。関心が示されたときや関心が失われたときに、ターゲットで InterestEvent がトリガーされます。ポップオーバーの場合は、デフォルトのアクション(ポップオーバーの表示と非表示)が実行されます。

オリジン トライアル | トラッキング バグ #326681249 | ChromeStatus.com のエントリ | 仕様

署名ベースの完全性

この機能により、ウェブ デベロッパーは依存するリソースの来歴を確認できるメカニズムを利用でき、サイトの依存関係を信頼するための技術的な基盤を構築できます。要約すると、サーバーは Ed25519 鍵ペアでレスポンスを署名できます。ウェブ デベロッパーは、ユーザー エージェントに対して特定の公開鍵を使用して署名を検証するよう要求できます。これは、Content Security Policy が提供する URL ベースのチェックと、Subresource Integrity のコンテンツ ベースのチェックに追加される便利な機能です。

オリジン トライアル | トラッキング バグ #375224898 | ChromeStatus.com のエントリ | 仕様

推測ルール: target_hint フィールド

これにより、デベロッパーが target_hint フィールドを指定できるように、推測ルールの構文が拡張されます。

このフィールドは、事前レンダリングされたページが最終的に有効になる、ナビゲート可能なターゲットを示すヒントを提供します。たとえば、ヒントとして _blank を指定すると、window.open() によって開かれたナビゲート可能なページで事前レンダリングされたページを有効にできます。このフィールドはプリフェッチには影響しません。

仕様では、このフィールドに値として、ナビゲート可能なターゲット名またはキーワードとして有効な文字列を指定できますが、このリリースでは "_self" 文字列または "_blank" 文字列のいずれかのみサポートされます。ヒントが指定されていない場合は、"_self" が指定されている場合と同様に扱われます。

オリジン トライアル | トラッキング バグ #40234240 | ChromeStatus.com のエントリ | 仕様

非推奨と削除

非推奨の navigator.xr.supportsSession メソッドを削除

navigator.xr.supportsSession メソッドは、2019 年 9 月に TAG から API の形状に関するフィードバックを受けた後に、WebXR 仕様で navigator.xr.isSessionSupported メソッドに置き換えられました。それ以降、Chromium では非推奨とマークされ、コンソールに警告が表示され、デベロッパーは更新された API にリダイレクトされるようになりました。

この呼び出しの使用頻度は非常に低く、WebXR コンテンツの作成に使用される主要なフレームワークはすべて、新しい呼び出しを使用するように更新されていることが確認されています。

ChromeStatus.com のエントリ | 仕様

WebGPU の上限 maxInterStageShaderComponents を削除

maxInterStageShaderComponents の上限は、以下の要因が重なったため削除されます。

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

バグのトラッキング用番号: 364338810 | ChromeStatus.com のエントリ | 仕様