安定版リリース日: 2025 年 6 月 24 日
特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの Chrome 138 Stable チャンネル リリースに適用されます。
CSS と UI
CSS 符号関連関数: abs()
、sign()
符号関連の関数 abs()
と sign()
は、引数の符号に関連するさまざまな関数を計算します。
abs(A)
関数には 1 つの計算 A が含まれており、入力と同じ型で A の絶対値を返します。A の数値が正または 0⁺ の場合は A を返し、それ以外の場合は -1 * A を返します。
sign(A)
関数には 1 つの計算 A が含まれており、A の数値が負の場合は -1、正の場合は +1、0⁺ の場合は 0⁺、0⁻ の場合は 0⁻ を返します。戻り値の型は <number>
で、入力計算の型と一致しています。
MDN Docs:abs() | トラッキング バグ #40253181 | ChromeStatus.com のエントリ | 仕様
補間進行状況の関数表記: CSS progress()
関数
progress()
関数表記は、2 つの計算(進行状況の開始値と進行状況の終了値)の間の 1 つの計算(進行状況の値)の位置を表す <number>
値を返します。progress()
関数は数学関数です。
トラッキング バグ #40944203 | ChromeStatus.com のエントリ | 仕様
CSS sibling-index()
と sibling-count()
sibling-index()
関数と sibling-count()
関数は、CSS プロパティ値で整数として使用して、兄弟要素間の位置または兄弟要素の総数に基づいて要素のスタイルを設定できます。これらの関数は整数値として直接使用できますが、calc()
式内で使用するとさらに興味深い結果が得られます。
バグ #40282719 をトラッキング | ChromeStatus.com のエントリ | 仕様
CSS stretch
サイズ設定キーワード
要素が包含ブロックの利用可能なスペースを完全に埋めるように拡大できる CSS サイズ設定プロパティ(width
や height
など)のキーワード。結果のサイズが box-sizing
で示されたボックスではなく、要素のマージン ボックスに適用される点を除き、「100%」と似ています。このキーワードを使用すると、要素はマージンを維持しながら、可能な限り大きく表示されます。-webkit-fill-available
の接頭辞なしバージョン。
トラッキング バグ #41253915 | ChromeStatus.com のエントリ | 仕様
OS レベルのフォント スケール用の CSS env 変数
ユーザーが希望するフォント スケールを CSS に公開します。これがないと、ユーザーがオペレーティング システムの設定を使用して優先フォントサイズを変更したかどうかをページで検出することは実用的ではありません。この CSS 環境変数は、ユーザーが選択したスケールを反映します。
トラッキング バグ #397737223 | ChromeStatus.com のエントリ | 仕様
デバイス
Bluetooth 経由の Web Serial(Android)
この機能を使用すると、ウェブページとウェブアプリは Android デバイスから Bluetooth 経由でシリアルポートに接続できます。
Android 版 Chrome で、Bluetooth RFCOMM を介した Web Serial API がサポートされるようになりました。他のプラットフォームの既存のエンタープライズ ポリシー(DefaultSerialGuardSetting
、SerialAllowAllPortsForUrls
、SerialAllowUsbDevicesForUrls
、SerialAskForUrls
、SerialBlockedForUrls
)は、Android では future_on 状態で有効になります。この機能が有効になると、SerialAllowUsbDevicesForUrls
以外のすべてのポリシーが有効になります。SerialAllowUsbDevicesForUrls
は、Android が有線シリアルポートをシステムレベルでサポートした後、今後のリリースで有効になります。
トラッキング バグ #375245353 | ChromeStatus.com エントリ | 仕様
Viewport Segments Enumeration API
Viewport Segments API を使用すると、デベロッパーは折りたたみ式デバイスをターゲットとするようにウェブ レイアウトを調整できます。ビューポート セグメントは、ビューポートの論理的に分離された領域の位置と寸法を定義します。ビューポート セグメントは、ビューポートが 1 つ以上のハードウェア機能(折りたたみ式ディスプレイや、別々のディスプレイ間のヒンジなど)によって分割されたときに作成されます。セグメントは、デベロッパーが論理的に別個のものとして扱うことができるビューポートの領域です。
トラッキング バグ #1039050 | ChromeStatus.com エントリ | 仕様
JavaScript
QuotaExceededError
を DOMException
派生インターフェースに更新
以前は、ウェブ プラットフォームが割り当てを超えたことを通知する場合、特定の name
プロパティが QuotaExceededError
に設定された DOMException
を使用していました。ただし、追加情報を伝達することはできません。
これは、組み込みの DOMException
名前のリストから「QuotaExceededError」を削除し、代わりに組み込みの DOMException
のリストからクラス名 QuotaExceededError
を作成し、追加のオプション プロパティ quota
と requested
を持つことを提案しています。「QuotaExceededError」DOMException
をスローするすべての仕様のインスタンスを、QuotaExceededError
をスローするようにアップグレードすることを提案します。現時点では、このような仕様では quota
プロパティと requested
プロパティはデフォルト値の null
のままですが、ユースケースに役立つ(プライバシーの漏洩などではない)場合は、最終的にそのデータを含めるようにアップグレードされる可能性があります。
ウェブ API
Translator API
ウェブページに言語翻訳機能を提供する JavaScript API。ブラウザで言語翻訳機能を提供するケースは増加しています。そのため、こうした翻訳機能はウェブ デベロッパーにとっても有用です。特に、ブラウザに組み込みの翻訳機能では不十分な場合に活用できます。エンタープライズ ポリシー(GenAILocalFoundationalModelSettings
)を使用して、基盤となる言語モデルのダウンロードを無効にできます。その場合、この API は使用できなくなります。
MDN Docs | トラッキング バグ #322229993 | ChromeStatus.com エントリ | 仕様
Language Detector API
テキストの言語を検出するための信頼性の高い JavaScript API。
言語の検出は、翻訳機能を補完する重要な機能です。これは翻訳と組み合わせて使用できます。たとえば、ユーザーの入力言語が不明の場合も、言語を検出して特定のターゲット言語に翻訳します。現在、多くのブラウザには言語検出機能がすでに備わっています。Google は、JavaScript API を通じてウェブ デベロッパーにこの機能を提供し、翻訳 API を補完します。エンタープライズ ポリシー(GenAILocalFoundationalModelSettings
)を使用して、基盤となる言語モデルのダウンロードを無効にできます。その場合、この API は使用できなくなります。
MDN Docs | ChromeStatus.com エントリ | 仕様
Summarizer API
Summarizer API は、AI 言語モデルを基盤として入力テキストの要約を作成する JavaScript API です。現在、ブラウザとオペレーティング システムが言語モデルにアクセスする必要性が増しています。この組み込みモデルの公開により、各ウェブサイトが数ギガバイトの言語モデルを独自にダウンロードしたり、入力テキストをサードパーティの API に送信したりする必要がなくなります。特に、summarizer API は、さまざまなユースケースの入力を要約(GitHub)するために、指定された特定言語のモデルに依存しない方法で言語モデルとやり取りするための高度な API を公開します。エンタープライズ ポリシー(GenAILocalFoundationalModelSettings
)を使用して、基盤となる言語モデルのダウンロードを無効にできます。その場合、この API は使用できなくなります。
MDN Docs | トラッキング バグ #351744634 | ChromeStatus.com のエントリ | 仕様
シリアル化時に属性の <
と >
をエスケープ
シリアル化時に属性の値の <
と >
をエスケープします。
これにより、属性の値がシリアル化されて再解析された後に開始タグトークンとして解釈される場合に発生するミューテーション XSS 攻撃のリスクが軽減されます。
Crash Reporting API: is_top_level
と visibility_state
この機能により、クラッシュ レポートのデフォルトのレポート エンドポイントに送信されるクラッシュ レポート API の本文に is_top_level
と visibility_state
の文字列フィールドが追加されます。
再登録時に pushsubscriptionchange
イベントを送信する
プッシュ サブスクリプションが過去に存在していたが、権限の変更(許可から拒否/デフォルト)により取り消されたオリジンに対して、通知権限が再度付与された場合、サービス ワーカーで pushsubscriptionchange
イベントを発生させます。
イベントは、oldSubscription と newSubscription が空の状態で発生します。
バグ #407523313 をトラッキング | ChromeStatus.com のエントリ | 仕様
マルチメディア
WebCodecs に動画フレームの向きのメタデータのサポートを追加
WebCodecs のさまざまな動画関連インターフェースに rotation: int
値と flip: bool
値を導入し、デベロッパーが向きのあるフレームソース(Android カメラ、特定のメディアなど)を扱えるようにします。
VideoFrame
インターフェースは、任意の回転と反転で VideoFrames
を作成する機能と、VideoFrame オブジェクトのこの情報へのアクセサを拡張します。
VideoDecoderConfig
オブジェクトは、デコードされた VideoFrame オブジェクトで自動的に出力される回転フィールドと反転フィールドを取得します。
VideoEncoder
クラスは、encode()
から EncodedVideoChunkMetadata
の一部として出力される VideoDecoderConfig
に回転と反転の情報を渡すメカニズムを獲得します。異なる向きのフレームで encode()
が呼び出されると、致命的でない例外がスローされます。configure()
は、許可された向きをリセットするために使用されることがあります。
トラッキング バグ #40243431 | ChromeStatus.com エントリ | 仕様
パフォーマンス
prefetchCache
と prerenderCache
を Clear-Site-Data
ヘッダーに追加
デベロッパーがプリレンダリングとプリフェッチのキャッシュのクリアをターゲットにできるように、Clear-Site-Data
ヘッダーに 2 つの新しい値("prefetchCache"
と "prerenderCache"
)が追加されました。
トラッキング バグ #398149359 | ChromeStatus.com のエントリ | 仕様
推測ルール: target_hint
フィールド
これにより、投機的ルールの構文が拡張され、デベロッパーが target_hint フィールドを指定できるようになります。
このフィールドは、プリレンダリングされたページが最終的にアクティブになるナビゲート可能なターゲットを示すヒントを提供します。たとえば、ヒントとして _blank が指定されている場合、window.open() で開かれたナビゲーション可能なページに対して、プリレンダリングされたページを有効にできます。このフィールドはプリフェッチには影響しません。
仕様では、このフィールドはナビゲーション可能なターゲット名またはキーワードとして有効な任意の文字列を値として受け入れることができますが、このリリースでは "_self"
または "_blank"
のいずれか 1 つの文字列のみがサポートされます。ヒントが指定されていない場合は、"_self"
が指定されている場合と同様に扱われます。
トラッキング バグ #40234240 | ChromeStatus.com のエントリ | 仕様
セキュリティ
スクリプトの完全性ポリシー
Subresource-Integrity(SRI)を使用すると、デベロッパーは読み込む予定のアセットが実際に読み込まれていることを確認できます。しかし、デベロッパーがすべてのスクリプトが SRI を使用して検証されることを確認する方法は、現時点では存在しません。
Integrity-Policy
ヘッダーを使用すると、デベロッパーは特定のタイプのリソースごとに完全性チェックが必要であることを表明できます。そのタイプのリソースが完全性メタデータなしで読み込まれようとすると、その試行は失敗し、違反レポートがトリガーされます。
Service Worker
Speculation Rules Prefetch の ServiceWorker サポート
この機能により、ServiceWorker によって制御されるプリフェッチ(Service Worker によって制御される URL への投機ルールのプリフェッチ)が可能になります。以前は、制御する Service Worker が検出されるとプリフェッチがキャンセルされ、プリフェッチ ターゲットに対する以降のナビゲーションは、プリフェッチ以外のパスから提供されていました。この機能により、プリフェッチ リクエストが Service Worker のフェッチ ハンドラを経由できるようになります。Service Worker のインターセプトを含むレスポンスがプリフェッチ キャッシュにキャッシュ保存され、以降のナビゲーションでは、プリフェッチ キャッシュから提供されます。この機能を制御するには、エンタープライズ ポリシー PrefetchWithServiceWorkerEnabled
を使用します。
トラッキング バグ #40947546 | ChromeStatus.com のエントリ | 仕様
非推奨と削除
WebGPU: GPUAdapter
isFallbackAdapter
属性を非推奨に
GPUAdapterInfo
isFallbackAdapter
ブール値属性と重複している WebGPU の GPUAdapter
isFallbackAdapter
ブール値属性を非推奨にします。
フォールバック アダプタのサポートはどのブラウザにもまだ実装されていないため、この削除はマイナーな互換性のない変更です。これにより、isFallbackAdapter
属性は常に falsy 値を返します。
トラッキング バグ #409259074 | ChromeStatus.com のエントリ | 仕様
Media Source 拡張機能の非同期の範囲削除が非推奨になる
Media Source の規格は以前に変更され、非同期の範囲削除に関連する曖昧に定義された動作が禁止されるようになりました。
SourceBuffer.abort()
がSourceBuffer.remove()
オペレーションを中止しなくなりました。MediaSource.duration
の設定で、現在バッファに保存されているメディアを切り捨てることができなくなりました。
現在、どちらの場合も例外がスローされます。
Safari と Firefox では長い間この動作が実装されていましたが、Chromium はこの古い動作を残している最後のブラウザです。使用カウンタによると、非推奨の動作が発生するページ読み込みはおよそ 0.001% ~ 0.005% です。この問題が発生したサイトでは、再生が中断される可能性があります。
abort()
による削除のキャンセルの使用は増加しているため、互換性のない使用がさらに発生する前に、この非推奨を解決することをおすすめします。