Chrome 139

安定版のリリース日: 2025 年 8 月 5 日

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

CSS と UI

var()attr() のショートカット

フォールバックが使用されない場合、var() 関数と attr() 関数は、そのフォールバックのサイクルを探すことなく評価されます。

ChromeStatus.com のエントリ

@font-face ルールで font-feature-settings ディスクリプタをサポート

この機能は、CSS Fonts Level 4 で定義されている font-feature-settings の文字列ベースの構文をサポートしています。仕様に従い、無効な機能タグまたは認識できない機能タグは無視されます。バイナリ形式や非標準形式はサポートされていません。

OpenType フォントの採用が広まるにつれて、この機能強化により、タイポグラフィの制御が改善され、冗長性が軽減され、ウェブデザインに対するよりスケーラブルでモダンなアプローチがサポートされます。

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

CSS カスタム関数

カスタム関数はカスタム プロパティに似ていますが、単一の固定値を返すのではなく、他のカスタム プロパティ、パラメータ、条件に基づいて値を返します。

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

最初の遷移値に切り替えるときに遷移の実行を継続する

関連するプロパティが変更された場合、その変更は新たに開始されたトランジションにのみ影響します。つまり、遷移プロパティを変更しても、アクティブな遷移アニメーションのプロパティも変更しない限り、それらの遷移アニメーションは以前に指定された期間とイージングで継続されます。

Chrome では、transition-duration のみを変更した場合はトランジションがキャンセルされないにもかかわらず、transition プロパティが none に設定されていると、トランジションが誤ってキャンセルされていました。この変更により、Chrome が Safari や Firefox と一貫性を持つようになり、プロパティ値が変更されて新しいトランジションの更新がトリガーされるまで、アクティブなトランジションが実行され続けます。

ChromeStatus.com のエントリ | 仕様

