Chrome 124 ベータ版

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

CSS

このリリースでは、2 つの新しい CSS 機能が追加されました。

CSSImportRule.styleSheet

CSSImportRule.styleSheet が null 値許容になるように。CSS スタイルシートが関連付けられていない場合は、CSSImportRulestyleSheet 属性を null にできます。

CSSKeyframesRule.length

CSSKeyframesRulelength 属性を公開します。インデックス登録されたプロパティをサポートするインターフェースは、length という名前の整数型の属性を定義する必要があります。

HTML

このリリースでは、2 つの新しい HTML 機能が追加されています。

writingsuggestions 属性

ウェブ上で編集可能なさまざまなフィールドに入力しているときに、ブラウザがユーザーに文章の候補を提示し始めています。これは一般的にユーザーにとっては便利ですが、独自の同様の機能を提供する拡張機能やサイトなど、ブラウザが提供する記述支援を無効にしたい場合もあります。

新しい属性 writingsuggestions には true または false の値が含まれ、デベロッパーはこれを使用して、ブラウザが提供する文章の候補をオンまたはオフにできます。要素の属性の状態を祖先要素から継承することもできます。これにより、デベロッパーはこの機能を要素単位、ドキュメント単位、サブドキュメント単位で制御できます。

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

シーケンシャル フォーカス ナビゲーションを使用してスクロール コンテナをフォーカス可能にすることで、ユーザー補助機能を向上させます。この変更以前は、tabIndex が明示的に 0 以上に設定されていない限り、Tab キーでスクローラーをフォーカスしていませんでした。

スクローラーをデフォルトでフォーカス可能にすることで、マウスを使用できない(または使用したくない)ユーザーは、キーボードのタブと矢印キーを使用してクリップしたコンテンツをフォーカスできます。この動作は、スクローラーにキーボードのフォーカス可能な子が含まれていない場合にのみ有効です。

この機能は Chrome 124 から段階的にリリースされ、Chrome 125 までにすべてのユーザーが利用できるようになります。詳しくは、キーボードのフォーカス可能なスクローラーをご覧ください。

ウェブ API

Attribution Reporting API への追加

Attribution Reporting API に機能が追加され、エラーのデバッグ レポートの解析をサポートするデバッグ機能の追加、優先登録プラットフォームを指定するフィールドのサポートによる API のエルゴノミクスの改善、プライバシーの向上が可能になりました。

ドキュメントのピクチャー イン ピクチャー: タブに戻るボタンを非表示にするオプションを追加

これにより、ドキュメント ピクチャ イン ピクチャー API に新しいパラメータ(disallowReturnToOpener)が追加されます。このパラメータは、true に設定すると、ユーザーがオープナー タブに戻るためのボタンをピクチャー イン ピクチャー ウィンドウに表示しないようにブラウザに通知します。

動画のピクチャー イン ピクチャーの場合(動画ストリームはオープナー タブの動画要素に返すことができます)、オープナー タブに戻るボタンがあることが常に理にかなっていますが、ドキュメントのピクチャー イン ピクチャー エクスペリエンスではそうならない場合もあります。これにより、デベロッパーは、ボタンが自分のユースケースに合わないと判断した場合に、ユーザー エクスペリエンスをより細かく制御できます。

詳しくは、ドキュメントのピクチャー イン ピクチャーのドキュメントをご覧ください。

ドキュメントのレンダリング ブロック

この機能を使用すると、作成者は重要なコンテンツが解析されるまでドキュメントのレンダリングをブロックでき、すべてのブラウザで一貫した最初のペイントが保証されます。この機能がない場合、First Paint の状態は、パーサーの生成に関するヒューリスティックに依存し、ブラウザによって異なる場合があります。

これは、最初のフレームの解析された DOM 状態によって、作成される遷移が大幅に変化する可能性があるビュー遷移では特に重要です。

なお、この機能では、リンク要素からページ上の別の想定される要素を参照できる <link rel=expect href="#id"> 構文が実装されています。レンダリングは、想定される要素が完全に解析されるまでブロックされます。これは、ドキュメント全体のレンダリング ブロックを可能にする以前の HTML 属性の実装よりも優先されます。

jitterBufferTarget 属性

