Chrome 136 ベータ版

公開日: 2025 年 4 月 3 日

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

CSS と UI

今回のリリースでは、CSS と UI に 6 つの新機能を追加しました。

CSS dynamic-range-limit プロパティ

ページで HDR コンテンツの最大輝度を制限できるようにします。

筆記体での文字間隔を無視する

この機能では、スペックに従ってデベロッパーが指定した場合でも、筆記体スクリプトの文字間隔の設定を無視するロジックを追加し、文字間隔が単語を分割しないようにします。

ユーザーの閲覧履歴の漏洩を防ぐため、アンカー要素は、このトップレベルのサイトとフレームのオリジンで以前にクリックされたことがある場合にのみ、:visited スタイルになります。

このサイトとフレームでクリックされたリンクのみをスタイル設定することで、:visited リンクのスタイル設定情報を取得するために開発された多くのサイドチャネル攻撃は、もはや無効になりました。ユーザーに関する新しい情報は提供されなくなりました。

詳しくは、:visited リンクのプライバシーに関する改善をご覧ください。

string attr() 型の名前を raw-string に変更

CSS Working Group は、string attr() 型を raw-string に置き換えることを決定しました。

そのため、Chrome では attr() 構文が変更され、attr(data-foo string)attr(data-foo raw-string) になりました。

型に依存しない var() フォールバック

var() 関数のフォールバック部分は、参照されるカスタム プロパティの型を検証しません。

接頭辞のない print-color-adjust

print-color-adjust プロパティを使用すると、印刷されたウェブページの色を調整できます。これは、Chrome ですでにサポートされている -webkit-print-color-adjust と同じですが、名前が標準化されています。-webkit 接頭辞のバージョンは削除されません。

ウェブ API

AudioContext の中断状態

"interrupted" 状態を AudioContextState に追加。この新しい状態により、UA はこのようなシナリオで再生を一時停止し、ウェブ アプリケーションが適切に応答できるようになります。

Blob URL のパーティショニング: 取得/ナビゲーション

ストレージ パーティションの延長として、ストレージキー(トップレベル サイト、フレーム オリジン、has-cross-site-ancestor ブール値)による Blob URL アクセスのパーティショニングを実装します。ただし、フレーム オリジンのみでパーティショニングされるトップレベル ナビゲーションを除きます。この動作は、現在 Firefox と Safari の両方で実装されている動作と類似しており、Blob URL の使用を、ストレージ パーティションの一部として他のストレージ API で使用されるパーティショニング スキームに合わせています。

また、レンダラによって開始された Blob URL へのトップレベル ナビゲーションに対して noopener が適用されます。この場合、対応するサイトは、ナビゲーションを実行するトップレベル サイトのクロスサイトです。これにより、Chrome が Safari の同様の動作と整合するようになり、これらの両方の変更が反映されるように関連する仕様が更新されました。

応答しないウェブページのクラッシュ レポートのコールスタック

この機能は、JavaScript コードが無限ループを実行しているなどの非常に長い計算が原因でウェブページが応答しなくなったときに、JavaScript 呼び出しスタックをキャプチャします。これにより、デベロッパーは応答しない原因を特定できます。理由が「応答なし」の場合、JavaScript 呼び出しスタックがクラッシュ レポート API に含まれます。

Captured Surface Control API

Captured Surface Control API を使用すると、ウェブ アプリケーションはホイール イベントをキャプチャされたタブに転送し、キャプチャされたタブのズームレベルを読み取って変更できます。

CapturedSurfaceResolution

画面共有中にキャプチャされたサーフェスのピクセル比を公開します。この機能により、アプリはシステム リソースを節約したり、キャプチャされたサーフェスの物理解像度と論理解像度に応じて品質と帯域幅のトレードオフを調整したりできます。

キャプチャされたポインタにクリック イベントをディスパッチする

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

マジック コメントによる明示的なコンパイル ヒント

JavaScript ファイルで即時解析とコンパイルする関数に関する情報をアタッチできます。この情報はマジック コメントとしてエンコードされます。

FedCM の更新: 複数の IdP のサポート、パッシブ モードでの「別のアカウントを追加」機能の削除

この更新により、FedCM は同じダイアログに複数の ID プロバイダを表示できるようになりました。これにより、デベロッパーはサポートされているすべての ID プロバイダをユーザーに簡単に提示できます。最初は、すべてのプロバイダを同じ get() 呼び出しに含めるという単純なケースに取り組む予定です。また、FedCM の非アクティブ モードでの「別のアカウントを追加」機能のサポートも終了します。この機能を使用すると、選択ツールで他の IdP アカウントとともに [別のアカウントを使用] ボタンを表示できます。この機能は現在使用されておらず、UX に関する会話から、この機能をサポートすると、あまりメリットがないままフローが増加すると判断されました。この機能は、FedCM アクティブ モードでも引き続き機能します。

Fluent スクロールバー。

この機能により、Windows と Linux の Chrome のスクロールバー(オーバーレイと非オーバーレイの両方)がモダナイズされ、Windows 11 のフルーエント デザイン言語に適合します。オバーレイ以外の Fluent スクロールバーは、Linux と Windows でデフォルトで有効になります。この変更は Linux にも適用されます。これは、Chrome の Linux のスクロールバーのデザインが、これまで Windows で提供されているものと整合していたためです。

