Chrome 112 ベータ版

CSS のネスト、アニメーション コンポジション、FormData コンストラクタの送信者パラメータ。

特に記載のない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに適用されます。こちらに記載されている機能について詳しくは、リンク先または ChromeStatus.com のリストをご覧ください。Chrome 112 は 2023 年 3 月 9 日の時点でベータ版です。最新バージョンはパソコン版の Google.com または Android 版の Google Play ストアでダウンロードできます。

CSS

CSS ネスト

CSS スタイルルールを他のスタイルルールの中にネストする機能。外部のセレクタと内部ルールを組み合わせて、スタイルシートのモジュール性と保守性を高めます。詳しくは、CSS のネストについての記事をご覧ください。

CSS の animation-composition プロパティ

animation-composition プロパティを使用すると、複数のアニメーションが同じプロパティに同時に作用する場合に使用する複合操作を指定できます。こちらのデモの例をご覧ください

ウェブ API

最上位フレームで権限の変更を監視している場合に「このページを再読み込み」情報バーが表示されなくなる

トップレベルのフレームが PermissionStatusonchange イベントにサブスクライブされている場合、「このページを再読み込み」情報バーを非表示にします。これは、ページ情報ダイアログで開始されたカメラまたはマイクの権限の変更にアプリケーションが動的に対応する必要があることを示します。イベント リスナーの有無にかかわらず、権限が取り消されるとすぐにメディア ストリームが終了するという既存の動作は変わりません。

オプションの送信者パラメータを FormData コンストラクタに追加する

送信ボタンを FormData コンストラクタに渡すことを許可します。ボタンに名前や画像ボタンがある場合は、フォームのデータセットに反映されます。これにより、ボタンによってトリガーされる標準のフォーム送信と同じデータセットを使用して、FormData オブジェクトを作成できるようになります。

文字列の表記とプロパティが設定された RegExp v フラグ

正規表現文字クラスに、集合演算、文字列リテラル、ネストされたクラス、文字列の Unicode プロパティを追加します。set オペレーションと文字列の Unicode プロパティを使用することで、デベロッパーは特定の Unicode 文字と文字列を照合する正規表現を簡単に作成できます。

たとえば、/[\p{Script_Extensions=Greek}&&\p{Letter}]/v はすべてのギリシャ文字に一致します。

<dialog> の初期フォーカス アルゴリズムを更新しました

<dialog> 要素が開かれたときにフォーカスを取得するために選択される要素が、次のように変更されています。

  • ダイアログのフォーカス手順に、フォーカス可能な要素ではなく、キーボードのフォーカス可能な要素が表示されるようにしました。
  • オートフォーカス属性が設定されている場合、ダイアログ要素自体がフォーカスされるようにします。
  • フォーカスが本文要素に「リセット」されるのではなく、ダイアログ要素自体がフォールバックとしてフォーカスされるようにします。

WebAssembly のテールコール

明示的な tail コールと間接的な tail コール オペコードを WebAssembly に追加します。

ウェブ ワーカーでの WebGLContextEvent

WebGLContextEvent 型は数年間、Khronos の WebGL 仕様で定義されていますが、Blink ではこの型がウェブ ワーカーに公開されていないことが最近までわかってきませんでした。

ほとんどのアプリケーションは、この型のイベント リスナーを追加するだけで、グローバル スコープでそのプロトタイプを見つけることはありません。これは WebGLContextEvent に対する Blink の Web IDL の簡単な修正ですが、ウェブに公開される変更です。

Service Worker NoOps フェッチ ハンドラをスキップする

この機能により、No-op Service Worker のフェッチ ハンドラをスキップすることで、ページの移動が速くなります。

NoOps(何も操作しない)フェッチ リスナー(onfetch = () => {} など)があるサイトもあります。フェッチ リスナーはプログレッシブ ウェブアプリ(PWA)の要件の 1 つであったため、こうした取得リスナーは PWA として認識されるようにしたサイトです。ただし、Service Worker を起動して NoOps リスナーを実行する場合はオーバーヘッドが発生するだけです。コードが何もしないため、キャッシュやオフライン機能といった機能のメリットはありません。