jitterBufferTarget 属性を使用すると、アプリで RTCRtpReceiver ジッター バッファが保持するメディアの目標時間をミリ秒単位で指定できます。これはユーザー エージェントによって行われるバッファリングの量に影響し、さらには再送信とパケットロスの回復に影響します。ターゲット値を変更することで、アプリは、プレイアウト遅延と、ネットワーク ジッターによって音声または動画のフレームが不足するリスクとのトレードオフを制御できます。

pageswap 件のイベント

pageswap イベントは、ナビゲーションによってこのドキュメントが新しいドキュメントに置き換えられるときに、ドキュメントのウィンドウ オブジェクトで呼び出されます。このイベントは、ナビゲーションに関するアクティベーション情報を提供します(新しいドキュメントの場合は typeNavigationHistoryEntry)。

ナビゲーションにドキュメント間のビュー遷移がある場合、古いドキュメントの状態をキャプチャする前にイベントがディスパッチされます。これにより、デベロッパーはナビゲーションの有効化情報と古いドキュメントの現在の表示状態に基づいて、遷移用にキャプチャされた古い状態を構成できます。

priority HTTP リクエスト ヘッダー

これにより、すべての HTTP リクエストに priority リクエスト ヘッダーが追加され、リクエストの送信時の優先度情報とともに追加されます。

RFC 9218(Extensible Prioritization Scheme for HTTP)は、送信元(および中間者)にリクエストの優先度をシグナリングする際に使用する priority HTTP リクエスト ヘッダーを定義しています。また、HTTP/2 と HTTP/3 のネゴシエーション プロセスとプロトコル レベルのフレームが、同じ優先度の情報を伝送するためのものとして定義されています。

ヘッダーがリソースの初期優先度を通知できるのは、そのリソースが最初にリクエストされたときだけですが、フレームベースのメカニズムでは、リソースの初期優先度を事後に変更できます。

ヘッダーは、フレームがリンクレベルでの動作に制限されている間、送信元サーバーに対してエンドツーエンドで動作できます(また、中継者が認識した場合は、送信元が優先度をオーバーライドするメカニズムを提供します)。

この機能は、特にヘッダーベースの優先順位付けスキームをサポートするためのものです。

混合コンテンツを緩和するためのプライベート ネットワーク アクセス権限

この機能では、グローバルに一意の名前がなく、TLS 証明書を取得できないローカル ネットワーク上のデバイスへの接続を確立するために、fetch() に新しいオプションが導入され、そのようなデバイスと通信するデベロッパーのインテントを宣言できるようになりました。これには、この機能に対する各サイトのアクセスを制御する新しいポリシー制御機能と、追加のメタデータを提供するサーバーのプリフライト レスポンス用の新しいヘッダーが含まれています。

Sec-CH-UA-Form-Factors クライアントのヒント

このヒントは、ユーザー エージェントのフォーム ファクタに関するサーバー情報を提供します。次のフォーム ファクタ値を 1 つ以上返します。

  • デスクトップ: 個人のパソコンで動作するユーザー エージェント。
  • 自動車: 車両に組み込まれたユーザー エージェント。ユーザーは車両を操作する責任を担い、細かい作業には対応できない可能性があります。
  • モバイル: 通常はユーザーが携帯する小型のタップ操作デバイス。
  • タブレット: 「モバイル」よりも大型で、通常はユーザーが携帯しないタッチ指向デバイス。
  • XR: ユーザーの周囲の環境を拡大または置換する没入型デバイス。
  • EInk: 画面の更新が遅く、色解像度が制限されるか、まったくないデバイス。
  • スマートウォッチ: ユーザーが一目で確認できるように持ち運ぶ、小さな画面(通常は 2 インチ未満)のモバイル デバイス。

setHTMLUnsafeparseHTMLUnsafe

setHTMLUnsafe メソッドと parseHTMLUnsafe メソッドを使用すると、JavaScript から宣言型 Shadow DOM を使用できます。また、innerHTMLDOMParser と比べて、HTML を命令型で DOM に解析する簡単な方法もあります。

Shared Storage API の更新

このアップデートにより、iframe を作成せずにクロスオリジン ワークレットを実行するためのサポートが追加されました。

Streams API: ReadableStream 非同期反復処理

