Chrome 109 ベータ版

MathML、getDisplayMedia() の条件フォーカス、Android 上のオリジン プライベート ファイル システムなど。

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

CSS

@font-face ルール内のフォント記述子の自動範囲のサポート

可変フォントでは、@font-face ルール内で font-weightfont-stylefont-stretch の記述子を使用して、書体の太さ、傾斜、幅を選択できます。CSS ワーキング グループは、これらの記述子に新しい値 auto を追加しました(現在は初期値)。この値は、新しい仕様に合わせて 109 で実装されています。

CSS lh の長さの単位

lh CSS の <length> 単位は、それが使用される要素の line-height プロパティの計算値と同等です。これにより、<textarea> に、予想されるテキストの行数と同等の高さを指定できます。

CSS の hyphenate-limit-chars プロパティ

hyphenate-limit-chars プロパティは、ハイフンされた単語の最小文字数を指定します。ハイフネーションを適用する際、単語内、ハイフンの前、またはハイフン後の最適な最小文字数は、ページのデザインや言語によって異なる場合があります。このプロパティを使用すると、ハイフネーションをきめ細かく制御して、ウェブ上でのタイポグラフィを改善できます。また、デフォルトの設定が最適でない場合に、国際化したページにも役立ちます。

レイアウトの前に枠線、枠線、列ルールの幅をスナップする

現在、Blink はペイント時に枠線の幅をスナップします。これにより、ペイント中に境界線が切り捨てられると、親要素の境界線と子の背景の間に 1 ピクセルのギャップが生じる場合があります。これは、フロアのスナップが値であるのに対し、レイアウトでは子の位置を計算するために値が切り上げられるためです(たとえば、border-width が 10.75 ピクセルに設定され、ペイント時には 10 ピクセルに丸められますが、レイアウト時には 11 ピクセルに丸められます)。この変更により、Blink が Gecko や WebKit と同様に動作し、相互運用性が向上します。

MathML

Chrome 109 では MathML Core がサポートされています。これは、HTML と SVG に埋め込める数学的表記を記述するための言語です。MathML は、OpenType MATH を使用して CSS と互換性のある方法でレンダリングされ、プラットフォームのユーザー補助 API を介して公開されます。MathML のスタイル設定は、数学レイアウト専用のものを含む CSS 機能によって有効になります。

math-depth プロパティ。 math-shift プロパティ。 math-style プロパティ。 display プロパティの mathmath font-familytext-transform プロパティの math-auto 値。

MathMLElement インターフェースを使用すると、スクリプトで MathML を簡単に操作できます。

ウェブ API

Android Chrome での安全なお支払いの確認

Android 版 Chrome 109 は Secure Payment Confirmation(SPC)をサポートしています。SPC は提案されているウェブ標準です。SPC はプラットフォーム認証システムを使用してクレジット カード発行会社、銀行、またはその他の決済サービス プロバイダに対して認証を行うものです。通常は指紋認証センサーなどのデバイスの画面ロック解除機能で有効化されます。これは通常、EMV 3D セキュアオープン バンキングなどのお支払いの認証プロトコルで発生します。たとえば、EMV 3-D Secure の v2.3 仕様リリースでは、SPC がサポートされています。以前にお知らせしたとおり、macOS と Windows の Google Chrome 向け SPC がリリースされ、登録認証の両方に関するデベロッパー ガイドが提供されています。

条件付きフォーカス

条件付きフォーカスは、パラメータとして渡すことができる CaptureController オブジェクトを追加することで、getDisplayMedia() を拡張します。このオブジェクトは setFocusBehavior() メソッドを公開します。このメソッドを呼び出すと、アプリでキャプチャの開始時にキャプチャされたタブまたはウィンドウがフォーカスされるかどうか、またはキャプチャ ページがフォーカスを保持するかどうかを制御できます。

MediaTrackSupportedConstraints.suppressLocalAudioPlayback

