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

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

CSS dynamic-range-limit プロパティ

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

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

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

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

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

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

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

CSS ワーキング グループは、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 の中断状態

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

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

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

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

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

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

キャプチャされた Surface Control API

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

CapturedSurfaceResolution

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

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

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

マジック コメントを使用した明示的なコンパイル ヒント

JavaScript ファイルで事前解析とコンパイルを行う関数に関する情報を付加できるようにします。この情報はマジック コメントとしてエンコードされます。

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

このアップデートにより、FedCM は同じダイアログに複数の ID プロバイダを表示できるようになります。これにより、デベロッパーはサポートされているすべての ID プロバイダをユーザーに簡単に提示できるようになります。まず最初の取り組みとして、すべてのプロバイダを 1 つの get() 呼び出しでまとめて扱うというシンプルなケースから開始する予定です。また、FedCM のパッシブモードでは、「別のアカウントを追加」機能のサポートを終了します。この機能は、選択ツールで他の IdP アカウントとともに [別のアカウントを使用] ボタンを表示できるというものですが、現在使用されておらず、UX の観点からも、フローが複雑になる割に効果がないと指摘されています(ただし、FedCM アクティブ モードでは引き続き機能します)。

Fluent スクロールバー。

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

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

Chrome 136 以降、HEVC は WebRTC でサポートされるコーデックとして VP8、H.264、VP9、AV1 に加わります。サポートは 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 の両方の多重化タイプがサポートされるようになりました。HEVC エンコードは、ユーザーのデバイスとオペレーティング システムが必要な機能を提供している場合にのみサポートされます。

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

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

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

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

CanvasTextDrawingStyles の言語サポート

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

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 のブロックを解除することは引き続き可能です。

ProgressEvent の更新: loadedtotal に double 型を使用

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

getCharNumAtPositionisPointInFillisPointInStrokeDOMPointInit を使用

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

Web Authentication の条件付き作成(パスキーのアップグレード)

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

WebGPU: GPUAdapterInfo isFallbackAdapter 属性

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

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

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

音声出力デバイス API: setDefaultSinkId()

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

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

ウェブ アプリケーションのページ読み込みパフォーマンスは、ウェブ アプリケーションの制御外の要因により、二峰分布になることがあります。次に例を示します。

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

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

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

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

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

これにより、サーバーはデバイスに安全にバインドされたセッションを持つことができます。ブラウザは、サーバーの要求に応じて、秘密鍵の所有証明とともにセッションを定期的に更新します。

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

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 を呼び出すと、非推奨のコンソール警告が表示され、デベロッパーは新しい API に誘導されます。関数を HTMLFencedFrameElement に関連付けるのは意味がないため、navigator オブジェクト(他のフェンス付きフレームと広告オークション メソッドを含む)に関連付ける必要があります。