Chrome 132 ベータ版

公開日: 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-rlsideways-lr は、CJK 以外のテキストを縦書きする場合に便利です。vertical-rlvertical-lr とは異なり、CJK 言語に適した動作はありません。

ウェブ API

すべての画面のキャプチャ

getAllScreensMedia() を使用して、現在デバイスに接続されているすべての画面をキャプチャします。

getDisplayMedia() を複数回呼び出すには、複数のユーザー操作が必要になり、ユーザーは毎回次の画面を選択する負担を負うことになります。また、すべての画面が選択されたことをアプリに保証するものではありません。getAllScreensMedia() メソッドでは、これらのすべての面で改善されています。

この機能はパソコンでのみご利用いただけます。

ダイアログの切り替えイベント

<dialog> 要素が開閉されるタイミングを知ることは有用です。popover には、ポップオーバーの開閉時にディスパッチされる ToggleEvent がすでにあります。以前は、<dialog> が開いたときに検出するには、ミューテーション オブザーバーを登録して開いているかどうかを確認する必要がありましたが、これはイベントを使用するよりも手間がかかります。

この変更により、ポップオーバーがディスパッチする ToggleEvent<dialog> 要素に組み込まれます。showModal または show が呼び出されると、<dialog>newState=openToggleEvent をディスパッチします。<dialog> が閉じられたとき(フォーム、ボタン、closewatcher を使用して)は、newState=closedToggleEvent をディスパッチする必要があります。

要素キャプチャ

タブキャプチャを開始するための既存の方法で取得した動画 MediaStreamTrack を指定すると、要素キャプチャではトラックを変更して、特定の要素から始まる DOM のサブツリーのみをキャプチャできます。

この API は Region Capture API と類似していますが、遮蔽するコンテンツと遮蔽されるコンテンツの両方がキャプチャから除外されるため、アプリケーションの柔軟性が向上します。

FedCM 認可機能

これは、ユーザーがカレンダーへのアクセスをリレーリング パーティ(RP)に許可できるようにするなど、ID プロバイダ(IdP)が認可フローを実装するために使用できるいくつかの機能をバンドルしたものです。詳細は以下のとおりです。

  • IdP は、権限のカスタム プロンプト(continuation API)を表示できる必要があります。
  • RP は、アクセス権をリクエストする対象を IdP に通知するための拡張可能な方法(parameters API)が必要です。
  • この状況では、RP は「名前、メールアドレス、プロフィール写真」を共有する IdP に関するテキストをカスタマイズまたは抑制できる必要があります。これは、RP が別の情報(fields API)をリクエストしているためです。
  • 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 を返します。RequestResponse には arrayBuffer() メソッドがありますが、バッファから直接読み取ることはできません。読み取るには、Uint8Array などのビューを作成する必要があります。bytes() メソッドは、リクエストとレスポンスの本文の取得の使い勝手を向上させます。

Android と WebView のファイル システムへのアクセス

この API を使用すると、デバイスのファイル システムを使用して、ユーザーのデバイス上の他の(ウェブ以外の)アプリとやり取りする強力なアプリをデベロッパーが構築できます。ユーザーがウェブアプリにアクセス権を付与すると、この API により、ユーザーが選択したファイルやフォルダにアプリが変更を直接読み取ったり保存したりできるようになります。この API は、ファイルの読み取りと書き込み以外にも、ディレクトリを開いてその内容を列挙する機能や、IndexedDB にファイルハンドルとディレクトリ ハンドルを保存して、後で同じコンテンツに再びアクセスする機能を提供します。

ファイル システムへのアクセス: Chrome 86 でパソコンにリリースされ、Chrome 132 で Android と WebView で利用可能になりました。

localhost の Strict-Transport-Security を無視する

Strict-Transport-Security(STS)レスポンス ヘッダーは、STS がホスト全体のすべてのポートに適用されるため、localhost ウェブサーバーで問題が発生する可能性があります。これにより、ローカルでテストするウェブ デベロッパーに互換性の問題が発生します。また、一時的な理由で localhost ウェブサーバーを起動するソフトウェア パッケージを使用するエンドユーザーにも影響します。たとえば、ウェブログインからローカル ソフトウェア パッケージへの認証トークンの通信などです。1 つのローカル リスナーが localhost レスポンスで Strict-Transport-Security を設定すると、ポートに関係なく、その後のすべての localhost リクエストに適用されます。