WebRTC での H265(HEVC)コーデックのサポート

Chrome 136 以降、HEVC が VP8、H.264、VP9、AV1 に加わり、WebRTC でサポートされるコーデックになります。サポートは MediaCapabilities API を使用してクエリできます。

この新しいコーデックは、VP8 や H264 などの旧世代のコーデックと比較して圧縮効率が高く(ビットレートあたりの品質が高い)、10 年以上にわたって非常に強力なハードウェア サポートが提供されています。これにより、バッテリー駆動時間が長くなり、パフォーマンスの問題のリスクが軽減されます。また、基盤となるハードウェア エンコーダのパフォーマンスによっては、ハードウェア VP9 エンコーダまたは AV1 エンコーダを使用できない場合でも、視覚的なエクスペリエンスが向上することがあります。

MediaRecorder の H26x コーデック サポートの更新

MediaRecorder API が HEVC エンコードをサポートし、hvc1.* コーデック文字列が導入されました。また、MP4 で可変解像度の動画をサポートする新しいコーデック(hev1.*avc3.*)が追加されました。Chrome 130 の WebCodecs に HEVC プラットフォーム エンコードのサポートが追加されました。フォローアップとして、Chromium の MediaRecorder API にサポートが追加されました。この API では、異なる HEVC と H.264 の MIME タイプ仕様を持つ MP4 と Matroska の両方の muxer タイプがサポートされるようになりました。HEVC エンコードは、ユーザーのデバイスとオペレーティング システムが必要な機能を備えている場合にのみサポートされます。

Chrome Enterprise での IP アドレスのロギングとレポート

Chrome Enterprise では、ローカル IP アドレスとリモート IP アドレスを収集して報告し、それらの IP アドレスをセキュリティ調査ログ(SIT)に送信することで、セキュリティ モニタリングとインシデント対応機能を強化しています。また、Chrome Enterprise では、Chrome Enterprise Reporting コネクタを使用して、管理者が必要に応じて IP アドレスをファーストパーティおよびサードパーティの SIEM プロバイダに送信できるようになります。これは Chrome Enterprise Core をご利用のお客様が利用できます。

ナビゲーション開始元を HTTP キャッシュ パーティション キーに組み込む

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

CanvasTextDrawingStyles の言語サポート

<canvas> DOM 要素は、他のすべての DOM 要素と同様に、フォント選択の言語固有の処理を定義するために使用される lang 属性を受け入れます(フォントがロケール固有のグリフを持つ場合)。ブラウザはこの属性を尊重します。ただし、OffscreenCanvas の作成時に言語 / 地域情報を設定する方法はありません。そのため、オフスクリーン キャンバスの出力が使用されるキャンバスとは異なるレンダリング結果が生成される可能性があります。この機能では、lang IDL 属性を CanvasTextDrawingStyles に追加して、テキスト描画と指標の言語を直接制御できるようにします。

iframe の権限ポリシー レポート

「権限ポリシーの潜在的な違反」という新しい違反タイプを導入しました。この違反タイプでは、権限ポリシー(レポート専用ポリシーを含む)と iframe に設定された allow 属性のみが検査され、適用された権限ポリシーと iframe に伝播された権限の競合が検出されます。

予測可能な報告された保存容量の上限

ストレージの無制限の権限がないサイトに対して、StorageManager の Estimate API から予測可能なストレージ割り当てを報告します。シークレット モードでは利用可能なストレージ容量が通常モードよりも大幅に小さいため、報告された保存容量を使用してユーザーのブラウジング モードを検出できます。

Private Aggregation API: エラーの集計レポート

Private Aggregation API の使用時に発生する可能性のあるエラー条件はさまざまです。たとえば、プライバシー バジェットが不足し、ヒストグラムの追加の寄与が妨げられる可能性があります。この機能を使用すると、特定のタイプのエラーが発生した場合にのみ送信するヒストグラムの送信を登録できます。この機能は、エラー状態の頻度の測定と、デベロッパーが指定した関連するディメンション(デプロイされたコードのバージョンなど)でこれらの測定値を分割することをサポートしています。エラー自体がクロスサイト情報である可能性があるため、サードパーティ Cookie のないユーザーに対して、エラーをページに表示することはできません。代わりに、この機能は集計サービスを通じて既存の集計ノイズ レポート パイプラインを再利用します。

RegExp.escape

RegExp.escape は、文字列を受け取り、正規表現内のパターンとして使用できるエスケープされたバージョンを返す静的メソッドです。次に例を示します。

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

推測ルール: タグ フィールド

デベロッパーがタグ field を推測ルールに追加できるようにします。このオプション フィールドは、推測ルールのソースを追跡するために使用できます。たとえば、中間サーバーで異なる処理を行う場合などです。推測に関連付けられているタグは、Sec-Speculation-Tags ヘッダーとともに送信されます。

Storage Access API の厳格な同一オリジン ポリシー

