「Google Chrome 138」安定版リリース、文章の要約や翻訳の機能を提供するAPIを公開 – GIGAZINE


ウェブブラウザ「Google Chrome」の最新安定版であるバージョン138がリリースされました。言語モデルを利用して文章の要約や翻訳を行うAPIが公開され、ウェブ開発者が言語モデルを扱う機能を実装するための労力が大幅に軽減されます。またセキュリティリスクを軽減する数々の更新も含まれています。

Chrome 138  |  Release notes  |  Chrome for Developers
https://developer.chrome.com/release-notes/138

◆Summarizer API
Summarizer APIは、AI言語モデルに基づき入力テキストを要約するJavaScript APIです。これまで、同等の機能を実装しようとすると、ウェブサイトが独自に数GB規模の言語モデルを用意するか、あるいは入力されたテキストを逐一サードパーティーのウェブAPIに送信するかといった手段を採らざるを得ませんでした。Summarizer APIではブラウザに組み込まれた言語モデルを使用するため、こういった煩雑な実装を行う必要がなくなります。


このAPIについては、以下のデモサイトで動作を確認することができます。

Summarization API Playgroud
https://chrome.dev/web-ai-demos/summarization-api-playground/

◆Language Detector API
Language Detector APIは、入力テキストの言語を信頼度付きで検出するJavaScript APIです。言語検出は翻訳をサポートするうえで重要な役割であり、例えば未知の言語を入力された際に特定の言語へと翻訳するケースなどに役立ちます。すでにブラウザには内部的に言語検出機能が搭載されており、その窓口としてJavaScript APIを用意することでウェブ開発者が言語検出機能を使用できるようになります。


◆Translator API
Translator APIは、ウェブページに言語翻訳機能を提供するJavaScript APIです。ブラウザがユーザー向けに言語翻訳を提供するケースは増えていますが、他方でDOMに含まれないコンテンツ(ユーザー入力やその他のインタラクティブ機能の翻訳、音声コンテンツなど)にはブラウザ内蔵の翻訳機能では対応できなかったため、クラウドAPIを呼び出したり、WebAssemblyやWebGPUなどのテクノロジーを導入して独自の翻訳モデルを実行したりする必要がありました。こういったケースに対して、Translator APIはウェブ開発者に言語翻訳機能を提供してくれます。


◆属性値に含まれる「」のエスケープ
HTMLの仕様が更新され、シリアライズ時に属性値に含まれる「」がエスケープされるようになりました。これにより、属性値がシリアライズ・再解析されることにより開始・終了タグトークンとして解釈されてしまい、ひいてはmutation XSS(mXSS)攻撃(PDFファイル)に晒されるといったリスクを軽減します。

一般的に、HTMLサニタイザーは以下のように使用されます。このときマークアップ文字列はまずシリアライズされ、その後に再解析されることになります。


ここで、具体的なマークアップ文字列として以下の例を考えてみます。


これをDOMツリーとして解析すると、以下の構造になります。


このマークアップ文字列自体には特に危険性は見られないため、以下のようにシリアライズされます。


シリアライズ後のマークアップ文字列を再解析すると、以下のDOMツリーとして解釈されます。ここで注目すべき点は、シリアライズ前の解析では存在しなかったはずのimgタグが現れていることです。


こういったケースを防ぐには、シリアライズ時に「」をエスケープする必要があります。


なお、この仕様変更は「破壊的変更」と呼ばれる後方互換性を保証しない変更であり、その影響については以下で詳しく述べられています。

HTML 仕様の変更: 属性の のエスケープ  |  Blog  |  Chrome for Developers
https://developer.chrome.com/blog/escape-attributes?hl=ja

◆OSレベルのフォントスケールをCSS環境変数として提供
これまで、ユーザーがOSレベルで設定したフォントサイズ設定を実質的な意味でウェブページに反映する手段はありませんでした。そこで、OSレベルのフォントスケールをpreferred-text-scale環境変数としてCSSで使用できるようになりました。例えば、「text-size-adjust:auto」によりテキストサイズが2倍になる設定がなされている場合、env(preferred-text-scale)の返却値は2となります。