Chrome 132 では、localhost URL からのレスポンスの Strict-Transport-Security ヘッダーを無視することで、この問題を解決しています。

キーボードでフォーカス可能なスクロール コンテナ

この機能のロールアウト(Chrome 130 から)は、ユーザー補助機能の回帰により停止されました。この問題は修正され、この機能は Chrome 132 で引き続きロールアウトされます。

Private State Tokens API 権限ポリシーのデフォルトの許可リストのワイルドカード

Private State Tokens API へのアクセスは、権限ポリシー機能によって制限されています。Chrome 132 では、private-state-token-issuance 機能と private-state-token-redemption 機能の両方のデフォルトの許可リストが self から *(ワイルドカード)に更新されます。

PushMessageData::bytes()

PushMessageData インターフェースは 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 機能により、r32floatrg32floatrgba32float の形式の GPU テクスチャをブレンドできます。

WebGPU: GPUDevice から GPUAdapterInfo を公開

GPUDevice の adapterInfo 属性は、GPUAdapter オブジェクトと同じ GPUAdapterInfo を公開します。

WebGPU: テクスチャビューの使用

WebGPU テクスチャビューの作成にオプション フィールドを追加し、ソース テクスチャから用途フラグのサブセットをリクエストできるようにしました。

デフォルトでは、テクスチャビューの使用はソース テクスチャから継承されますが、継承された使用の全セットと互換性がないビュー形式もあります。テクスチャビューの作成に使用状況フィールドを追加すると、ビュー形式で有効で、テクスチャビューの想定される用途に固有のソース テクスチャの使用状況のサブセットをリクエストできます。

WebGPU 実装では、低レベルのリソースの作成を最適化し、より特殊な使用フラグを持つビューを使用する際のパフォーマンスを向上させることもできます。

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

Chrome 132 では、次の新しいオリジン トライアルを有効にできます。

Document-Isolation-Policy

Document-Isolation-Policy を使用すると、ドキュメント自体で crossOriginIsolation を有効にできます。この場合、COOP や COEP をデプロイする必要はなく、ページの crossOriginIsolation ステータスも関係ありません。このポリシーはプロセス分離によってサポートされています。また、ドキュメントの CORS 以外のクロスオリジン サブリソースは、認証情報なしで読み込まれるか、CORP ヘッダーが必要になります。

マジック コメントを使用した明示的なコンパイル ヒント

この機能を使用すると、JavaScript ファイルで即時解析とコンパイルを実行する必要がある関数に関する情報をアタッチできます。この情報はマジック コメントとしてエンコードされます。

サポートの終了と機能の削除

このバージョンの Chrome では、次の非推奨と削除が行われています。予定されている非推奨化、現在の非推奨化、過去の削除の一覧については、ChromeStatus.com をご覧ください。

このリリースの Chrome では、2 つの機能が削除されます。

navigator.storage は、プロトタイプ フェーズを過ぎることなく、ストレージ圧力イベントの EventTarget になりました。このデッドコードは削除されるため、navigator.storageEventTarget を拡張しなくなります。

接頭辞付きの HTMLVideoElement 全画面 API を削除

接頭辞付きの HTMLVideoElement 全画面 API が Chrome で非推奨になりました

これらは Element.requestFullscreen() API に置き換えられました。この API は、2018 年に Chrome 71 で接頭辞なしで初めてリリースされました。2024 年現在、ほとんどのブラウザは、接頭辞のない API を数年前からサポートしています。

Chrome 132 では、HTMLVideoElement から次のものが削除されます。

  • webkitSupportsFullscreen 属性。
  • webkitDisplayingFullscreen 属性。
  • webkitEnterFullscreen() メソッド。
  • webkitExitFullscreen() メソッド。FullScreen の「S」が大文字と小文字で異なることに注意してください。
  • webkitEnterFullScreen() メソッド。
  • webkitExitFullScreen() メソッド。

これらのメソッドは、モダン API のエイリアスのみになりました。使用は年々減少しています。