Chrome 145

安定版リリース日: 2026 年 2 月 10 日

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

CSS と UI

text-justify CSS プロパティのサポートを追加

text-align: justify を適用したときにテキストをどのように均等配置するかは、text-justify プロパティで制御できます。たとえば、英語のテキストでも文字間スペースを広げて、強制的に均等割り付けを行うことができます。

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

CSS の letter-spacing プロパティと word-spacing プロパティのパーセンテージ値を有効にする

CSS Text Module Level 4 仕様で定義されているとおり、letter-spacing および word-spacing CSS プロパティのパーセント値を有効にします。パーセンテージ値は、スペース文字(U+0020)の事前測定値に基づいて計算されます。これにより、特にテキストのスペーシングをさまざまなビューポートやフォントサイズに適応させる必要があるレスポンシブ デザインにおいて、タイポグラフィをより堅牢かつ柔軟に制御できます。

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

高い border-radius の border-radius の影の端の計算を改善

この変更により、ほぼ円形の要素(border-radius が 50% に近い場合)の影とクリップ境界が、曲線のエッジの視覚的な輪郭と正確に一致します。

これにより、複雑な丸みを帯びた形状のレンダリングがより一貫性のあるものになり、半径の値が大きい場合の視覚的な差異がなくなります。border-radius 調整係数は、半径の値が 50% に近づくにつれて徐々に減衰し、半径が小さい場合に角がシャープに表示されるようにします。

これは、同じ半径調整メカニズムを使用する非円形輪郭(corner-shape を使用)にも適用されます。

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

multicol の列の折り返し

multicol Level 2 の column-wrap CSS プロパティと column-height CSS プロパティのサポートを追加しました。

これにより、垂直列レイアウトや 2D 列レイアウトが可能になります。列は、マルチカラム コンテナの content-box の高さから導出されるのではなく、明示的に制約された高さを指定できます。すべての列が 1 つの行で埋められた場合、インライン方向にオーバーフローする列を作成するのではなく、新しい行の列に折り返します。

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

onanimationcancel イベントを GlobalEventHandlers に公開

CSS アニメーション レベル 1 は、HTML 仕様で定義された GlobalEventHandlers インターフェースを拡張し、onanimationstartonanimationiterationonanimationendonanimationcancel の 4 つの新しいイベント ハンドラを宣言します。GlobalEventHandlers IDL から onanimationcancel イベント ハンドラのみが欠落していました。

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

カスタマイズ可能な選択リストボックス

これにより、カスタマイズ可能な選択のサポートがリストボックス レンダリング モードに拡張され、リストボックス モードでの単一選択と複数選択もサポートされます。

リストボックス レンダリング モードでは、select 要素は別のボタンとポップアップではなく、フロー内またはページ内でレンダリングされます。multiple 属性または size 属性(<select multiple><select size=4> など)を使用して、プラットフォーム全体でリストボックス レンダリング モードを有効にできます。これらの属性を持つ select 要素に appearance: base-select CSS プロパティを適用すると、レンダリングと入力の動作が改善されます。

これは、複数選択ポップアップのカスタマイズ可能な select をサポートしていません。これは後でサポートされます。複数選択ポップアップを表示するには、<select multiple size=1> 属性を設定する必要があります。

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

focusfocusVisible オプション

focus() メソッドを呼び出すときに、FocusOptions 辞書で focusVisible ブール値を指定できます。true の場合、フォーカス リングは常に新しくフォーカスされた要素の周囲に描画され、:focus-visible 疑似クラスと一致します。false の場合、フォーカス リングは描画されず、:focus-visible は一致しません。指定されていない場合、ユーザー エージェントはフォーカス リングを描画するかどうかを独自に判断し、:focus-visible 疑似クラスがそれに応じて一致します。

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

強制カラー モードでモノクロームの絵文字のレンダリングを有効にします。

この変更により、強制カラーモードでの Chromium の絵文字レンダリングの動作が更新されます。計算値の解決時に、font-variant-emoji 値が normal または unicode に計算される絵文字は、使用可能な場合はモノクロ グリフを使用してレンダリングされます。

そのため、Chromium はカラー絵文字のレンダリングを抑制し、絵文字が強制カラーモードのパイプラインに完全に参加し、システムのハイコントラスト カラーを尊重するようにします。強制カラーモード以外の動作は変更されません。

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

非ルート スクロールでのオーバースクロール効果

