Chrome 140 ベータ版

公開日: 2025 年 8 月 6 日

特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能について詳しくは、提供されているリンクまたは ChromeStatus.com のリストをご覧ください。2025 年 8 月 6 日の時点で、Chrome 140 はベータ版です。最新版は、デスクトップの場合は Chrome の公式ウェブサイトから、Android の場合は Google Play ストアからダウンロードできます。

CSS と UI

CSS の型付き算術演算

型付き算術演算を使用すると、calc(10em / 1px)calc(20% / 0.5em * 1px) などの式を CSS で記述できます。これは、たとえばタイポグラフィで、型付きの値を型なしの値に変換して、数値を受け入れるプロパティに再利用する場合に便利です。別のユースケースとして、単位のない値を別の型で乗算することもできます。たとえば、ピクセルから度数にキャストできます。

scroll-target-group プロパティ

scroll-target-group プロパティは、要素がスクロール マーカー グループ コンテナであるかどうかを指定します。次のいずれかの値を受け入れます。

  • 'none': 要素はスクロール マーカー グループ コンテナを確立しません。
  • 'auto': 要素はスクロール マーカー グループ コンテナを確立し、これが最も近い祖先スクロール マーカー グループ コンテナであるすべてのスクロール マーカー要素を含むスクロール マーカー グループを形成します。

スクロール マーカー グループ コンテナを確立すると、このようなコンテナ内のフラグメント識別子を持つアンカー HTML 要素は、::scroll-marker 疑似要素の HTML と同等になります。スクロール ターゲットが現在表示されているアンカー要素は、:target-current 疑似クラスを使用してスタイルを設定できます。

content プロパティの代替テキストで counter()counters() を有効にする

この機能により、content プロパティの代替テキストで counter()counters() を使用できるようになります。これにより、より意味のある情報を提供してユーザー補助機能を改善できます。

ビュー遷移疑似要素がより多くのアニメーション プロパティを継承する

ビュー遷移疑似ツリーが、次のアニメーション プロパティを継承するようになりました。

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

ネストされたビュー遷移を有効にする

この機能により、ビュー遷移でフラットな疑似要素ツリーではなく、ネストされた疑似要素ツリーを生成できます。これにより、ビュー遷移が元の要素と視覚的な意図により沿ったものになります。クリッピング、ネストされた 3D 変換、不透明度、マスキング、フィルタなどの効果の適切な適用が可能になります。

ルートからビューポートの overscroll-behavior を伝播する

この変更により、body ではなくルートから overscroll-behavior が伝播されます。CSS Working Group は、<body> から ビューポートにプロパティを伝播しないことを決定しました。代わりに、ビューポートのプロパティはルート (<html>)要素から伝播されます。そのため、overscroll-behavior はルート要素から伝播される必要があります。ただし、Chrome には、ルートではなく <body> から overscroll-behavior を伝播するという長年の問題があります。この動作は他のブラウザと相互運用できません。この変更により、Chrome は仕様に準拠し、他の実装と相互運用できるようになります。

ScrollIntoView コンテナ オプション

ScrollIntoViewOptions コンテナ オプションを使用すると、デベロッパーは最も近い祖先スクロール コンテナのみをスクロールする scrollIntoView 操作を実行できます。たとえば、次のスニペットでは、target のスクロール コンテナのみをスクロールして target を表示しますが、すべてのスクロール コンテナをビューポートにスクロールしません。

target.scrollIntoView({container: 'nearest'});

CSS caret-animation プロパティを追加する

Chromium は caret-color プロパティのアニメーションをサポートしています。ただし、アニメーション化すると、キャレットのデフォルトの点滅動作がアニメーションを妨げます。

CSS caret-animation プロパティには、automanual の 2 つの値があります。 auto はブラウザのデフォルト(点滅)を意味し、manual はデベロッパーがキャレット アニメーションを制御することを意味します。また、点滅するビジュアルに不快感や悪影響を感じるユーザーは、ユーザー スタイルシートで点滅を無効にできます。

highlightsFromPoint API

highlightsFromPoint API を使用すると、デベロッパーはカスタム ハイライトを操作できます。ドキュメント内の特定のポイントに存在するハイライトを検出します。このインタラクティビティは、複数のハイライトが重複したり、シャドウ DOM 内に存在したりする複雑なウェブ機能で役立ちます。正確なポイントベースのハイライト検出を提供することで、デベロッパーはカスタム ハイライトとの動的なインタラクションをより効果的に管理できます。たとえば、デベロッパーは、ハイライト表示された領域でのユーザーのクリックやホバーイベントに応答して、カスタム ツールチップ、コンテキスト メニュー、その他のインタラクティブ機能を表示できます。

