CSS の最初の文字、ウェブアプリの起動ハンドラ、FedCM API のクロスオリジン iframe サポートなど。
特に記載のない限り、下記の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能について詳しくは、記載されているリンクまたは 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;
}
CSS 疑似クラス :picture-in-picture
:picture-in-picture
疑似クラスは、動画がピクチャー イン ピクチャー の状態に入るときと出るときに、ウェブ デベロッパーがメディア プレーヤーをカスタマイズするのに役立ちます。
:picture-in-picture 疑似クラスのデモを試す。
ウェブ API
AudioContext.setSinkId()
AudioContext.setSinkId
は、出力に使用するオーディオ デバイスの ID を設定します。これにより、AudioContext
は、ユーザーが選択した接続された出力デバイスに音声を転送できます。
この機能について詳しくは、Web Audio で出力先デバイスを変更するをご覧ください。
クロスオリジン iframe 内の FedCM
権限ポリシーを介して FedCM API のクロスオリジン iframe サポートを追加しました。これにより、ウェブサイトは、クロスオリジン iframe で FedCM API をトリガーする ID プロバイダのスクリプトをサンドボックスに配置できるため、ページ全体を完全に制御できなくなります。また、iframe 自体にユーザーのログインが必要なユースケースにも対応できます。どちらの場合も、親フレームは、クロスオリジン iframe に権限ポリシー identity-credentials-get
を提供する必要があります。
IFrame 認証情報なし
IFrame 認証情報なしを使用すると、デベロッパーは新しいエフェメラル コンテキストを使用してサードパーティの iframe にドキュメントを読み込むことができます。iframe 認証情報なしは、COEP 認証情報なしを一般化したもので、COEP をデプロイしていないサードパーティの iframe をサポートします。これにより、サードパーティの iframe を COEP ページに埋め込むために COEP をサポートする必要があるという制約が解除され、クロスオリジン分離を採用しようとしているデベロッパーの障害が解消されます。
詳しくは、iframe 認証情報なしをご覧ください。
FileSystemHandle::remove()
メソッド
FileSystemHandle
の remove()
メソッドを使用すると、showSaveFilePicker()
からファイル ハンドルを取得した後、保存しないことにしてファイルを削除する一般的なユースケースを実現できます。このメソッドが追加される前は、ハンドルを指定してファイルまたはディレクトリを削除することはできませんでした。親ディレクトリのハンドルを取得して FileSystemDirectoryHandle::removeEntry()
を呼び出す必要がありました。
Speculation Rules API によってトリガーされるプリフェッチ
プリフェッチでは、今後のナビゲーション用のメイン リソースを取得し、メモリに保持して、次のナビゲーションを高速化するために使用できるようにします。このリリースでは、同一サイト プリフェッチと、リンク先サイトに認証情報が存在しない場合のクロスサイト プリフェッチの両方が含まれます。
URL で非移行 IDNA 処理を使用する
URL 処理の非移行モードで IDNA 2008 を有効にし、Chrome の動作を Firefox と Safari に合わせました。現在、Chrome では URL 処理で移行モードの IDNA 2008 を使用しています。移行モードと非移行モードの主な違いは、逸脱文字と呼ばれる 4 つの文字(ß(ラテン小文字シャープ S)、ς(ギリシャ小文字最終シグマ)、ZWJ(ゼロ幅結合子)、ZWNJ(ゼロ幅非結合子))の処理にあります。移行モードでは、逸脱文字は IDNA2003 と同じように処理されます。ß は ss にマッピングされ、ς は σ にマッピングされ、ZWJ と ZWNJ は削除されます。移行前モードでは、これらの文字を含むドメインは、マッピングなしでドメイン名に使用できるため、異なる IP アドレスに解決できます。たとえば、Chrome と Firefox で faß.de
と入力すると、開くサイトが異なります。Chrome で非移行 IDNA を有効にすると、ドメイン名に逸脱文字を使用できるようになります。Firefox と Safari では、2016 年にすでにこの変更が行われており、引き続き移行前 URL の処理が使用されています。
ウェブアプリ起動ハンドラ
ウェブアプリがすべてのタイプのアプリ起動トリガーで起動動作をカスタマイズできるようにする launch_handler
ウェブアプリ マニフェスト メンバーを追加します。たとえば、次のようにすると、Example アプリの起動時に常に新しいアプリ ウィンドウを起動するのではなく、既存のアプリ ウィンドウにフォーカスを当てて(存在する場合は)移動します。
{
"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 つの機能が削除されます。
セキュアでないコンテキストでの WebSQL を削除
WebSQL はセキュアでないコンテキストから削除されました。オリジンのプライベート ファイル システムを基盤とするブラウザの SQLite Wasm に切り替えることをおすすめします。
window.webkitStorageInfo を削除
従来のストレージ割り当て API である window.webkitStorageInfo のサポートを削除します。2011 年に導入された Chrome では、接頭辞付きの割り当て API を実装していましたが、すぐに Quota API に置き換えられ、現在は廃止されています。以前のストレージ割り当て API は他のブラウザで実装されたことがなく、2013 年以降非推奨になっています。