これは、ルート以外のスクロール コンテナでのエラスティック オーバースクロール効果を示しています。ネストされたスクロール可能な要素がスクロール境界に達すると、オーバースクロール アフォーダンスはルート スクロールのみではなく、その要素に適用されます。これにより、カスタム JavaScript の回避策の必要性が軽減され、overscroll-behavior を使用して要素ごとに制御できます。

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

機能

Android で実際のウィンドウ位置を表示

Android 版 Chrome は、window.screenXwindow.screenYwindow.outerWidthwindow.outerHeight を使用して、ブラウザ ウィンドウの位置とサイズを正確にレポートします。

以前の Chrome では、Android のすべてのブラウザ ウィンドウが座標(0, 0)から開始されると誤って想定していました。この想定は、フリーフォーム ウィンドウ モードを使用する Android タブレットでは正しくありません。ウェブサイトが window.screenXwindow.screenY を使用してウィンドウの画面上の位置をクエリすると、常に 0 が返されていました。これらのフィールドには、ウィンドウの左上隅の座標がグローバル ワークエリアの座標空間に保存されます。

さらに、Android 版 Chrome では、ブラウザ ウィンドウの外側の寸法がウェブサイトのビューポートの内側の寸法と等しいと誤って想定していました。

window.screenXwindow.screenY には、window.screenLeftwindow.screenTop というエイリアスがあります。

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

JavaScript

Upsert

これは、Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed の ECMAScript 提案です。

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

Crash Reporting の Key-Value API

新しい Key-Value API window.crashReport は、Chrome がクラッシュ レポートに追加するデータを保持するドキュメントごとのマップによってサポートされています。

この API のバッキング マップに配置されたデータは、サイトでレンダラ プロセスのクラッシュが発生した場合に CrashReportBody で送信されます。これにより、アプリケーションのどの特定の状態が特定のクラッシュを引き起こしている可能性があるかをデバッグできます。

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

デフォルトでユーザー エージェント文字列を削減

Chrome 145 以降では、Chrome で UserAgentReduction ポリシーが削除されます。このポリシーは、Chrome が削減された User-Agent 文字列を送信するか、完全な User-Agent 文字列を送信するかを制御するために使用できました。

ユーザーのプライバシーを強化し、パッシブ トラッキングの可能性を低減するため、Chrome バージョン 110 以降、Chrome ではデフォルトで User-Agent ヘッダーに含まれる情報の削減が開始されました。UserAgentReduction ポリシーは、企業がこの移行を管理するための暫定的な対策として提供されました。

ウェブサイトがブラウザとデバイスの情報にアクセスする際の推奨メカニズムは、User-Agent Client Hints(UA-CH)です。UA-CH では、ウェブサイトが特定の情報を積極的にリクエストする必要があります。これは、従来のユーザー エージェント文字列よりもプライバシーを保護するアプローチです。詳しくは、web.dev の記事「User-Agent Client Hints への移行」をご覧ください。

Chrome 145 以降では、UserAgentReduction ポリシーは無効になります。Chrome はデフォルトで削減された User-Agent 文字列を送信します。このポリシーに依存して完全な(以前の)User-Agent 文字列を受け取っていたシステムやアプリケーションは、期待どおりの詳細情報を受け取れなくなる可能性があります。

ChromeStatus.com のエントリ

NavigationTransition には、ナビゲーションの古い URL を公開する from プロパティがあります。toNavigationDestination)を公開すると、この処理が完了します。これは、プリコミット ハンドラを使用する場合に特に便利です。プリコミット中には、現在の URL はまだ宛先に切り替わっていないためです。

navigation.transition は、インターセプトされたナビゲーション(つまり、同一オリジンのドキュメントによって開始されたナビゲーション)でのみ公開されます。

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

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

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

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

安全なお支払いの確認: UX の更新

Android Chrome の SPC ダイアログの UX 要素を更新します。

UX プレゼンテーションに加えて、以下が追加されます。

  • 販売者は、UX に表示される支払いに関連する支払いエンティティのロゴのリストを任意で指定できます。
  • ユーザーが SPC なしで取引を続行するか、取引をキャンセルするかによって、販売者に返される出力状態は異なります。どちらの場合も、単一の出力状態のみが送信されます。
  • お支払い方法に新しいお支払い情報のラベル フィールドが追加され、SPC でテキストが 2 行にわたって表示されるようになります。

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

Cookie Store API で Cookie を設定するときに maxAge を指定できます。