ビュー遷移の終了 Promise のタイミングを変更する

現在の終了プロミスのタイミングは、レンダリング ライフサイクルのステップ内で行われます。つまり、Promise の解決の結果として実行されるコードは、ビュー遷移を削除するビジュアル フレームが生成された後に実行されます。スクリプトがスタイルを移動して視覚的に類似した状態を維持する場合、アニメーションの最後にちらつきが発生することがあります。この変更では、ViewTransition のクリーンアップ ステップをライフサイクルの完了後に非同期で実行することで、この問題を解決します。

ToggleEvent ソース属性を追加する

ToggleEventsource 属性には、ToggleEvent の発生をトリガーした要素が含まれます(該当する場合)。たとえば、ユーザーが <button> 要素をクリックしてポップオーバーを開くと、popovertarget または commandfor 属性が設定された ポップオーバーで発生した ToggleEvent の source 属性は、呼び出し元の <button> に設定されます。

SVG foreignObject が blob URL のキャンバスを汚染しないようにする

すべてのブラウザは、HTML キャンバス drawImage 操作で SVG ソースを含む <img> 要素の使用を長らくサポートしてきました。ただし、キャンバスの汚染動作はプラットフォームによって異なります。SVG ソースに foreignObject タグが含まれていて、HTTP URI で参照されている場合、すべてのブラウザでキャンバスが汚染されます。同じ SVG がデータ URI を介して参照されている場合、すべてのブラウザでキャンバスが汚染されません。 ただし、blob URI が使用されている場合、Chromium(この変更前)と WebKit の両方でキャンバスが汚染されますが、Gecko では汚染されません。この機能がリリースされると、Chromium の動作は Gecko の動作と一致し、汚染することなく、より広範な SVG コンテンツをキャンバスの drawImage 呼び出しで使用できるようになります。

@font-face rulefont-variation-settings ディスクリプタをサポートする

CSS を使用すると、デベロッパーは個々の要素の font-variation-settings プロパティを使用して、フォントの太さ、幅、傾斜などの軸を調整できます。ただし、Chromium ベースのブラウザでは、@font-face 宣言内でこのプロパティがサポートされていません。この機能では、CSS Fonts Level 4 で定義されている font-variation-settings の文字列ベースの構文がサポートされます。仕様に従って、無効または認識されない機能タグは無視されます。バイナリ形式や標準外の形式はサポートされていません。パフォーマンスとタイポグラフィの柔軟性の両方から、可変フォントの採用が広がっています。Chromium でこの記述子のサポートを追加することで、制御が強化され、繰り返しが減り、ウェブ タイポグラフィに対するよりスケーラブルで最新のアプローチがサポートされます。

ウェブ API

Uint8Array を base64 と hex に変換する、または base64 と hex から変換する

Base64 は、任意のバイナリデータを ASCII で表現する一般的な方法です。JavaScript には、バイナリデータ用の Uint8Arrays があります。ただし、そのデータを base64 でエンコードしたり、base64 データを取得して対応する Uint8Array を生成したりする組み込みメカニズムはありません。この機能により、16 進文字列と Uint8Arrays の間で変換を行う機能とメソッドが追加されます。

ReadableStreamBYOBReader min オプションを使用する

この機能では、既存の ReadableStreamBYOBReader.read(view) メソッドに min オプションが導入されます。このメソッドは、データの読み取り先の ArrayBufferView をすでに受け入れていますが、読み取りが解決されるまでに書き込まれる要素の数は保証されていません。min 値を指定すると、読み取りを解決する前に、ストリームが少なくともその数の要素が使用可能になるまで待機するように要求できます。これにより、ビューに保持できる要素よりも少ない要素で読み取りが解決される可能性がある現在の動作が改善されます。

場合によっては、サーバー側で、サーバーによって設定された Cookie とクライアントによって設定された Cookie を区別することが重要になります。このようなケースの 1 つに、通常は常にサーバーによって設定される Cookie があります。ただし、予期しないコード(XSS エクスプロイト、悪意のある拡張機能、混乱したデベロッパーによるコミットなど)によって、クライアントに設定される可能性があります。この提案では、サーバーがこのような区別を行えるようにするシグナルを追加します。具体的には、__Http プレフィックスと __HostHttp プレフィックスを定義します。これにより、スクリプトを使用してクライアント側で Cookie が設定されないようにします。

ローカル ネットワーク アクセスの制限

