Chrome 110 ベータ版

CSS のイニシャル レター、ウェブアプリ起動ハンドラ、FedCM API のクロスオリジン iframe サポートなど。

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

CSS

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

CSS 頭文字

頭文字は大きな装飾的な文字で、印刷が発明される以前から、文章の新しいセクションを始めるために使われてきました。CSS の initial-letter プロパティを使用すると、イニシャルの文字が後続のテキスト行にシンクする行数を設定できます。次の例では、イニシャルの文字が 3 行のテキストに表示されます。

.content::first-letter {
  initial-letter: 3;
}

最初の文字を含む段落が 3 行にまとめて表示される。

CSS 疑似クラス :picture-in-picture

:picture-in-picture 疑似クラスを使用すると、ウェブ デベロッパーは、ピクチャー イン ピクチャーで動画を開始、終了するときのメディア プレーヤーをカスタマイズできます。

「ピクチャー イン ピクチャー」疑似クラスのデモをお試しください

ウェブ API

AudioContext.setSinkId()

AudioContext.setSinkId は、出力に使用するオーディオ機器の ID を設定します。これにより、AudioContext は、ユーザーが選択した接続済み出力デバイスに音声をルーティングできます。

この機能について詳しくは、ウェブ オーディオで出力先デバイスを変更するの投稿をご覧ください。

クロスオリジンの iframe 内の FedCM

権限ポリシーを介して FedCM API のクロスオリジン iframe サポートが追加されました。クロスオリジンの iframe 内で FedCM API をトリガーする ID プロバイダのスクリプトをサンドボックス化できるため、ページ全体を完全に制御することはできません。これにより、iframe 自体でユーザーのログインが必要になるユースケースにも対応できます。どちらの場合も、親フレームで権限ポリシー identity-credentials-get を設定したクロスオリジン iframe を提供する必要があります。

iframe 認証情報なし

iframe 認証情報レスにより、デベロッパーは新しい一時的なコンテキストを使用してサードパーティの iframe でドキュメントを読み込むことができます。iframe の認証情報不要は、COEP の認証情報不要を一般化したもので、COEP がデプロイされない可能性のあるサードパーティの iframe をサポートします。これにより、サードパーティの iframe が COEP ページに埋め込むために COEP をサポートする必要があるという制約がなくなり、クロスオリジン分離の導入を検討しているデベロッパーにとっての障害となります。

詳しくは、iframe 認証情報なしをご覧ください。

FileSystemHandle::remove() メソッド

FileSystemHandleremove() メソッドを使用すると、showSaveFilePicker() からファイル ハンドルを取得したものの、結局保存せずにファイルを削除するという一般的なユースケースが可能になります。このメソッドが追加される前は、ハンドルからファイルまたはディレクトリを削除することは不可能でした。親ディレクトリのハンドルを取得して FileSystemDirectoryHandle::removeEntry() を呼び出す必要がありました。

Speculation Rules API によってトリガーされるプリフェッチ

プリフェッチは、将来のナビゲーションのためにメインリソースをフェッチし、それをメモリに保持して、次のナビゲーションの高速化に使用できるようにします。今回のリリースには、同一サイト プリフェッチと、リンク先サイトに認証情報が存在しない場合のクロスサイト プリフェッチの両方が含まれます。

URL で非移行 IDNA 処理を使用する

URL 処理において、IDNA 2008 を非移行モードで有効にし、Chrome の動作を Firefox や Safari と整合させます。Chrome は現在、URL 処理で IDNA 2008 を Transitional モードで使用しています。トランジショナル モードと非トランジショナル モードの主な違いは、偏差文字として知られる 4 つの文字、すなわち goog(LATIN SMALL LETTER SHARP S)または Proposal(GREEK SMALL LETTER FINAL SIGMA)、ZWJ(Zero width Joiner)、ZWNJ(Zero width non-joiner)の処理にあります。Transitional モードでは、偏差文字は IDNA2003 と同様に扱われます。非移行モードでは、これらの文字を含むドメインはマッピングなしでドメイン名で使用できるため、異なる IP アドレスに解決できます。たとえば、Chrome で「faß.de」と入力すると、Firefox では今日は別のサイトが開きます。Chrome で非推移 IDNA を有効にすると、ドメイン名に逸脱する文字を含めることができます。Firefox と Safari ではすでに 2016 年にこの変更が適用されており、引き続き非トランジショナル URL 処理が使用されます。