Cookie の有効期限は expires 属性を使用してすでに構成可能ですが、maxAge はより慣用的なオプションを提供し、Cookie Store APIdocument.cookieSet-Cookie HTTP ヘッダーによって提供されるオプションと一致させます。

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

折りたたまれていない選択範囲の削除コマンドの InputEvent タイプ

これにより、選択したテキストの削除キーボード ショートカットの正確な inputType 値がレポートされます。contenteditable 要素で選択されたテキストに対して Ctrl+BackspaceCtrl+Delete などの削除コマンドが使用されると、beforeinput イベントと input イベントは deleteWordBackwarddeleteWordForward ではなく deleteContentBackwarddeleteContentForward をレポートします。これにより、どのような編集オペレーションが発生したかを正しく理解し、信頼性の高い元に戻す、やり直す、カスタム編集動作を実装できます。

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

clipboardchange イベントのスティッキー アクティベーション

これには、スティッキー ユーザーの有効化または clipboardchange イベントを発生させる clipboard-read 権限が必要であり、不正なクリップボード モニタリングを防ぎます。

clipboardchange イベントは比較的新しく(Chrome 144)、ウェブに影響する変更は最小限です。ほとんどの場合、クリップボードのモニタリングが行われる場所(リモート デスクトップ クライアントなど)には、スティッキー ユーザー アクティベーションまたは clipboard-read 権限がすでに存在します。

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

マルチメディア

VideoFrame.metadata() を使用して WebRTC 動画フレームから rtpTimestamp を公開

基盤となる VideoFrame のネイティブ メタデータに rtpTimestamp フィールドがある場合に、そのフィールドを含む辞書を返す VideoFrame.metadata() メソッドを追加します。それ以外の場合は、空の辞書が返されます。WebRTC ソースから取得された動画フレームのみに rtpTimestamp メタデータが付加されます。

追加のメタデータ フィールドはネイティブ実装にすでに存在しており、提案された仕様で説明されているように、時間の経過とともに JavaScript に公開される可能性があります。

ChromeStatus.com のエントリ | 仕様

ストレージ

IndexedDB: SQLite バックエンド(インメモリ コンテキスト)

Chromium の IndexedDB 実装が SQLite 上に書き直され、LevelDB とフラット ファイルのハイブリッドを使用する以前の実装が置き換えられました。Web API に変更はありません。

これにより、信頼性が向上し、パフォーマンスも若干向上します。

これは、Chromium や Google Chrome のシークレット モードなどのインメモリ コンテキストにのみ適用されます。これにより、新しいバグの影響が制限され、ディスクに永続化された既存のデータを移行する必要性が延期されます。

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

パフォーマンス

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

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

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

パフォーマンス エントリに presentationTimepaintTime を追加

これにより、要素のタイミング、LCP、長いアニメーション フレーム、ペイントのタイミングで paintTimepresentationTime が公開されます。

paintTime は、レンダリング フェーズが終了し、ブラウザがペイント フェーズを開始した時点を意味します。presentationTime は「ピクセルが画面に到達した」時間を示します。これは実装によって多少異なります。

この機能エントリでは、イベントのタイミングは省略されています。イベントのタイミングは別途行われます。

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

LayoutShift API での CssPixels の使用

この機能により、LayoutShift API のアトリビューション データ(prevRectcurrentRect)が、物理ピクセルではなく CSS ピクセルでレポートされるようになります。この動作は、すべて CSS ピクセルを使用する他のレイアウト関連 API と一貫性がありません。この変更により、一貫性が向上し、使いやすさが向上し、デバッグとツールで想定される単位と一致します。

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

セキュリティ

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

デバイスにバインドされたセッション認証情報(DBSC)を使用すると、ウェブサイトはユーザーのセッションを特定のデバイスにバインドできます。これにより、盗まれたセッション Cookie を他のマシンで使用することが非常に困難になります。

ChromeStatus.com のエントリ | 仕様

Origin API

オリジンは、ウェブの実装の基本的なコンポーネントであり、ユーザー エージェントが維持するセキュリティとプライバシーの境界の両方にとって不可欠です。このコンセプトは、HTML と URL の間で明確に定義されており、サイトなどの隣接するコンセプトも広く使用されています。