Chrome 140 では、ユーザーのローカル ネットワークへのリクエストを行う機能が制限され、権限プロンプトが必要になります。ローカル ネットワーク リクエストとは、パブリック ウェブサイトからローカル IP アドレスまたはループバックへのリクエスト、あるいはローカル ウェブサイト(イントラネットなど)からループバックへのリクエストを指します。ウェブサイトがこれらのリクエストを実行する機能を権限によって制限することで、ルーターなどのローカル ネットワーク デバイスに対するクロスサイト リクエスト フォージェリ攻撃のリスクを軽減できます。また、サイトがこれらのリクエストを使用してユーザーのローカル ネットワークのフィンガープリントを生成する機能を制限できます。この権限は安全なコンテキストに制限されています。権限が付与された場合、ローカル ネットワーク リクエストの混合コンテンツ ブロックも緩和されます(さまざまな理由で、多くのローカル デバイスが公的に信頼されている TLS 証明書を取得できないため)。

詳しくは、ローカル ネットワーク アクセスの新しい権限プロンプトをご覧ください。

SharedWorker スクリプトが blob スクリプト URL のコントローラを継承できるようにする

仕様では、ワーカーは blob URL のコントローラを継承する必要があります。ただし、既存のコードでコントローラの継承が許可されるのは専用ワーカーのみで、共有ワーカーは許可されません。これにより、Chrome の動作が仕様に準拠するように修正されます。SharedWorkerBlobURLFixEnabled エンタープライズ ポリシーでこの機能を制御します。

ServiceWorkerStaticRouterTimingInfo を追加する

この機能では、ServiceWorker Static Routing API のタイミング情報が追加されます。この情報は、デベロッパーが使用できるように、ナビゲーション タイミング API とリソース タイミング API で公開されます。ServiceWorker は、特定の時点をマークするためのタイミング情報を提供します。

この機能では、Static Routing API に関連するタイミング情報が 2 つ追加されます。

  • RouterEvaluationStart: 登録されたルーター ルールとリクエストの照合を開始する時間。
  • CacheLookupStart: ソース が "cache" の場合にキャッシュ ストレージの検索を開始する時間。

また、この機能では、一致したルーター ソースと最終的なルーター ソースという 2 つのルーター ソース情報が追加されます。

Android でウェブ認証の条件付き作成を有効にする(リリースされていません)

独立したウェブアプリ

Controlled Frame API を導入する

この機能により、独立したウェブアプリ(IWA)でのみ使用できる Controlled Frame API が追加されます。他のプラットフォームの同様の名前の API と同様に、Controlled Frame を使用すると、に埋め込むことができない第三者のコンテンツを含むすべてのコンテンツを埋め込むことができます。<iframe>また、Controlled Frame では、API メソッドとイベントのコレクションを使用して、埋め込みコンテンツを制御できます。独立したウェブアプリについて詳しくは、独立したウェブアプリ の説明をご覧ください。

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

Chrome 140 では、次の新しい オリジン トライアルをオプトインできます。

clipboardchange イベントを追加する

clipboardchange イベントは、ウェブアプリまたはその他のシステム アプリケーションがシステム クリップボードの内容を変更するたびに発生します。これにより、リモート デスクトップ クライアントなどのウェブアプリで、クリップボードをシステム クリップボードと同期させることができます。JavaScript でクリップボードの変更をポーリングする効率的な代替手段となります。

着信通知を有効にする

この機能により、Notifications API が拡張され、インストールされた PWA が着信通知(通話スタイルのボタンと着信音を含む通知)を送信できるようになります。この拡張機能により、VoIP ウェブアプリでは、ユーザーが通話通知を認識して応答しやすくなるため、より魅力的なエクスペリエンスを作成できます。 また、この機能は、ネイティブ実装とウェブ実装の両方を持つアプリのギャップを埋めるのに役立ちます。

クラッシュ レポート Key-Value API を導入する

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

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

非推奨と削除

このバージョンの Chrome では、以下に示す非推奨と削除が導入されています。 計画されている非推奨、現在の非推奨、以前の削除の一覧については、ChromeStatus.com をご覧ください。

このリリースの Chrome では、1 つの機能が非推奨になりました。

一部の要素内における <h1> の特殊なフォントサイズ ルールの非推奨化

HTML 仕様には、<h1> タグが <article><aside><nav>、または <section> 要素内にネストされている場合の特殊なルールのリストが含まれています。

これらの特殊ルールはユーザー補助の問題を引き起こすため、サポートを終了しました。 具体的に言えば、ネストされた <h1> のフォントサイズを視覚的に縮小して <h2> のように見せかけているだけで、アクセシビリティ ツリーにはこの視覚的な変更が反映されていません。