ウェブアプリ起動ハンドラ

launch_handler ウェブアプリ マニフェスト メンバーを追加して、ウェブアプリですべてのタイプのアプリ起動トリガーで起動動作をカスタマイズできるようにします。たとえば、次の例を使用すると、サンプルアプリを起動するたびに、常に新しいアプリ ウィンドウを起動するのではなく、既存のアプリ ウィンドウをフォーカスして(存在する場合)移動します。

{
    "name": "Example app",
    "start_url": "/index.html",
    "launch_handler": {
        "client_mode": "navigate-existing"
    }
}

ウェブ共有権限に関するポリシー

navigator.share() へのアクセスを制御します。デフォルトでは、サードパーティの iframe には Web Share API を使用する権限がありません。

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

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

ナビゲーション プリフェッチ キャッシュでの No-Vary-Search のサポート

URL クエリ パラメータが変更されても、プリフェッチと一致させます。No-Vary-Search HTTP レスポンス ヘッダーは、キャッシュ マッチングを目的として URL クエリの一部またはすべてを無視できることを宣言します。クエリ パラメータ キーの順序によってキャッシュミスが発生しない、特定のクエリ パラメータによってキャッシュミスが発生しない、特定の既知のクエリ パラメータのみによってキャッシュミスが発生することを宣言できます。複数のキャッシュに適用できますが、このエントリはプリフェッチ キャッシュのサポートを参照しています。

ナビゲーション プリフェッチ キャッシュ トライアルで No-Vary-Search のサポートに登録する

PerformanceResourceTiming.deliveryType

リソースの配信方法に関する情報を公開する。たとえば、キャッシュから配信されたリソース(現在は transferSize を通じて公開されています)や、前のページでプリフェッチされたナビゲーションは、識別に役立ちます。

SoftNavigation パフォーマンス エントリ

PerformanceObserver とパフォーマンス タイムラインの両方を使用して、ソフト ナビゲーションのヒューリスティック(試験運用版)をウェブ デベロッパーに公開します。

ソフト ナビゲーション ヒューリスティック トライアルに登録する

投機ルール: Speculation-Rules ヘッダーを使用して配信

現時点では、インライン スクリプトタグを使用した投機ルールのみを指定できます。提案された機能は、「Speculation-Rules」ヘッダーを介して代替手段を提供します。値には、application/speculationrules+json MIME タイプのテキスト リソースへの URL を指定する必要があります。リソースのルールは、ドキュメントのルールセットに追加されます。

推測ルール: ドキュメント提供のルール

ブラウザがページのリンク要素から推測用の URL を取得できるようにする投機ルール構文の拡張機能。使用できるリンクを制限する条件が含まれている場合もあります。

WebView での X-Requested-With

Android WebView で X-Requested-Header の従来の動作を保持するためのサポートを終了しました。このヘッダーは現在、埋め込みアプリのパッケージ名を値として設定されていますが、この動作は段階的にリリースされます。このトライアルでは、サポート終了後も、サイト所有者は引き続きヘッダーを受信できます。このヘッダーは使用を中止することもできます。

サポートの終了について詳しくは、別のブログ投稿でお知らせします。X-Requested-With の非推奨トライアルにはこちらから登録してください

サポートの終了と削除

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

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

セキュアでないコンテキストでの Web SQL の削除

Web SQL は、セキュアでないコンテキストでは削除されるようになりました。オリジンのプライベート ファイル システムを基盤とするブラウザで SQLite Wasm に切り替えることをおすすめします。

window.webkitStorageInfo を削除

従来の保存容量 API(window.webkitStorageInfo)のサポートが削除されました。2011 年に初めて導入された Chrome では、接頭辞付きの Quota API が実装されましたが、その後すぐに Quota API に続き、その後 Quota API も非推奨になりました。従来の Storage Quota API は、他のブラウザに実装されたことはなく、2013 年に非推奨となっています。