ただし、オリジンはユーザーに直接公開されません。さまざまなオブジェクトにさまざまなオリジン ゲッターがありますが、それぞれがオリジン自体ではなく、オリジンの ASCII シリアル化を返します。これにはいくつかの悪影響があります。実際には、シリアル化されたオリジンを処理するときに同一オリジンまたは同一サイトの比較を試みると、脆弱性につながるような誤りが生じることがよくあります。哲学的には、正確にポリフィルするのが難しいセキュリティ プリミティブが欠落しているように見えます。

Chrome 145 では、オリジンのコンセプトをカプセル化し、比較、シリアル化、解析などの便利なメソッドを提供する Origin オブジェクトを導入することで、プラットフォームのこのギャップに対処します。

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

ローカル ネットワーク アクセスの分割権限

これはローカル ネットワーク アクセス(LNA)の制限の強化であり、Chrome は 1 つのローカル ネットワーク アクセス権限から必要な権限を 2 つの個別の権限に分割します。

古い権限は local-network-access です。新しい権限は、local-network(ローカル アドレス空間の IP への LNA リクエスト用)と loopback-network(ループバック アドレス空間の IP への LNA リクエスト用)です。

以前の権限はエイリアスとして保持され、permissions.queryPermissions Policy で引き続き機能します。エンタープライズ ポリシーは引き続き同じように機能します。より新しい、より詳細なエンタープライズ ポリシーは後で追加されます。

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

Trusted Types 仕様の調整

Trusted Types は、2019 年に Chromium で最初に実装され、リリースされて以来、多くのウェブサイトで使用されています。最近、他のブラウザ ベンダーからも注目を集めています。

Trusted Types 仕様は、元の実装とともに「モンキー パッチ」仕様として共同で作成されました。他のユーザーが同じ仕様を実装しようとしているため、新たな注目を集めています。HTML + DOM(および CSP の一部)に「アップストリーム」されています。このプロセスの一環として、さまざまな不整合が特定され、修正されています。これらの修正の一部はデベロッパーが確認できる可能性があります。このインテントは、HTML にアップストリームされる仕様に合わせて実装を更新することです。

一方、WebKit は更新された Trusted Types 仕様の実装を開始しており、Chrome はこのアップデートがウェブとの互換性が高いと確信しています。

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

グラフィック

WebGPU: subgroup_uniformity 機能

これにより、均一性分析に新しいスコープが追加され、各スコープでチェックされる言語の部分が変更され、より多くのケースでサブグループ機能が均一と見なされるようになります。

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

独立したウェブアプリ

WebRequest.SecurityInfoControlled Frame

この機能では、ControlledFrameWebRequest.SecurityInfo API が導入されています。これにより、ウェブアプリはサーバーへの HTTPS、WSS、または WebTransport リクエストをインターセプトし、サーバーの証明書のフィンガープリント(ブラウザで検証済み)を取得して、そのフィンガープリントを使用して同じサーバーへの別の生の TCP/UDP 接続の証明書を手動で検証できます。これにより、アプリが正しいサーバーと通信していることを確認する方法が提供されます。

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

オリジン トライアル

メモリセーフな純粋な Rust デコーダである jxl-rs を使用して、Blink で JPEG XL(image/jxl)画像をデコードするサポートを追加します。

JPEG XL は、ISO/IEC 18181 として標準化された最新の画像形式で、次の機能を提供します。

  • 読み込みパフォーマンスの体感向上を目的としたプログレッシブ デコード。
  • 広色域、HDR、高ビット深度のサポート。
  • アニメーションのサポート。

この実装では、Chromium のメモリ安全性の要件を満たすために、C++ libjxl リファレンス デコーダではなく jxl-rs を使用します。デコーダは enable-jxl-image-format フラグと enable_jxl_decoder ビルドフラグの背後にゲートされています。

ChromeStatus.com のエントリ

WebAudio: 構成可能なレンダリング量子

AudioContextOfflineAudioContext でオプションの renderSizeHint を受け取るようになりました。これにより、整数が渡されたときに特定のレンダリング量子サイズをリクエストしたり、何も渡されなかった場合や default が渡された場合にデフォルトの 128 フレームを使用したり、hardware が指定された場合に User-Agent に適切なレンダリング量子サイズを選択するようリクエストしたりできるようになります。

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

非推奨と削除

macOS での古い仮想カメラのサポートを削除

Chrome では、サポート対象のすべての macOS リリースで、古い仮想カメラのサポートを終了します。

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

BMP に JPEG または PNG を埋め込むための BMP 拡張機能を削除

Chrome では、BMP に JPEG または PNG を埋め込むための BMP 拡張機能が削除されます。

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