このようなページへの移動を高速化するため、Chrome 112 以降では、Service Worker のすべてのフェッチ リスナーが NoOps であることをユーザー エージェントが確認した場合、ナビゲーション クリティカル パスから Service Worker の起動とリスナーのディスパッチを省略します。

この変更の一環として、すべての Service Worker のフェッチ リスナーが NoOps である場合に、コンソールに警告が表示されるようになりました。また、不要なフェッチ リスナーを削除するようデベロッパーに推奨します。無用なフェッチ リスナーがサイトで使わなくなることを期待して、将来、この機能を廃止できます。

Accept-encoding: br(Brotli)(WebView の HTTPS 接続の場合)

Brotli(コンテンツ エンコード タイプ: br)は、汎用の可逆圧縮アルゴリズムであり、現在利用可能な最良の汎用圧縮方式と同等の圧縮率と速度で、より高密度の圧縮を行います(詳細については、google/brotliRFC 7932 をご覧ください)。

Brotli の HTTP コンテンツ エンコード タイプ(Accept-Encoding: br)は Chrome バージョン 50 以降でサポートされていましたが、WebView ではこれまで有効になっていませんでした。この機能は、安定性を確保するため段階的なロールアウトを経て、WebView ベータ版で全ユーザーの 50% に対してご利用いただけるようになります。

オリジン トライアルが進行中

Chrome 112 では、以下のオリジン トライアルを利用できます。

FedCM: 自動再認証 API

最新バージョンの FedCM には自動再認証のオプトイン機能があります。この機能により、FedCM を使用した初回認証の後、ユーザーが復帰したときに自動的に再認証できます。

これまで、ユーザーが FedCM を介して IdP(ID プロバイダ)を使用して RP(証明書利用者)上に連携アカウントを作成した後は、次回そのウェブサイトにアクセスするときにユーザー インターフェースで同じ手順を実施する必要があります。つまり、ログインフローを進めるには、明示的に確認して再認証する必要があります。FedCM の主な目標の 1 つは隠れたトラッキングを防ぐことです。そのため、このユーザー エクスペリエンス(UX)は、ユーザーが連携アカウントを作成する前は理にかなっていますが、ユーザーがフェデレーション アカウントを作成した後は不要で煩わしさが増します。そのため Chrome では、RP がリピーター向けに選択できる、より合理的な UX を導入しています。

FedCM 自動再認証オリジン トライアルに登録する

トライアルのサポート終了

RTCPeerConnectiongetStats() メソッドが、type == "track" または "stream" の統計オブジェクトを返さなくなりました。この機能は Chrome 112 で削除されます。必要な変更を行うための時間を確保できるよう、このトライアルにオプトインしてください。

このサポート終了トライアルに登録する

WebView での X-Requested-With のサポート終了

非推奨のオリジン トライアルでは、X-Requested-With ヘッダーに依存するサービスを呼び出す際に、クロスオリジンの事前有効化がサポートされます。このオプションは Chrome 112 以降の WebView で使用できます。この機能の使用方法については、オリジン トライアルの設定手順をご覧ください。

X-Requested with WebView のサポート終了トライアルに登録します。

サポートの終了と削除

このバージョンの Chrome では、下記のサポート終了と削除を行います。サポート終了の予定、現在のサポート終了、これまでの削除情報のリストについては、ChromeStatus.com をご覧ください。

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

document.domain セッターのサポート終了

document.domain セッターを使用することで、デベロッパーは同一オリジン ポリシーを緩和できるようになり、Google が維持しようとしている基本的なセキュリティ境界が複雑化し、Spectre 後の Chromium プロセスモデルの変更の妨げとなります。オリジンキー エージェント クラスタを介してオプトインされるようになりました。

今回の Chrome リリースでは機能が 1 つ削除されています。

統計情報オブジェクト trackstreamRTCPeerConnectiongetStats() メソッドから削除しました

RTCPeerConnectiongetStats() メソッドが、type == "track" または "stream" の統計オブジェクトを返さなくなりました。Chrome 112 では未出荷。これらの指標を Chrome 115 でも利用できるように、非推奨トライアル(上記)が予定されています。