ストリーム API は、データ ストリームを作成、構成、使用するためのユビキタスで相互運用可能なプリミティブを提供します。この変更により、ReadableStream API の非同期イテラブル プロトコルのサポートが追加され、読み取り可能なストリームを await...of ループのソースとして使用できるようになりました。

SVG の context-fillcontext-stroke

塗りつぶしとストロークのプロパティを指定するときにキーワード context-fillcontext-stroke を使用できるようにする既存の SVG 機能を実装します。これは、<use> 要素でインスタンス化された SVG サブツリーと、<path> 要素の marker プロパティを使用してインスタンス化された <marker> 要素にのみ影響します。そのような状況では、context-fillcontext-stroke は、<use> または <path>fill プロパティと stroke プロパティの値に解決されます。

WebGPU: ServiceWorker と SharedWorker のサポート

既存の WebGL 機能に合わせて、WebGPU に Service Worker と SharedWorker のサポートが追加されました。

Service Worker は、WebGPU のオフライン機能とバックグラウンド処理を有効にします。つまり、グラフィックを多用するウェブ アプリケーションや Chrome 拡張機能は、ユーザーがページを操作していなくても、リソースをキャッシュに保存して計算を実行できます。

共有ワーカーを使用すると、複数のタブや拡張機能コンテキストで WebGPU リソースを調整、共有できます。これにより、ユーザーのグラフィック ハードウェアがよりスムーズになり、より効率的に使用できるようになります。

WebSocketStream API

WebSocket API は、RFC6455 WebSocket プロトコルへの JavaScript インターフェースを提供します。うまく機能していますが、エルゴノミクスの観点からは扱いにくく、バックプレッシャーという重要な機能が欠けています。WebSocketStream API の目的は、WHATWG Streams を WebSocket API と統合することで、これらの欠陥を解決することです。

詳細については、WebSocketStream: ストリームと WebSocket API の統合をご覧ください。

X25519Kyber768 での TLS 鍵のカプセル化

Kyber768 の量子耐性がある鍵交換アルゴリズムをデプロイすることで、現在の Chrome の TLS トラフィックを将来の量子暗号から保護します。

これは、IETF 標準に基づく X25519 と Kyber768 のハイブリッド鍵交換です。この仕様とリリースは W3C の対象外です。この鍵合意は TLS 暗号としてリリースされ、ユーザーに対して透過的である必要があります。

詳しくは、ハイブリッド Kyber KEM による Chrome トラフィックの保護をご覧ください。

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

Chrome 124 では、次の新しいオリジン トライアルにオプトインできます。

ミューテーション イベントのトライアルのサポート終了

DOMSubtreeModifiedDOMNodeInsertedDOMNodeRemovedDOMNodeRemovedFromDocumentDOMNodeInsertedIntoDocumentDOMCharacterDataModified などのミューテーション イベントにより、ページのパフォーマンスが損なわれ、ウェブに新機能を追加する際の複雑さが大幅に増します。これらの API は 2011 年にこの仕様で非推奨になり、2012 年には、動作が大幅に改善された Mutation Observer API に置き換えられました。

2024 年 7 月 30 日頃の Chrome 127 以降、ミューテーション イベントのサポートはデフォルトで無効になります。サイトの破損を防ぐため、この日までにコードは Mutation Observer API に移行する必要があります。さらに時間が必要な場合は、ミューテーション イベントのサポート終了トライアルに登録して、特定のサイトで一定期間、この機能を再度有効にしてください。これは 2025 年 3 月 25 日までの Chrome 134 で使用できます。

また、Chrome 134 でも、MutationEventsEnabled エンタープライズ ポリシーを同じ目的に使用できます。

ミューテーション イベントのサポート終了トライアルに登録します。

サポートの終了と削除

このバージョンの Chrome では、以下のサポートの終了と削除が行われています。 サポート終了の予定、現在のサポート終了、以前の削除内容については、ChromeStatus.com をご覧ください。

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

権限および権限ポリシー「window-management」の「window-placement」エイリアスを削除

権限と権限ポリシー「window-management」の「window-placement」エイリアスを削除しました。これは、最終的に「window-placement」が非推奨および削除されることで文字列の名前を変更する大規模な取り組みの一環です。Window Management API が時間の経過とともに進化するにつれて、用語の変更により記述子の寿命が短縮されます。