公開日: 2024 年 11 月 13 日
特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能について詳しくは、リンク先をご覧いただくか、ChromeStatus.com のリストをご覧ください。Chrome 132 は 2024 年 11 月 13 日時点でベータ版です。最新版は、パソコンの場合は Google.com、Android の場合は Google Play ストアからダウンロードできます。
CSS
今回のリリースでは、2 つの新しい CSS 機能を追加しました。
CSS Anchor Positioning: inset プロパティと margin プロパティで anchor-size() を許可
当初、anchor-size() はサイズ設定プロパティでのみ使用できました。インセットとマージンでも anchor-size() を使用できるように仕様が変更されました。
CSS の横書きモード
writing-mode CSS プロパティの sideways-rl キーワードと sideways-lr キーワードのサポート。sideways-rl と sideways-lr は、CJK 以外のテキストを縦書きするのに役立ちます。vertical-rl や vertical-lr とは異なり、CJK 言語に有利な動作はしません。
ウェブ API
すべての画面のキャプチャ
getAllScreensMedia() を使用して、現在デバイスに接続されているすべての画面をキャプチャします。
getDisplayMedia() を複数回呼び出すには、ユーザーが複数回操作する必要があり、ユーザーは毎回次の画面を選択しなければなりません。また、すべての画面が選択されたことをアプリに保証することもできません。getAllScreensMedia() メソッドは、これらのすべての面で改善されています。
この機能はパソコン版でのみリリースされます。
ダイアログの切り替えイベント
<dialog> 要素が開閉したタイミングを知ることは有用です。popover には、ポップオーバーが開閉したときにディスパッチされる ToggleEvent がすでに存在します。以前は、<dialog> が開いたことを検出するには、開いているかどうかを確認するためにミューテーション オブザーバーを登録する必要がありましたが、イベントの方が簡単です。
この変更では、ポップオーバーがディスパッチするのと同じ ToggleEvent が組み込まれますが、<dialog> 要素の場合、showModal または show が呼び出されると、<dialog> は newState=open を含む ToggleEvent をディスパッチします。<dialog> が閉じられたとき(フォーム、ボタン、closewatcher を使用)、newState=closed を含む ToggleEvent をディスパッチする必要があります。
要素のキャプチャ
タブキャプチャを開始するために既存の手段で取得された動画 MediaStreamTrack がある場合、要素キャプチャでは、指定された要素から始まる DOM のサブツリーのみをキャプチャするようにトラックを変更できます。
この API は Region Capture API と似ていますが、遮られているコンテンツと遮っているコンテンツの両方がキャプチャから除外されるため、アプリの柔軟性が高まります。
FedCM 認証機能
これは、ユーザーが RP にカレンダーへのアクセスを許可するなど、認証フローを実装するために ID プロバイダ(IdP)が使用できるいくつかの機能をバンドルしたものです。詳細:
- IdP は、権限(継続 API)のカスタム プロンプトを表示できる必要があります。
- RP は、アクセスを必要とするもの(パラメータ API)を IdP に伝えるための拡張可能な方法を必要とします。
- この状況では、RP は異なる情報(フィールド API)を要求しているため、IdP が「名前、メールアドレス、プロフィール写真」を共有することを参照するテキストをカスタマイズまたは非表示にできる必要があります。
- IdP は、認可フローを実装するために別のエンドポイント(複数の configURL)を使用することがあります。
- 一部のアカウントは認証と認可のフローのいずれかのみの対象となる場合があるため、2 つのフローで異なるアカウントを表示する方法が必要です(アカウント ラベル API)。
FedCM Mode API と Use Other Account API
FedCM の 2 つの新しい拡張機能:
- モード:
activeモードでは、ウェブサイトがボタンクリック([IdP にログイン] ボタンのクリックなど)内で FedCM を呼び出すことができます。この場合、FedCM は常に表示可能なユーザー インターフェースで応答することを保証する必要があります。アクティブ モードで FedCM API を呼び出すと、ユーザーがログアウトしている場合に、ユーザーは ID プロバイダ(IdP)にログインするよう求められます。また、アクティブ モードは明示的なユーザー操作内で呼び出されるため、パッシブ モードの UI(ユーザー操作の要件がなく、ページ読み込み時に呼び出すことができる)と比較して、UI がより目立つようになっています(中央に表示されるモーダルなど)。 - 別のアカウントを使用: この拡張機能を使用すると、IdP はユーザーが他のアカウントにログインできるようにします。
取得: Request.bytes() と Response.bytes()
Request インターフェースと Response インターフェースに bytes() メソッドを追加します。このメソッドは、Uint8Array で解決される Promise を返します。Request と Response には arrayBuffer() メソッドがありますが、バッファから直接読み取ることはできません。読み取るには、Uint8Array などのビューを作成する必要があります。bytes() メソッドは、リクエストとレスポンスの本文を取得する際の操作性を向上させます。
Android と WebView のファイル システムへのアクセス
この API を使用すると、デベロッパーはデバイスのファイル システムを使用して、ユーザーのデバイス上の他の(ウェブ以外の)アプリとやり取りする強力なアプリを構築できます。ユーザーがウェブアプリにアクセス権を付与すると、この API を使用して、ユーザーが選択したファイルやフォルダの変更を直接読み取ったり保存したりできます。この API は、ファイルの読み取りと書き込みだけでなく、ディレクトリを開いてその内容を列挙したり、ファイルとディレクトリのハンドルを IndexedDB に保存して後で同じコンテンツにアクセスしたりする機能も提供します。
ファイル システム アクセスは、Chrome 86 でデスクトップ向けにリリースされ、Chrome 132 で Android と WebView で利用できるようになりました。
localhost の Strict-Transport-Security を無視する
Strict-Transport-Security(STS)レスポンス ヘッダーは、すべてのポートにホスト全体で適用されるため、localhost ウェブサーバーで問題が発生する可能性があります。これにより、ローカルでテストを行うウェブ デベロッパーに互換性の問題が発生します。また、一時的な理由で localhost ウェブサーバーを起動するソフトウェア パッケージを使用するエンドユーザーにも影響します。たとえば、ウェブログインからローカル ソフトウェア パッケージへの認証トークンの通信などです。ローカル リスナーが localhost レスポンスで Strict-Transport-Security を設定すると、ポートに関係なく、後続のすべての localhost リクエストに適用されます。
Chrome 132 では、localhost URL からのレスポンスで Strict-Transport-Security ヘッダーを無視することで、この問題を解決しています。
キーボードでフォーカス可能なスクロール コンテナ
この機能のロールアウト(Chrome 130 から)は、ユーザー補助機能での回帰により停止されました。この問題は修正され、Chrome 132 で機能のロールアウトが継続されます。
Private State Token API の権限に関するポリシーのデフォルトの許可リストのワイルドカード
Private State Token API へのアクセスは、Permissions Policy 機能によって制御されます。Chrome 132 では、private-state-token-issuance 機能と private-state-token-redemption 機能の両方のデフォルトの許可リストが self から *(ワイルドカード)に更新されます。
PushMessageData::bytes()
PushMessageData インターフェースは Body インターフェースを模倣しています。Body インターフェースは、API は一般的にバイトバッファを Uint8Arrays として販売すべきであるという原則に従い、今年初めに新しい bytes() メソッドで修正されました。Chrome 132 では、PushMessageData インターフェースにも bytes() アクセサを提供することで、Body インターフェースとの整合性を保っています。
sharedStorage.selectURL の保存済みクエリ
sharedStorage.selectURL() では、クエリをページ単位で保存して再利用できるようになりました。保存したクエリが初めて実行されたときに、ページ読み込みごとの 2 つの予算が課金されますが、同じページ読み込み中に保存したクエリが再度実行された場合は課金されません。これは、クエリに名前を付ける selectURL() のオプションの savedQuery パラメータを使用して実現されます。
アクティブでないドキュメントのポップオーバーとダイアログで例外をスロー
これまで、非アクティブなドキュメント内に存在するポップオーバーまたはダイアログでの showPopover() または showModal() の呼び出しは、エラーを返さずに失敗していました。例外はスローされませんが、ドキュメントが非アクティブであるため、ポップオーバーやダイアログは表示されません。Chrome 132 以降では、このような状況で InvalidStateError がスローされるようになりました。
WebAuthn Signal API
WebAuthn の利用者が既存の認証情報に関する情報を認証情報ストレージ プロバイダに通知できるようにします。これにより、誤った認証情報や取り消された認証情報をプロバイダとシステム UI から更新または削除できます。
詳しくは、Chrome デスクトップのパスキー用 Signal API をご覧ください。
WebGPU: 32 ビット浮動小数点テクスチャのブレンド
float32-blendable GPU 機能により、r32float、rg32float、rgba32float 形式の GPU テクスチャをブレンドできるようになります。
WebGPU: GPUDevice から GPUAdapterInfo を公開
GPUDevice adapterInfo 属性は、GPUAdapter オブジェクトと同じ GPUAdapterInfo を公開します。
WebGPU: テクスチャ ビューの使用状況
WebGPU テクスチャ ビューの作成にオプションのフィールドを追加し、ソース テクスチャから用途フラグのサブセットをリクエストできるようにします。
デフォルトでは、テクスチャ ビューの使用状況はソース テクスチャから継承されますが、継承された使用状況の完全なセットと互換性のないビュー形式があります。テクスチャ ビューの作成に使用フィールドを追加することで、ユーザーはビュー形式で有効なソース テクスチャの使用法のサブセットをリクエストし、テクスチャ ビューの意図した使用法に固有のものにすることができます。
WebGPU 実装では、低レベル リソースの作成を最適化し、より特殊な使用フラグを含むビューを使用する際のパフォーマンスを向上させることもできます。
新しいオリジン トライアル
Chrome 132 では、次の新しいオリジン トライアルに参加できます。
Document-Isolation-Policy
Document-Isolation-Policy を使用すると、ドキュメントは COOP や COEP をデプロイすることなく、ページの crossOriginIsolation ステータスに関係なく、自身に対して crossOriginIsolation を有効にできます。このポリシーはプロセス分離によってサポートされています。また、ドキュメントの非 CORS クロスオリジン サブリソースは、認証情報なしで読み込まれるか、CORP ヘッダーが必要になります。
マジック コメントを使用した明示的なコンパイル ヒント
この機能を使用すると、JavaScript ファイルでどの関数を積極的に解析してコンパイルするかに関する情報を付加できます。情報はマジック コメントとしてエンコードされます。
非推奨と削除
このバージョンの Chrome では、以下の非推奨と削除が導入されています。計画されている非推奨、現在の非推奨、以前の削除の一覧については、ChromeStatus.com をご覧ください。
このリリースの Chrome では、2 つの機能が削除されています。
navigator.storage が EventTarget でなくなった
navigator.storage は、プロトタイプ段階を過ぎることがなかったストレージ プレッシャー イベントの EventTarget になりました。このデッドコードは削除されるため、navigator.storage は EventTarget を拡張しなくなります。
接頭辞付きの HTMLVideoElement 全画面 API を削除
接頭辞付きの HTMLVideoElement 全画面 API は Chrome で非推奨になりました
これらは、2018 年に Chrome 71 で接頭辞なしで初めてリリースされた Element.requestFullscreen() API に置き換えられました。2024 年現在、ほとんどのブラウザでは、接頭辞のない API が数年前からサポートされています。
Chrome 132 では、HTMLVideoElement から次のものが削除されます。
webkitSupportsFullscreen属性。webkitDisplayingFullscreen属性。webkitEnterFullscreen()メソッド。webkitExitFullscreen()メソッド。FullScreen の「S」が大文字と小文字で区別されることにご注意ください。webkitEnterFullScreen()メソッド。webkitExitFullScreen()メソッド。
これらのメソッドは、最新 API のエイリアスとしてのみ存在しており、年々使用されることが少なくなっています。