ウェブブラウザ「Google Chrome」の最新安定版であるバージョン107.0.5304.62/63(Windows版、macOS版は107.0.5304.62、Linux版は107.0.5304.68)がリリースされました。ビデオ会議のニーズが高まっている状況を受けてか、画面共有機能に関する改良が目立つ更新内容となっています。

New in Chrome 107 - Chrome Developers

https://developer.chrome.com/blog/new-in-chrome-107/

New in Chrome 107: Better screen sharing, render blocking resources, Pending Beacon API, and more! - YouTube

◆DisplayMediaStreamConstraints.selfBrowserSurface

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



この機能の有効性が想定されるのはビデオ会議ソフトで、例えば会議中にユーザーがうっかりビデオキャプチャー中のタブを選択したりすると予期せぬビデオフィードバックが発生してしまい会議を混乱させる可能性がありますが、このヒントを利用することでそういった事態を防ぐことが期待できます。

◆DisplayMediaStreamConstraints.surfaceSwitching

新たにgetDisplayMedia()に渡すパラメーターを追加し、これによって画面共有中にタブを切り替えるボタンをChromeに表示するかどうかを指定できるようにします。



このボタンを使用することで、ユーザーは

・ビデオ会議タブを再度選択

・ボタンをクリックしてgetDisplayMedia()を再度開始

・長いタブリストから新しい別のタブを再度選択

といった煩雑な操作なしで共有するタブをシームレスに切り替えることができます。ただ、すべてのウェブアプリがこの動作を処理できるわけではなく、特定のアプリでは問題が発生する可能性があるため、この機能は条件付きでの公開となります。

◆MediaTrackConstraintSet.displaySurface

getDisplayMedia()が呼び出されると、ブラウザはユーザーにサーフェス(タブ・ウィンドウ・モニター)の選択肢を提供します。この際、特定のサーフェスタイプをよりユーザーに選ばせたいのであれば、displaySurface制約を使用してウェブアプリからブラウザにヒントを与えることができます。



◆HEVCハードウェアデコードの有効化

HEVCをデコードするためのハードウェア(GPU・メディアアクセラレータなど)が利用可能なプラットフォーム(Android 5.0以降・macOS 11以降・Windows 8以降・ChromeOS)で、HEVCビデオのハードウェアデコードのサポートを有効にします。

◆フォームのrel属性

フォーム要素にrel属性を追加します。この属性は、「rel=noopener」を指定したフォーム要素によってナビゲートされるウェブサイトにwindow.openerが渡されるのを防いだり、「rel=noreferrer」を指定してリファラーヘッダーが送信されるのを防いだりといった使い方を想定したものです。

◆grid-templateプロパティの内挿機能

CSSグリッドレイアウトでは、開発者はgrid-template-columnsプロパティおよびgrid-template-rowsプロパティによって、ライン名を定義したりグリッドの列と行のサイズを追跡したりできます。今回のアップグレードによりこれらのプロパティについて内挿(補間)機能をサポートすることとなり、アニメーションや遷移の中間点でスナップせずスムーズに遷移できるようになります。これにより、ウェブアプリの表現力がより豊かになることが期待できます。

◆リソースのレンダリングブロック状態

リソースのレンダリングブロック状態を示すフィールドをPerfomanceResourceTimingに追加します。これまで、どのリソースがレンダリングブロック状態であり、どのリソースがそうでないかを判断するために、開発者はヒューリスティクスに頼る必要がありましたが、ウェブ公開フィールドを提供することで各リソースのレンダリングブロック状態に関してブラウザから直接シグナルを受け取ることができるようになります。



◆URLPatternのignoreCaseオプション

多くのクライアント側JavaScriptフレームワークは現在、大文字と小文字を区別しないURLマッチングを使用しています。ただし、URLPatternはURLセマンティクスに従っており、よってURLの多くの部分で大文字と小文字を区別します。そこで、URLPatternに「ignoreCase」オプションを追加し、これを有効にすることで、指定されたパターンに対してすべて大文字と小文字を区別せずマッチングするように切り替えることが可能になります。

◆非推奨化

今回の更新で、以下の機能が役目を終えたと判断され、非推奨となりました。

・Expect-CT:ウェブサイトが証明書の透明性(CT)の実施を要求可能にするHTTPヘッダー

◆オリジントライアル

今回の更新から、以下の機能がオリジントライアル入りしています。

・宣言型PendingBeacon API:ビーコン送信の信頼性向上

・Permissions-Policy: unload:unloadイベントハンドラの実行を無効化できる

また、「Google Chrome 107」には14件のセキュリティバグフィックスが含まれています。

なお、次期安定版の「Google Chrome 108」は現地時間の2022年11月29日にリリース予定です。