◆CSS sibling-index()・sibling-count()
sibling-index()とsibling-count()は、いずれもCSSプロパティ値として使用できる関数であり、これらを用いることで兄弟要素の位置または合計数に基づいて要素のスタイルを設定できるようになります。これらの関数は整数値として直接使用することもできますが、calc()式内で使用することでさらに表現力が向上します。


◆CSSサイズ設定キーワード:stretch
stretchはCSSのサイズ設定プロパティ(width・heightなど)の値として使用可能なキーワードです。これを使用すると、指定した要素のサイズが親ブロックの使用可能なスペースを完全に埋めるまで拡大します。stretchが100%指定と異なる点は、指定して得られるサイズがbox-sizingで指定されたボックスではなく、親要素のマージンブロックのサイズとなるところです。つまり、このキーワードを使用することで、親要素の余白を維持しつつ可能な限り大きくすることができます。

例として、以下のHTMLについて見てみます。


親子要素で構成される2つの領域のうち、一方の子要素にのみ、heightにstretchを指定します。


結果は以下の通り、stretchを指定した側は親要素のマージンの内側いっぱいまでサイズが拡大されているのがわかります。


◆Crash Reportingのフィールド追加
Crash ReportingReporting APIを使用してサイト所有者にブラウザのクラッシュを報告する仕組みです。レポート内容の本体となるCrashReportBodyインターフェースに以下の2つのフィールドが追加されました。

・is_top_level:クラッシュレポートを送信したドキュメントが最上位のトラバーサブルに属しているかどうかを示すBoolean文字列
・page_visibility:ビューポートが少しでも表示されていた(‘visible’)か、完全に隠されていた(‘hidden’)かを示す文字列


◆スクリプトの完全性に関するポリシー
サブリソース完全性(SRI)を使用することにより、ウェブ開発者はロードしようとしているアセットが実際にロードするアセットかどうかを確認できますが、これまではすべてのスクリプトがSRIによって検証されていることを保証する方法はありませんでした。そこでIntegrity-Policyヘッダーを使用することにより、開発者は特定のタイプの全リソースに対して完全性チェックが必要であることを宣言できるようになりました。


◆StorageManager.estimate()の返値に関する修正
無制限のストレージ権限を持たないサイトでは、StorageManagerのAPIから予測可能なストレージクォータが報告されます。ただ、シークレットモードでブラウズしている場合は通常モードよりも利用可能なストレージ容量が大幅に少なくなるため、報告されたストレージクォータからサイト側でユーザーのブラウジングモードが検知される可能性があります。これを避けるため、ストレージ権限が制限されているサイトでは、すべてのブラウジングモードで使用量+最小値(10GiB、ディスクを1GiB単位で切り上げ)に相当する人工的な割り当てを報告するようになります。なお、無制限のストレージ権限を持つサイトや強制クォータはこの修正の影響を受けません。

◆その他の更新
・CSS:符号関連の関数abs()・sign()
・CSS:補間進行状況の関数progress()
・Viewport Segments Enumeration API:折りたたみ式デバイス向けのビューポートセグメント管理
・WebCodecs:動画フレームの向き保持するメタデータをサポート
・AndroidのBluetooth経由Web Serial:Bluetoothでのシリアルポート接続をサポート
・信頼できないプレーンテキストのHTTPプリレンダリングを禁止:プリフェッチとの整合性を確保
・ネストされたビュー遷移:階層化された疑似要素ツリーを生成可能に
・再定期購入時のpushsubscriptionchangeイベント発行
・投機ルール:Clear-Site-DataヘッダーにprefetchCacheとprerenderCacheを追加
・投機ルール:target_hintフィールドを開発者が指定できるように投機ルール構文を拡張
・Storage Access APIのセマンティクスが同一オリジンポリシーに厳密に準拠するよう調整

◆非推奨化される機能
・Media Source Extensionsの非同期範囲削除:SafariやFirefoxと仕様を合わせる
・SwiftShaderによるWebGLへの自動フォールバック:セキュリティリスクの軽減
・WebGPUのGPUAdapter.isFallbackAdapterブール属性

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

なお、次期安定版の「Google Chrome 139」は現地時間の2025年8月5日(火)にリリース予定です。

この記事のタイトルとURLをコピーする


ソース元はコチラ

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事