Storage Access API のセマンティクスを調整し、同一オリジン ポリシーに厳密に準拠させます。つまり、フレームで document.requestStorageAccess() を使用すると、デフォルトでは iframe のオリジン(サイトではない)へのリクエストにのみ Cookie が付加されます。CookiesAllowedForUrls ポリシーまたはストレージ アクセス ヘッダーを使用して、クロスサイト Cookie のブロックを解除することは引き続き可能です。

loadedtotal に double 型を使用するように ProgressEvent を更新

ProgressEvent には、進行状況を示す属性 loadedtotal があり、そのタイプは unsigned long long です。この機能では、これらの 2 つの属性の型が double に変更されるため、デベロッパーは値をより細かく制御できます。たとえば、デベロッパーは total が 1 で、loaded が 0 から 1 に徐々に増加する ProgressEvent を作成できるようになりました。これは、max 属性が省略されている場合の <progress> HTML 要素のデフォルトの動作と一致します。

getCharNumAtPositionisPointInFillisPointInStroke には DOMPointInit を使用します。

この変更により、getCharNumAtPositionisPointInFillisPointInStrokeSVGPoint ではなく DOMPointInit を使用するという点で、Chromium コードは SVGGeometryElementSVGPathElement の最新の W3C 仕様に準拠するようになります。

ウェブ認証の条件付き作成(パスキーのアップグレード)

WebAuthn の条件付き作成リクエストを使用すると、ウェブサイトは既存のパスワード認証情報をパスキーにアップグレードできます。

WebGPU: GPUAdapterInfo isFallbackAdapter 属性

GPUAdapterInfo isFallbackAdapter ブール値属性は、互換性の拡大、動作の予測可能性の向上、プライバシーの向上と引き換えに、アダプタのパフォーマンスが大幅に制限されているかどうかを示します。なお、フォールバック アダプターはすべてのシステムに存在するとは限りません。

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

Chrome 136 では、次の新しいオリジン トライアルを有効にできます。

Audio Output Devices API: setDefaultSinkId()

この機能により、MediaDevices に setDefaultSinkId() が追加されます。これにより、トップレベルのフレームは、サブフレームで使用されるデフォルトのオーディオ出力デバイスを変更できるようになります。

ウェブ アプリケーションでバイモーダル パフォーマンスのタイミングを把握する

ウェブアプリケーションは、ウェブアプリケーションの制御外の要因により、ページ読み込みパフォーマンスのバイモーダル分布が発生する可能性があります。次に例を示します。

  • ユーザー エージェントを初めて起動するとき(「コールド スタート」シナリオ)は、システム上のリソースを競合する多くのコストの高い初期化タスクを実行する必要があります。
  • ブラウザ拡張機能はウェブサイトのパフォーマンスに影響する可能性があります。たとえば、一部の拡張機能は、アクセスするすべてのページで追加のコードを実行します。これにより CPU 使用率が増加し、レスポンス時間が遅くなる可能性があります。
  • マシンが負荷の高いタスクの実行でビジー状態になると、ウェブページの読み込みが遅くなる可能性があります。

このようなシナリオでは、ウェブアプリが読み込もうとするコンテンツは、システムで実行されている他の処理と競合します。このため、パフォーマンスの問題がウェブ アプリケーション自体にあるのか、外部要因によるものなのかを検出することが困難になります。

PerformanceNavigationTiming オブジェクトに新しい confidence フィールドが追加され、デベロッパーはナビゲーションのタイミングがウェブアプリを代表するものかどうかを判断できるようになります。

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

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

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

キャンバス テキストのレンダリング実装の更新

CanvasRenderingContext2D と OffscreenCanvasRenderingContext2D の measureText()fillText()strokeText() の内部は、RTL テキストとキャッシュをより適切にサポートする新しい実装に置き換えられました。これはパフォーマンスと BIDI テキスト出力に影響する可能性があるため、このオリジン トライアルでは、テキスト中心のキャンバス アプリケーションで新しい実装を試し、発生した問題を報告できます。

非推奨と削除

このバージョンの Chrome では、次の非推奨と削除が行われます。予定されている非推奨化、現在の非推奨化、過去の削除の一覧については、ChromeStatus.com をご覧ください。

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

Intl Locale Info のゲッターを非推奨にする

Intl Locale Info API は、ステージ 3 の ECMAScript TC39 プロポーザルであり、週のデータ(週の最初の日、週末の開始日、週末の終了日、最初の週の最小日数)や、ロケールで使用されるテキストの向きと時間のサイクルなどのロケール情報を公開することで、Intl.Locale オブジェクトを拡張します。この変更により、リリース後に仕様変更で非推奨となった一部のゲッターが削除されます。

HTMLFencedFrameElement.canLoadOpaqueURL() を削除しています。

canLoadOpaqueURL() は 2023 年に navigator.canLoadAdAuctionFencedFrame() に置き換えられ、呼び出すと非推奨のコンソール警告が表示され、デベロッパーは新しい API に誘導されるようになりました。関数を HTMLFencedFrameElement に関連付けるのは意味がありません。代わりに、navigator オブジェクト(他のフェンスされたフレームと広告オークション メソッドを含む)に関連付ける必要があります。