公開日: 2025 年 6 月 25 日
特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能について詳しくは、提供されているリンクまたは ChromeStatus.com のリストをご覧ください。2025 年 6 月 25 日時点で、Chrome 139 はベータ版です。最新版は、パソコンの場合は Google.com、Android の場合は Google Play ストアからダウンロードできます。
CSS
今回のリリースでは、6 つの新しい CSS 機能と UI 機能を追加しました。
var()
と attr()
のショートカット
フォールバックが使用されない場合、var()
関数と attr()
関数は、そのフォールバックでサイクルを探すことなく評価されます。--green
と --blue
が存在するため、次の CSS は機能します。
--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));
CSS caret-animation
プロパティ
Chrome は caret-color
プロパティのアニメーションをすでにサポートしていましたが、アニメーション化すると、キャレットのデフォルトの点滅動作がアニメーションを妨げていました。CSS の caret-animation
プロパティには auto
と manual
の 2 つの値があります。auto
はブラウザのデフォルト(点滅)を意味し、manual
はウェブ デベロッパーがキャレット アニメーションを制御していることを意味します。このプロパティを使用すると、ユーザーはユーザー スタイルシートを使用して点滅を無効にすることもできます。
角の形状
角の形状または曲率を指定して、既存の border-radius
の上に角のスタイル設定を有効にします。これにより、スクエアクル、ノッチ、スクープなどの形状を作成し、それらの間でアニメーション化できます。詳しくは、Amit Sheen のこちらの投稿をご覧ください。
最初の遷移値に切り替えるときに遷移の実行を継続します。
遷移関連のプロパティが変更された場合、その影響は新たに開始された遷移にのみ及ぶはずです。つまり、移行プロパティを変更しても、アクティブな移行アニメーションを持つプロパティも変更しない限り、移行アニメーションは以前に指定された期間やイージングなどで継続されます。移行プロパティが「none」に設定されている場合、移行期間のみを変更しても移行はキャンセルされませんが、Blink は誤って移行をキャンセルしていました。この機能により、blink は webkit および gecko と一貫性を持つようになり、プロパティ値が変更されて新しいトランジションの更新がトリガーされるまで、アクティブなトランジションを継続して実行できるようになります。
CSS カスタム関数
カスタム関数はカスタム プロパティに似ていますが、単一の固定値を返すのではなく、他のカスタム プロパティ、パラメータ、条件に基づいて値を返します。
@function --negate(--value) {
result: calc(var(--value) * -1);
}
div {
--gap: 1em;
margin-top: --negate(var(--gap));
}
ネストされた <svg>
要素のプレゼンテーション属性として width
と height
をサポート
SVG マークアップと CSS の両方で、ネストされた <svg>
要素に width
と height
をプレゼンテーション属性として適用することをサポートします。この 2 つのアプローチにより、複雑なデザイン内で SVG 要素をより効率的に管理し、スタイルを設定できるため、柔軟性がさらに高まります。
ウェブ API
ウェブアプリ マニフェスト: 要件チェックの更新を指定、アイコンの URL は Cache-Control: immutable
マニフェスト仕様で更新の対象となるアルゴリズムを指定します。これにより、更新プロセスがより確定的で予測可能になり、既存のインストールに更新を適用するかどうか(およびいつ適用するか)をデベロッパーがより細かく制御できるようになります。また、ユーザー エージェントがネットワーク リソースの無駄遣いを避けるために現在実装する必要がある「更新チェック スロットル」を削除できるようになります。
WebXR Depth Sensing のパフォーマンスの改善
深度バッファの生成または消費のパフォーマンスを向上させることを目的として、WebXR セッション内の深度センシング機能の動作をカスタマイズするための新しいメカニズムをいくつか公開します。公開される主なメカニズムは、未加工またはスムージングされた深度バッファをリクエストする機能、ランタイムに深度バッファの提供を停止または再開するようリクエストする機能、ユーザー エージェントが毎フレーム不必要な再投影を行う必要がないように、ユーザーのビューと正確に一致しない深度バッファを公開する機能です。
JavaScript DOM API でより多くの文字数を許可
HTML パーサーでは、要素と属性にさまざまな有効な文字と名前を使用することが常に(または長い間)許可されていましたが、同じ要素と属性を作成する JavaScript DOM API はより厳格で、パーサーと一致していません。この変更により、HTML パーサーに合わせて JavaScript DOM API の検証が緩和されます。
request-close
呼び出し元コマンド
ダイアログ要素はさまざまなメカニズムで閉じることができますが、開発者が閉じるのを防ぎたい場合があります。このダイアログを実現するために、キャンセル イベントが発火します。元々、これはクローズ リクエスト(Esc
キーの押下など)でのみ発生していましたが、最近 requestClose()
JS 関数が追加され、これもキャンセル イベントを発生させます。request-close
コマンドは、この新しい機能を宣言型呼び出しコマンド API に導入します。
WebGPU: BC および ASTC 圧縮形式の 3D テクスチャのサポート
texture-compression-bc-sliced-3d
と texture-compression-astc-sliced-3d
の WebGPU 機能は、それぞれ BC と ASTC の圧縮形式の 3D テクスチャ サポートを追加します。
安全なお支払い確認: ブラウザ バウンド キー
安全な支払い確認のアサーションと認証情報の作成に、追加の暗号署名を追加します。対応する秘密鍵はデバイス間で同期されません。これにより、ウェブ デベロッパーは支払い取引のデバイス バインディングの要件を満たすことができます。
安全なお支払いの確認: UX の更新
Android Chrome の SPC ダイアログの UX 要素を更新します。UX の表示以外に、次のものが追加されます。
- 支払いに関連する支払いエンティティのロゴのオプション リストを販売者が提供できるようにします。このリストは表示されます。
- ユーザーが SPC なしで取引を続行するか、取引をキャンセルするかによって、販売者に異なる出力状態を返します。
- 支払い方法に新しい支払い詳細ラベル フィールドを追加し、テキストが 2 行にわたって表示されるようにします。
WebGPU core-features-and-limits
core-features-and-limits
機能は、WebGPU アダプタとデバイスが仕様のコア機能と上限をサポートしていることを示します。
スクロール アンカーの優先順位候補の修正
現在、スクロール アンカー アルゴリズムは、アンカー ターゲットとして使用可能な優先候補を選択します。優先候補は現在、編集可能な要素とページ内検索のハイライトにフォーカスされています。コンテンツが画面外で変更された大きなフォーカス可能な contenteditable 要素がある場合、ユーザー エクスペリエンスが最適でなくなる可能性があります(結果としてカーソルが移動します)。この修正では、アルゴリズムが変更されます。優先度の高い候補をアンカーとして選択する代わりに、候補を、画面上の最も深い要素をアンカーとして選択する通常のアンカー選択アルゴリズムのスコープまたはルートとして使用します。
SVG <script>
要素の async
属性をサポート
SVG 2.0 の SVGScriptElement
インターフェースでは、HTMLScriptElement
と同様の async
属性が導入されています。この属性を使用すると、スクリプトを非同期で実行できるため、SVG を使用するウェブ アプリケーションのパフォーマンスと応答性が向上します。
オンデバイス ウェブ音声認識 API
この機能により、Web Speech API にデバイス上の音声認識のサポートが追加され、ウェブサイトで音声も音声文字変換されたテキストも処理のためにサードパーティのサービスに送信されないようにすることができます。ウェブサイトは、特定の言語のオンデバイス音声認識の利用可能性をクエリし、オンデバイス音声認識に必要なリソースをインストールするようユーザーに促し、必要に応じてオンデバイス音声認識とクラウドベースの音声認識を選択できます。
ブラウジング コンテキスト グループを切り替えるクロスサイト ナビゲーションで window.name
をクリア
現在、window.name
プロパティの値は、ブラウジング コンテキスト グループを切り替えるナビゲーションでも、タブのライフサイクル全体で保持されます。これにより、情報が漏洩し、トラッキング ベクターとして使用される可能性があります。window.name
プロパティをクリアすると、この問題は解決します。名前でブラウジング コンテキストを検索しても、別のブラウジング コンテキスト グループにある場合はすでに機能しないため、この変更のリスクは低いと考えられます。つまり、名前は実際には役に立っていません。
エンタープライズ ポリシー: ClearWindowNameCrossSiteBrowsing
(Chrome 142 で廃止されます)。
ウェブアプリのスコープ拡張機能
ウェブアプリがスコープを他のオリジンに拡張できるようにする "scope_extensions"
ウェブアプリ マニフェスト フィールドを追加します。
これにより、複数のサブドメインとトップレベル ドメインを制御するサイトを単一のウェブアプリとして表示できます。リストに登録されたオリジンは、.well-known/web-app-origin-association
構成ファイルを使用してウェブアプリとの関連付けを確認する必要があります。
仕様に準拠した JSON MIME タイプの検出
Chromium は、WHATWG mimesniff 仕様で定義されているすべての有効な JSON MIME タイプを認識するようになりました。これには、従来の application/json
と text/json
に加えて、サブタイプが +json
で終わる MIME タイプも含まれます。この変更により、JSON 検出に依存するウェブ API と機能が、ウェブ プラットフォーム標準や他のブラウザと一貫した動作をするようになります。この変更の主な動機は、JSON モジュールのインポート動作を修正することです。以前は text/html+json
や image/svg+json
などの有効な JSON MIME タイプがモジュールとして読み込まれませんでした。
Private Aggregation API: 集計エラー レポート
プライベート アグリゲーション API を使用する際に発生する可能性のあるエラー条件は多岐にわたります。たとえば、プライバシー バジェットが不足し、ヒストグラムへの寄与がそれ以上できなくなる可能性があります。この機能を使用すると、特定のタイプのエラーが発生した場合にのみ送信されるヒストグラムの投稿を登録できます。この機能は、エラー状態の頻度を測定し、関連するデベロッパー指定のディメンション(デプロイされたコードのバージョンなど)でこれらの測定値を分割することをサポートします。エラー自体がクロスサイト情報である可能性があるため、サードパーティ Cookie を使用していないユーザーのページにエラーをそのまま公開することはできません。代わりに、この機能は集計サービスを通じて既存の集計されたノイズ入りのレポート パイプラインを再利用します。
Crash Reporting API: クラッシュ レポートのみを受信するようにクラッシュ レポートを指定
この機能により、crash-reporting
という名前のエンドポイントを指定することで、デベロッパーはクラッシュ レポートのみを受け取ることができます。デフォルトでは、クラッシュ レポートは default
エンドポイントに配信されます。このエンドポイントは、クラッシュ レポート以外にもさまざまな種類のレポートを受信します。デベロッパーは、default
エンドポイントではなく、crash-reporting
という名前の既知のエンドポイントに別の URL を指定して、クラッシュ レポートをそこに送信できます。
Accept-Language
ヘッダー情報のフィンガープリントを削減
HTTP リクエストと navigator.languages
で Accept-Language
ヘッダー値文字列が公開する情報の量を減らします。Accept-Language
ヘッダーを使用して、すべての HTTP リクエストでユーザーの優先言語の完全なリストを送信する代わりに、ユーザーが最も希望する言語を Accept-Language
ヘッダーで送信するようになりました。互換性リスクを最小限に抑えるため、初回リリースでは HTTP ヘッダーの情報が削減されます。今後、関連する navigator.languages
JavaScript ゲッターも削減される予定です。
CSP でブロックされた Worker に対する例外スローに代わり、エラーイベントを呼び出し
コンテンツ セキュリティ ポリシー(CSP)でブロックされた場合、Chrome は現時点で Worker と SharedWorker のコンストラクタから SecurityError
をスローします。仕様では、CSP はフェッチの一環としてチェックされ、スクリプトが new
Worker(url)
または new SharedWorker(url)
を実行したときに例外をスローするのではなく、エラー イベントを非同期的に呼び出すことが求められています。この変更により、コンストラクタで例外をスローせず、エラー イベントを非同期的に呼び出すことで、Chrome の照合が仕様に沿って行われるようになります。
RTC エンコード フレームの音声レベル
RTCPeerConnection
で送信され、WebRTC Encoded Transform を使用して公開されたエンコード済みフレームの音声レベルをウェブに公開します。
新しいオリジン トライアル
Chrome 139 では、次の新しいオリジン トライアルにオプトインできます。
Prompt API
Prompt API は、テキスト、画像、音声の入力を使用して AI 言語モデルとやり取りするように設計されています。画像キャプションの生成やビジュアル検索の実行から、音声の文字起こし、音声イベントの分類、特定の指示に従ったテキストの生成、テキストからの情報や分析情報の抽出まで、さまざまなユースケースをサポートします。構造化された出力をサポートしています。これにより、レスポンスが事前定義された形式(通常は JSON スキーマとして表現)に準拠し、レスポンスの適合性が向上し、標準化された出力形式を必要とするダウンストリーム アプリケーションとのシームレスな統合が容易になります。この API は Chrome 拡張機能でも公開されています。このオリジン トライアルはウェブでの公開を対象としています。
フル フレームレート レンダリング ブロック属性
ブロック属性に新しいレンダリング ブロック トークン full-frame-rate を追加することを提案します。レンダラがフル フレームレート トークンでブロックされると、レンダラは低いフレームレートで動作し、読み込みのために多くのリソースを確保します。
WebGPU 互換モード
OpenGL や Direct3D11 などの古いグラフィック API を実行できる、WebGPU API の制限付きサブセットをオプトインで追加します。このモードを選択して制約に従うことで、デベロッパーは WebGPU アプリケーションのリーチを、コア WebGPU が必要とする最新の明示的なグラフィック API を備えていない多くの古いデバイスにまで拡大できます。単純なアプリケーションの場合、必要な変更は requestAdapter
を呼び出すときに "compatibility"
featureLevel を指定することだけです。より高度なアプリケーションでは、モードの制限に対応するために、いくつかの変更が必要になる場合があります。互換モードはサブセットであるため、結果として得られるアプリケーションも有効な WebGPU Core アプリケーションであり、互換モードをサポートしていないユーザー エージェントでも実行されます。
非推奨と削除
このバージョンの Chrome では、以下の非推奨と削除が導入されています。計画されている非推奨、現在の非推奨、以前の削除の一覧については、ChromeStatus.com をご覧ください。
このリリースの Chrome では、2 つの機能が削除されています。
macOS 11 のサポートを削除
Chrome 138 は、macOS 11 をサポートする最後のリリースです。Chrome 139 以降では、macOS 11 はサポートされません。macOS 11 は、すでに Apple でのサポート期間を経過しています。セキュリティを維持するためには、サポートされているオペレーティング システムで実行することが不可欠です。macOS 11 を搭載した Mac では、Chrome は引き続き動作しますが、警告の情報バーが表示され、今後のアップデートは行われなくなります。Chrome を引き続きアップデートしたい場合は、パソコンをサポート対象の macOS バージョンへアップデートする必要があります。Chrome 139 以降を新規にインストールするには、macOS 12 以降が必要です。
HTML での ISO-2022-JP 文字セットの自動検出を削除
ISO-2022-JP の文字セットの自動検出には、既知のセキュリティ上の問題があります。使用率が非常に低く、Safari が ISO-2022-JP の自動検出をサポートしていないことを踏まえ、Chrome はセキュリティ上の問題を解消するため、このサポートを削除します。