同僚は一部屋に集まって、そのうちの 1 人がノートパソコンから専用のモニターとスピーカーを備えた会議室ソリューションでプレゼンテーションを行うのが一般的です。プレゼンターは通常、自分のノートパソコンをミュートし、外部スピーカーは音量が大きいものを使用します。これにより、音声が動画と同期されるようになります。suppressLocalAudioPlayback 音声制約により、ここで時間を節約できます。true に設定すると、キャプチャの開始時にブラウザからローカル スピーカーへの音声のリレーが停止します。

Resource Timing API の HTTP レスポンス ステータス コード

リソースが取得されたときの HTTP レスポンス ステータスを示すフィールドを PerfomanceResourceTiming に追加します。これにより、デベロッパーは Resource Timing API を使用してリソースの読み込みに失敗したかどうかを簡単に確認できます。

Android のオリジン プライベート ファイル システム(OPFS)

Chrome 109 では、Android で File System Access API のオリジン プライベート ファイル システム(OPFS)の部分が有効になります。これには、show{OpenFile, SaveFile, Directory}Picker() メソッドとドラッグ&ドロップ API 統合を除く、File System Access API サーフェスのすべてが含まれます。OPFS の File System Access API を使用すると、サイトはオリジンごとのプライベート ファイル システムにアクセスし、FileSystemSyncAccessHandle を介してファイル オペレーションを実行してパフォーマンスを向上させることができます。

Speculation Rules API によってトリガーされる同一サイト クロスオリジン事前レンダリング

Chrome では以前、Speculation Rules API によってトリガーされる同一オリジンの事前レンダリングをリリースしました。Chrome 109 では対象範囲が拡大され、同一サイトのクロスオリジン ページもトリガーできるようになりました。この事前レンダリングは認証情報とストレージ アクセスを通じて行われますが、こうした事前レンダリングのターゲットは Supports-Loading-Mode: credentialed-prerender ヘッダーを使用してオプトインする必要があります。

WebTransport BYOB リーダー

ウェブ トランスポートの BYOB(Bring-Your-Own-Buffer)リーダーをサポートし、デベロッパー提供のバッファへの読み取りを可能にしました。BYOB リーダーは、バッファのコピーを最小限に抑え、メモリ割り当てを減らすことができます。

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

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

バックフォワード キャッシュの NotRestoredReason API

NotRestoredReason API は PerformanceNavigationTiming API を介して、ページが BFcache からフレームツリー構造で配信されていない理由のリストを報告します。

NotRestoredReason API オリジン トライアルに登録します。

サブリソースに対するプライベート ネットワーク アクセスのプリフライト リクエスト

この機能は、サブリソースに対するプライベート ネットワーク リクエストの前に CORS プリフライト リクエストを送信して、ターゲット サーバーに明示的な許可を要求します。プライベート ネットワーク リクエストとは、公開ウェブサイトからプライベート IP アドレス(または localhost)へのリクエスト、またはプライベート ウェブサイト(イントラネットなど)から localhost へのリクエストです。プリフライト リクエストを送信すると、ルーターなどのプライベート ネットワーク デバイスに対するクロスサイト リクエスト フォージェリ攻撃のリスクを軽減できます。これらのデバイスは、多くの場合、この脅威に対する防御対策の準備が整っていません。

サブリソースのオリジン トライアルに対するプライベート ネットワーク アクセスのプリフライト リクエストに登録します。

サポートの終了と削除

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

サポートの終了

このバージョンの Chrome で新たに非推奨となった機能はありません。

削除

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

Event.path を削除します

Event.path は、イベントのパス(リスナーが呼び出されるオブジェクトの配列)を返す非標準の API です。これは Blink のみがサポートしているため、ウェブの互換性の問題が発生します。ウェブ デベロッパーは、同じ結果を返す同等の標準 API Event.composedPath() に切り替える必要があります。