Chrome 107 ベータ版

スクリーン キャプチャ API の追加、CSS grid-template プロパティの補間など。

特に記載がない限り、以下で説明する変更は、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、リンクをクリックするか、ChromeStatus.com のリストをご覧ください。Chrome 107 は 2022 年 9 月 29 日時点でベータ版です。最新版は、パソコンの場合は Google.com から、Android の場合は Google Play ストアからダウンロードできます。

CSS grid-template プロパティの補間

CSS Grid では、grid-template-columns プロパティと grid-template-rows プロパティを使用して、それぞれグリッドの列と行のサイズを定義し、追跡できます。Microsoft の貢献者のおかげで、これらのプロパティの補間がサポートされるようになりました。グリッド レイアウトで、アニメーションや遷移の中間点でスナップするのではなく、状態間のスムーズな遷移が可能になりました。

プライバシー保護の画面共有コントロール

Screen Capture API は、既存の Media Capture and Streams API に追加機能を導入し、ユーザーがメディア ストリームとしてキャプチャする画面または画面の一部(ウィンドウなど)を選択できるようにします。このストリームは、ネットワーク経由で録画したり、他のユーザーと共有したりできます。このベータ版では、この API にいくつかの新機能が追加されています。

DisplayMediaStreamConstraints.selfBrowserSurface

getDisplayMedia() の呼び出し時に、現在のタブをユーザーに提供されるタブのリストから除外するかどうかをウェブ アプリケーションがブラウザに指示できるようにするヒント。

これにより、ユーザーがアプリを実行しているタブを誤って選択した場合に、誤って自分自身をキャプチャしてしまうのを防ぐことができます。この場合、鏡の迷路のような効果が生じ、ユーザーが混乱して、リモート ユーザーとの議論が脱線してしまいます。

DisplayMediaStreamConstraints.surfaceSwitching

画面共有中に Chrome がタブ切り替えボタンを表示するかどうかをプログラムで制御するオプションを追加します。このオプションは navigator.mediaDevices.getDisplayMedia() に渡されます。

[代わりにこのタブを共有] ボタンを使用すると、ビデオ会議のタブを再度選択したり、ボタンをクリックして getDisplayMedia() を再度開始したり、長いタブのリストから新しいタブを選択したりすることなく、共有するタブをシームレスに切り替えることができます。この動作は、すべてのウェブ アプリケーションがこの動作を処理できるわけではないため、条件付きで公開されます。

MediaTrackConstraintSet.displaySurface

getDisplayMedia() が呼び出されると、ブラウザはユーザーにタブ、ウィンドウ、モニターのいずれかの表示サーフェスを選択するよう求めます。displaySurface 制約を使用すると、特定のサーフェス タイプをユーザーに優先的に提示することを希望する場合、ウェブ アプリケーションがブラウザにヒントを提供できるようになりました。

これらの機能が誤った共有を防ぐ仕組みについて詳しくは、こちらをご覧ください。

Resource Timing のレンダリング ブロック ステータス

リソースのレンダリング ブロック ステータスを示すフィールドを PerfomanceResourceTiming に追加します。現在、開発者の視点から、実際にレンダリングをブロックしたリソースを特定する唯一の方法は、複雑なヒューリスティックに頼ることです。新しいフィールドでは、そのことに関する直接的なシグナルが提供されます。

権限ポリシーのオリジンでのワイルドカード

この機能では、SCHEME://*.HOST:PORT のような構造の権限ポリシー(https://*.foo.com/ など)でワイルドカードがサポートされます。ここで、有効なオリジンは SCHEME://HOST:PORT(https://foo.com/ など)から構築できます。この場合、HOST は eTLD+1(登録可能なドメイン)以上である必要があります。つまり、https://*.bar.foo.com/ は機能しますが、https://*.com/ は機能しません。スキームとポートのセクションのワイルドカードはサポートされず、https://*.foo.com/https://foo.com/ に委任されません。以前は、権限ポリシーは次のようになっていました。

permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")

この機能を使用すると、次のことができます。

permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")

<form> 要素の rel 属性をサポート

この機能により、フォーム要素に rel 属性が追加されます。これにより、rel=noopener を持つフォーム要素で移動したウェブサイトに window.opener が存在しないようにし、rel=noreferrer でリファラー ヘッダーが送信されないようにします。

オリジン トライアル

このリリースの Chrome には、2 つの新しいオリジン トライアルが含まれています。

宣言型 PendingBeacon API

ビーコンの送信タイミングをブラウザが制御できるステートフル ビーコン API。ビーコンとは、特定のレスポンスを期待せずにバックエンド サーバーに送信されるデータのバンドルです。通常、これらのビーコンはユーザーがページへのアクセスを終了したときに送信することが望ましいのですが、その「送信」呼び出しを行う適切なタイミングはありません。この API は送信をブラウザ自体に委任するため、デベロッパーが正確なタイミングで送信呼び出しを実装しなくても、ページのアンロード時やページの非表示時にビーコンをサポートできます。

このトライアルは Chrome 109 まで実施される予定です。こちらからトライアルにご登録ください

Permissions-Policy: unload

この機能を使用すると、ページでアンロード イベント ハンドラの実行を無効にできます。この目標は、すべてのアンロード ハンドラを削除したサイトが、誤って新しいアンロード ハンドラを追加しないようにすることです。これにより、サイトはアンロード イベント ハンドラから移行し、BFCache のヒット率を向上させることができます。

このトライアルは Chrome 109 まで実施される予定です。こちらからトライアルにご登録ください

非推奨と削除

このバージョンの Chrome では、以下の非推奨と削除が導入されます。計画されている非推奨、現在の非推奨、以前の削除の一覧については、ChromeStatus.com をご覧ください。

今回の Chrome のリリースでは、1 つの機能のサポートが終了します。

Expect-CT

Expect-CT は、デフォルトで適用される前にウェブサイトが Certificate Transparency の適用をオプトインできるようにする HTTP ヘッダーです。また、デベロッパーが CT の構成ミスを発見するのに役立つレポート機能も備えています。

Expect-CT HTTP ヘッダーは、すべての公開ウェブサイトで(Chrome によって)CT の適用が義務付けられる前に、価値の高いウェブサイトが CT の適用またはレポートをオプトインしてセキュリティを強化できるようにすることで、ユニバーサルな Certificate Transparency(CT)の適用への移行を支援するために設計されました。ただし、Expect-CT はその有用性を失いました。Chrome では現在、すべての公開ウェブサイトで CT が必須となっているため、Expect-CT にセキュリティ上の価値はなくなりました。他のブラウザでは Expect-CT が実装されていないため、削除しても相互運用性の問題は発生しません。