安定版のリリース日: 2024 年 6 月 11 日
特に明記されていない限り、Android、ChromeOS、Linux、macOS、Windows 版の Chrome 126 Stable チャンネル リリースには、以下の変更が適用されます。
CSS
同一オリジン ナビゲーションでのドキュメント間のビュー移行
以前は、View Transitions API を使用するには、ウェブサイトを SPA に再設計する必要がありました。これは廃止されました。同一オリジン ナビゲーションで、ビュー遷移がデフォルトで有効になりました。同じオリジンの 2 つの異なるドキュメント間でビュー移行を作成できます。
ドキュメント間でビューの移行を有効にするには、双方でオプトインする必要があります。これを行うには、@view-transition
at-rule を使用し、navigation
記述子を auto
に設定します。
@view-transition {
navigation: auto;
}
ドキュメント間のビュー遷移では、同じドキュメントでのビュー遷移と同じ構成要素と原則が使用されます。view-transition-name
が適用された要素がキャプチャされます。このアニメーションは、CSS アニメーションを使用してカスタマイズできます。
View Transition API によるスムーズな遷移 | トラッキング バグ #1372584 | ChromeStatus.com のエントリ | 仕様
ウェブ API
Gamepad API のトリガー ランブル拡張機能
GamepadHapticActuator
インターフェースを拡張して、互換性のあるゲームパッドのトリガー ランブル機能をウェブ上で公開します。この拡張機能により、Gamepad API を利用するウェブ アプリケーションで、この機能を搭載したゲームパッド デバイスのトリガーも振動させることができます。
トラッキング バグ #40834175 | ChromeStatus.com のエントリ | 仕様
ChromeOS タブ形式ウェブアプリ
スタンドアロン ウィンドウの PWA では、一度に 1 ページしか開くことができません。アプリによっては、ユーザーが一度に多くのページを開くことを想定しています。タブモードを使用すると、ChromeOS のスタンドアロン ウェブアプリにタブストリップが追加され、複数のタブを同時に開くことができます。
新しい表示モード "tabbed"
と新しいマニフェスト フィールドが追加され、タブバーをカスタマイズできるようになりました。
トラッキング バグ #40598974 | ChromeStatus.com のエントリ | 仕様
GeolocationCoordinates
と GeolocationPosition
の toJSON()
メソッド
.toJSON()
メソッドを GeolocationCoordinates
インターフェースと GeolocationPosition
インターフェースに追加します。これにより、JSON.stringify()
を使用してこれらのオブジェクトをシリアル化できます。
WebGLObject Web IDL スーパーインターフェース
この機能により、WebGL API が公開されるのと同じコンテキスト(メインスレッドとワーカー)で WebGLObject
型が公開されます。
CloseWatcher
API を再度有効にし、<dialog>
と popover=""
のリクエストを閉じる
CloseWatcher
API を使用すると、クローズ リクエスト(デスクトップ プラットフォームでは ESC キー、Android では「戻る」ジェスチャーやボタンなど)を一貫した方法で処理できます。この機能は元々 Chrome 120 にリリースされましたが、<dialog>
との予期しないインタラクションにより無効になりました。発生する問題を最小限に抑えるために、動作の改善が行われた後、Chrome 126 で再度有効になりました。
デモ | バグ #1171318 のトラッキング | ChromeStatus.com のエントリ
Attribution Reporting API: attributionsrc
リクエストの参照 URL ポリシー
attributionsrc
リクエストは、ページの他のサブリソースと同様に処理されます。
以前は、さまざまな html 要素(<img>
、<script>
、<a>
、window.open
など)の一部として attributionsrc
アトリビューションを使用して API を呼び出した場合、<html>
要素に設定されたリソースレベルのリファラー ポリシー属性が無視されていました。
この変更により、attributionsrc
リクエストには、<img>
、<script>
、<a>
、window.open
のいずれかで設定したリソースレベルのリファラー ポリシーが適用されるようになります。
これにより、広告テクノロジーは attributionsrc
リクエストの参照 URL 情報を制限するかどうかをより細かく制御できます。
メディア
MediaRecorder 向けの MP4 コンテナのサポート
MediaRecorder を使用して音声と動画を MP4 コンテナに多重化するためのサポートを追加しました。
MediaRecorder | ChromeStatus.com のエントリ | 仕様
OpusEncoderConfig signal
パラメータと application
パラメータ
OpusEncoderConfig.signal
パラメータと OpusEncoderConfig.application
パラメータは、実装固有のエンコーダのつまみに直接マッピングされます。これにより、ウェブ作成者は、エンコードされているデータの種類と、データが使用されるコンテキストに関するヒントを提供できます。
signal
には、"auto"
、"music"
、"voice"
のいずれかを指定できます。これにより、指定されたタイプのデータをエンコードする際のパフォーマンスが最適になるようにエンコーダを構成します。application
には、"voip"
、"audio"
、"lowdelay"
のいずれかを指定できます。音声の明瞭性、元の入力の忠実な再生、最小限のレイテンシを優先するようにエンコーダを構成します。
JavaScript
visualViewport
onscrollend
サポート
scrollend
JavaScript イベントは、スクロール オペレーションが終了したことを通知するために起動されます。
visualViewport
インターフェースには onscrollend
イベント ハンドラが含まれており、visualViewport
のスクロール オペレーションが終了したときに呼び出される必要があります。Chrome は、visualViewport.addEventListener("scrollend")
を通じたスクロール終了イベント リスナーの追加をすでにサポートしています。これにより、visualViewport.onscrollend
を使用してイベント リスナーも追加できるようになります。
トラッキング バグ #325307785 | ChromeStatus.com のエントリ
プライバシー
navigator.cookieEnabled を仕様に合わせて調整
navigator.cookieEnabled
は現在、特定のコンテキストで「ユーザー エージェントが Cookie を処理しようとしている」かどうかを示します。サードパーティ Cookie のサポート終了(3PCD)の一環としてリリースされた Chrome の変更により、パーティション分割されていない Cookie へのアクセスが可能かどうかが示される可能性があります(ほとんどのクロスサイト iframe で false が返されます)。サイトに対して Cookie が有効か無効かのみを示す、以前の navigator.cookieEnabled
の動作を復元し、クロスベンダー関数 document.hasStorageAccess
を使用して、パーティション分割されていない Cookie へのアクセスが可能かどうかを判断する必要があります。
トラッキング バグ #335553590 | ChromeStatus.com のエントリ | 仕様
ユーザー補助
Windows での UI オートメーション ユーザー補助フレームワークのサポート
Microsoft Windows 上の最新の支援アプリケーションは、プラットフォームの UI オートメーション ユーザー補助フレームワークを使用して、他のアプリケーションのユーザー インターフェースと相互運用します。これまで、Chromium はこの目的のために古い Microsoft Active Accessibility(MSAA)と IAccessible2(IA2)フレームワークをサポートしており、Windows のユーザー補助ツールには問題がありました。
この問題を解決するために、Microsoft は Chrome チームと連携して、Windows で UI オートメーション(UIA)フレームワークを直接サポートし、ユーザー補助ツールとブラウザが簡単に通信できるようにしました。Chrome バージョン 126 以降、Stable 版への段階的なロールアウトを開始します。これにより、Chromium ベースのすべてのブラウザで Voice Access を使用でき、ナレーターや拡大鏡など、UIA ベースのすべてのユーザー補助ツールのユーザー エクスペリエンスが向上します。
新しいオリジン トライアル
Storage Access API のトラスト シグナルとしての FedCM
以前の FedCM にストレージ アクセス リクエストを自動的に承認する正当な理由を付与することで、FedCM と Storage Access API を調整します。
ユーザーが証明書利用者(RP)でサードパーティの ID プロバイダ(IdP)に ID を使用する権限を付与する場合、多くの IdP では、正しく安全に機能するためにサードパーティ Cookie が必要です。この提案は、Storage Access API(SAA)の権限チェックを更新して、ストレージ アクセス プロンプトによって与えられた権限の付与だけでなく、FedCM プロンプトによって与えられた権限の付与も受け入れるようにすることで、非公開かつ安全な方法でこの要件を満たすことを目的としています。
このメカニズムの重要な特性は、FedCM 権限ポリシーを介して RP が明示的に許可したケースにのみ付与することで、RP のフレームごとの制御を適用し、IdP によるパッシブな監視を防止して、FedCM がすでに付与している機能を超えることです。
オリジン トライアル | 説明 | ChromeStatus.com のエントリ
メディア プレビューのオプトアウト
このリバースオリジン トライアルでは、メディア プレビューのリリースからサイトが除外されます。
Chrome では、ウェブサイトからカメラとマイクへのアクセス許可がリクエストされたときに、カメラとマイクの入力のリアルタイム プレビューが表示されます。これらはサイトの pageinfo からも取得できます。
また、複数のデバイスを使用しているユーザーは、サイトが getUserMedia()
を通じて特定のデバイスをリクエストしていない限り、権限のリクエスト時にカメラとマイクを選択できます。
オリジン トライアル | トラッキング バグ #330762482 | ChromeStatus.com のエントリ
FedCM: Continuation API、Parameters API、Fields API、複数の configURL、カスタム アカウント ラベル
デベロッパーは、承認を含むデスクトップ FedCM 機能のバンドルのオリジン トライアルを開始できます。このバンドルは、FedCM Continuation API、Parameter API、Fields API、複数の configURL、カスタム アカウント ラベルで構成されています。これにより、IdP による権限ダイアログを含む OAuth 認可フローのような操作が可能になります。
トラッキング バグ #40262526 | ChromeStatus.com のエントリ
ページに埋め込まれた権限の管理
権限フローとやり取りする新しい HTML 要素を提供する。
現在、権限プロンプトは JavaScript から直接トリガーされており、ユーザー エージェントはユーザーの意図を強く示すシグナルをまったく得られません。ユーザーが権限フローをトリガーするために使用するコンテンツ内要素があることで、ユーザーに対する権限プロンプトの UX を改善できます。また、サイトでの権限の「拒否」状態からの復元パスが可能になります。
非推奨と削除
インポート アサーションの「assert」構文を削除して削除する
インポート属性構文の新しい with
キーワードを優先し、assert
キーワードのサポートを終了して削除します。
つまり、import m from 'foo' assert { type: 'json' }
は SyntaxError をスローするようになり、デベロッパーは import m from 'foo' with { type: 'json' }
に変更する必要があります。
関連情報
さらに情報を探す場合は、以下の参考リンクをご確認ください。
- Chrome 126 の新機能
- Chrome DevTools 126 の新機能
- ChromeStatus.com の更新内容(Chrome 126)
- Chrome リリース カレンダー
- サポート終了の予定
- 今後の削除