角の形状(corner-shapesuperellipsesquircle

既存の border-radius に加えて、角の形状と曲率をスーパー楕円として表現することで、角のスタイリングを有効にします。

これにより、スクエアクル、ノッチ、スクープなどの形状が可能になり、それらの間でアニメーションを適用できます。

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

font-width プロパティと記述子を追加し、font-stretch をレガシー エイリアスにする

SVG <script> 要素の async 属性をサポート

SVG 2.0 の SVGScriptElement インターフェースでは、HTMLScriptElement と同様に async 属性が導入されています。この属性を使用すると、スクリプトを非同期で実行できるため、SVG を使用するウェブ アプリケーションのパフォーマンスと応答性が向上します。

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

request-close 呼び出しコマンド

ダイアログ要素はさまざまなメカニズムで閉じることができますが、デベロッパーが閉じるのを防ぎたい場合もあります。このダイアログを実現するために、キャンセル イベントが起動されます。元々、これはクローズ リクエスト(ESC キーの押下など)でのみ発生していましたが、最近、キャンセル イベントも発生させる requestClose() JavaScript 関数が追加されました。

request-close コマンドは、この新しい機能を宣言型呼び出しコマンド API に導入します。

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

スクロール アンカーの優先順位候補の修正

スクロール アンカー アルゴリズムを変更します。優先候補をアンカーとして選択する代わりに、候補を通常のアンカー選択アルゴリズムのスコープまたはルートとして選択します。これにより、画面上の最も深い要素がアンカーとして選択されます。

ChromeStatus.com のエントリ

デバイス

WebXR Depth Sensing のパフォーマンスの改善

WebXR セッション内のデプス センシング機能の動作をカスタマイズするための新しいメカニズムをいくつか公開し、デプスバッファの生成または消費のパフォーマンスを向上させることを目指します。

公開される主なメカニズムは、未加工またはスムーズな深度バッファをリクエストする機能、ランタイムに深度バッファの提供を停止または再開するようリクエストする機能、ユーザー エージェントが毎フレームで不要な再投影を行う必要がないように、ユーザーのビューと正確に一致しない深度バッファを公開する機能です。

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

DOM

JavaScript DOM API でより多くの文字数を許可

HTML パーサーは、要素と属性にさまざまな有効な文字と名前を使用することを常に(または長い間)許可してきましたが、同じ要素と属性を作成する JavaScript DOM API はより厳格で、パーサーと一致していません。

この変更により、HTML パーサーに合わせて JavaScript DOM API の検証が緩和されます。

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

グラフィック

WebGPU: BC および ASTC 圧縮形式の 3D テクスチャのサポート

texture-compression-bc-sliced-3dtexture-compression-astc-sliced-3d の WebGPU 機能は、それぞれ BC と ASTC の圧縮形式の 3D テクスチャ サポートを追加します。

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

安全なお支払い確認(SPC)

securePaymentConfirmationAvailabilityAPI

これは、安全な支払い確認(SPC)機能が利用可能かどうかを簡単に確認できる JavaScript API です。この API では、SPC の可用性を判断する唯一の方法は、必要なパラメータを使用して PaymentRequest を作成することでした。これは、デベロッパーが支払いの処理を開始する前に SPC を確認したい場合に、扱いにくく、難しいものでした。

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

安全なお支払いの確認: ブラウザ バウンド キー

安全な支払い確認のアサーションと認証情報の作成に、追加の暗号署名を追加します。対応する秘密鍵はデバイス間で同期されません。これにより、ウェブ デベロッパーは支払い取引のデバイス バインディングの要件を満たすことができます。

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

オンデバイス AI

オンデバイス ウェブ音声認識 API

この機能により、Web Speech API にデバイス上の音声認識のサポートが追加され、ウェブサイトで音声と文字変換された音声の両方が処理のためにサードパーティ サービスに送信されないようにすることができます。

ウェブサイトは、特定の言語のオンデバイス音声認識の利用可能性をクエリし、オンデバイス音声認識に必要なリソースをインストールするようユーザーに促し、必要に応じてオンデバイス音声認識とクラウドベースの音声認識を選択できます。

ChromeStatus.com のエントリ | 仕様

ブラウジング コンテキスト グループを切り替えるクロスサイト ナビゲーションで window.name を消去

ブラウジング コンテキスト グループを切り替えるナビゲーションを行うときに window.name プロパティの値をクリアし、追跡ベクトルとして使用される可能性のある情報の漏洩を防ぎます。

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

ネットワーク

Accept-Language ヘッダー情報のフィンガープリントを削減

HTTP リクエストと navigator.languagesAccept-Language ヘッダー値文字列が公開する情報の量を減らします。Chrome は、Accept-Language ヘッダーを使用して HTTP リクエストごとにユーザーの優先言語の完全なリストを送信するのではなく、ユーザーの最も優先度の高い言語のみを送信します。

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

Windows で TCP ポート割り当てをランダム化する

このリリースにより、以前のポートの再利用が速すぎて問題が発生する(ポートの再利用のタイムアウトにより拒否される)可能性が低いと想定される Windows(2020 以降)のバージョンで TCP ポートのランダム化が有効になります。高速ポート再利用の問題は、誕生日問題に起因します。この問題では、順次モデルでのポート再利用と比較して、新しいポートが選択されるたびに、すでに使用されているポートをランダムに再選択する確率が 100% に急速に収束します。

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

パフォーマンス

Android でのバックグラウンドのフリーズを高速化

Android で、バックグラウンド ページ(および関連するワーカー)がフリーズするまでの時間を 5 分から 1 分に短縮します。

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

セキュリティ

コンテンツ セキュリティ ポリシー(CSP)でブロックされた Worker に関して、エラーイベントを発生させる

Chrome を仕様に準拠させ、スクリプトが「new Worker(url)」または「new SharedWorker(url)」を実行したときに、フェッチ中に CSP をチェックし、例外をスローするのではなく、エラーイベントを非同期的に発生させます。

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

WebRTC

RTC エンコード フレームの音声レベル

この機能は、RTCPeerConnection を使用して送信され、WebRTC エンコード変換を使用して公開されたエンコード フレームの音声レベルをウェブに公開します。

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

ウェブ API

ウェブアプリのスコープ拡張機能

ウェブアプリがスコープを他のオリジンに拡張できるようにする scope_extensions ウェブアプリ マニフェスト フィールドを追加します。

これにより、複数のサブドメインとトップレベル ドメインを制御するサイトを単一のウェブアプリとして表示できます。

リストに登録されたオリジンが、.well-known/web-app-origin-association 構成ファイルを使用してウェブアプリとの関連付けを確認することを要求します。

トラッキング バグ #detail?id=1250011 | ChromeStatus.com のエントリ | 仕様

仕様に準拠した JSON MIME タイプの検出

Chrome は、WHATWG mimesniff 仕様で定義されているすべての有効な JSON MIME タイプを認識するようになりました。これには、application/jsontext/json に加えて、サブタイプが +json で終わる MIME タイプも含まれます。この変更により、JSON 検出に依存するウェブ API と機能が、ウェブ プラットフォーム標準や他のブラウザと一貫した動作をするようになります。

ChromeStatus.com のエントリ | 仕様

WebGPU core-features-and-limits

core-features-and-limits 機能は、WebGPU アダプタとデバイスが仕様のコア機能と上限をサポートしていることを示します。

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

Crash Reporting API: クラッシュ レポートのみを受信するには crash-reporting を指定します

この機能により、crash-reporting という名前のエンドポイントを指定することで、デベロッパーはクラッシュ レポートのみを受け取ることができます。デフォルトでは、クラッシュ レポートは default エンドポイントに配信されます。このエンドポイントは、クラッシュ レポート以外にもさまざまな種類のレポートを受信します。デベロッパーは、default エンドポイントではなく、crash-reporting という名前の既知のエンドポイントに別の URL を指定して、クラッシュ レポートをそこに送信できます。

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

オリジン トライアル

Prompt API

テキスト、画像、音声の入力を使用して AI 言語モデルとやり取りするために設計された API。画像キャプションの生成やビジュアル検索の実行から、音声の文字起こし、音声イベントの分類、特定の指示に従ったテキストの生成、テキストからの情報や分析情報の抽出まで、さまざまなユースケースに対応しています。構造化された出力をサポートしているため、レスポンスが事前定義された形式(通常は JSON スキーマとして表現)に準拠し、レスポンスの適合性を高め、標準化された出力形式を必要とするダウンストリーム アプリケーションとのシームレスな統合を促進します。

この API は Chrome 拡張機能でも公開されています。この機能エントリは、ウェブでの公開状況をトラッキングします。エンタープライズ ポリシー(GenAILocalFoundationalModelSettings)を使用して、基盤となる言語モデルのダウンロードを無効にできます。その場合、この API は使用できなくなります。

オリジン トライアル | オリジン トライアルのブログ投稿 | トラッキング バグ #417530643 | ChromeStatus.com のエントリ

ライフタイムが延長された共有ワーカー

これにより、SharedWorker コンストラクタに新しいオプション extendedLifetime: true が追加されます。これにより、現在のすべてのクライアントがアンロードされた後も共有ワーカーが存続するようにリクエストされます。主なユースケースは、サービス ワーカーに依存することなく、ページがアンロードされた後に JavaScript を必要とする非同期処理をページで実行できるようにすることです。

オリジン トライアル | オリジン トライアルのブログ投稿 | トラッキング バグ #400473072 | ChromeStatus.com のエントリ

SoftNavigation のパフォーマンス エントリ

PerformanceObserver とパフォーマンス タイムラインの両方を使用して、ソフト ナビゲーション ヒューリスティック(試験運用版)をウェブ デベロッパーに公開します。

この機能では、次の 2 つの新しいパフォーマンス エントリがレポートされます。

  • soft-navigation: ページを移動するユーザー操作。パフォーマンス タイムラインをスライスするのに役立つ新しい timeOrigin を定義します。
  • interaction-contentful-paint。インタラクションの読み込みパフォーマンス(次のペイントだけでなく)をレポートします。ソフト ナビゲーションの LCP として使用されます。

オリジン トライアル | オリジン トライアルのブログ投稿 | トラッキング バグ #1338390 | ChromeStatus.com のエントリ | 仕様

ウェブ認証の即時仲介

navigator.credentials.get() のメディエーション モード。ブラウザがすぐに認識できるサイトのパスキーまたはパスワードがある場合、ブラウザのログイン UI がユーザーに表示されます。それ以外の場合、そのような認証情報が利用できない場合は NotAllowedError で拒否します。これにより、ブラウザが成功する可能性の高いログイン認証情報の選択肢を提供できる場合は、サイトでログインページを表示しないようにしつつ、そのような認証情報がない場合はログインページ フローを許可できます。

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

フル フレームレート レンダリング ブロック属性

ブロック属性に新しいレンダリング ブロック トークン full-frame-rate を追加します。フル フレームレート トークンでレンダラがブロックされると、レンダラは低いフレームレートで動作し、読み込みのために多くのリソースを確保します。

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

WebGPU 互換モード

OpenGL や Direct3D11 などの古いグラフィック API を実行できる、WebGPU API の制限付きサブセットをオプトインで追加します。このモードを選択し、その制約に従うことで、デベロッパーは WebGPU アプリケーションのリーチを、コア WebGPU が必要とする最新の明示的なグラフィック API を備えていない多くの古いデバイスにまで拡大できます。

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

非推奨と削除

プリフェッチとプリレンダリングから Purpose: prefetch ヘッダーの送信を停止

プリフェッチとプリレンダリングで Sec-Purpose ヘッダーが使用されるようになったため、現在も渡されている以前の Purpose: prefetch ヘッダーを削除する予定です。互換性の問題を回避するため、これは機能フラグ/ キルスイッチの背後にあります。

これは、投機ルールのプリフェッチ、投機ルールの事前レンダリング、<link rel=prefetch>、Chrome の非標準の <link rel=prerender> にスコープされます。

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

macOS 11 のサポートを終了

Chrome 138 は、macOS 11 をサポートする最後のリリースです。Chrome 139 以降では macOS 11 はサポートされません。

macOS 11 を搭載した Mac では、Chrome は引き続き動作しますが、警告の情報バーが表示され、今後のアップデートは行われなくなります。Chrome を更新するには、パソコンをサポート対象の macOS バージョンに更新する必要があります。

Chrome 139 以降を新規にインストールするには、macOS 12 以降が必要です。

ChromeStatus.com のエントリ

HTML での ISO-2022-JP 文字セットの自動検出を削除

ISO-2022-JP の文字セット自動検出に関する既知のセキュリティの問題があります。使用率が非常に低く、Safari が ISO-2022-JP の自動検出をサポートしていないため、Chrome 139 でサポートが削除されます。

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