「Google Chrome 146」安定版リリース、WebGPUが大幅に機能追加

ウェブブラウザ「Google Chrome」の最新安定版であるバージョン146がリリースされました。WebGPUに関連していくつかの新機能が実装されています。
Chrome 146 | Release notes | Chrome for Developers
https://developer.chrome.com/release-notes/146?hl=ja
◆ WebGPU:texture_and_sampler_let拡張機能
WGSL(WebGPU Shading Language)に言語拡張機能としてtexture_and_sampler_letが追加されました。texture_and_sampler_letを使用することによりWGSLシェーダー内のletで宣言される変数にテクスチャーオブジェクトやサンプラーオブジェクトを割り当てることができるようになります。
@group(0) @binding(0) var tex: texture_2d<f32>;
@group(1) @binding(0) var store : texture_storage_2d<r32float, read_write>;
@fragment fn main() {
let a = tex;
var res: vec4f = textureLoad(a, vec2i(1i), 0);
textureStore(store, vec2i(0i), res);
}
◆ WebGPU:互換モード
OpenGLやDirect3D 11といったレガシーなグラフィックAPIを実行できるWebGPU APIの制限付きサブセットがオプトインで追加されます。このモードを選択して一定の制約に従えば、本来WebGPUが要求する最新のグラフィックAPIを搭載していない多くの古いデバイスであってもWebGPUアプリケーションが動作するようになります。
// Request a GPUAdapter in compatibility mode.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
const device = await adapter.requestDevice();
◆WebGPU:一時的なアタッチメント
新たにサポートされたTRANSIENT_ATTACHMENT GPUTextureUsageフラグを使用することによりメモリ効率の高いアタッチメントを作成できます。これによりレンダリングパスオペレーションがタイルメモリに残り、VRAMトラフィックやテクスチャーのVRAM割り当てを回避することができます。テクスチャーを一時的(メモリレス)として宣言するとGPUはテクスチャーのコンテンツが現在のレンダリングパス内でのみ必要であることを認識します。さらにテクスチャーの内容はレンダリングパスの後に破棄されるため、ドライバーがテクスチャー用にVRAMを割り当てる必要がないケースもあります。
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
if ('TRANSIENT_ATTACHMENT' in GPUTextureUsage) {
const transientTexture = device.createTexture({
size: [42, 42],
// TRANSIENT_ATTACHMENTフラグはテクスチャーの内容が一時的であることを示し、
// 場合により高速なオンチップメモリに保持される。
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TRANSIENT_ATTACHMENT,
format: 'rgba8unorm',
});
}
◆CSStext-indentプロパティのキーワード追加
text-indentプロパティに設定可能なキーワードが2つ追加されました。
・each-line:すべての行にインデントを適用(自動折り返しの次の行を除く)
・hanging:先頭行以外のすべての行にインデントを適用
text-indent: 5em each-line;
text-indent: 5em hanging;
text-indent: 5em hanging each-line;
◆Sanitizer API
今回の更新でSanitizer APIが追加されました。Sanitizer APIは クロスサイトスクリプティング(XSS)のリスクのないウェブアプリケーションを簡単に構築できるようにすることを目的としており、利用することによりHTMLコンテンツから悪意あるスクリプトを実行する可能性のあるコンテンツを削除できます。
const untrustedString = "abc <script>alert(1)<" + "/script> def"; // Untrusted HTML (perhaps from user input)
const someTargetElement = document.getElementById("target");
// someElement.innerHTML = untrustedString;
someElement.setHTML(untrustedString);
console.log(target.innerHTML); // abc def
◆スコープ付きカスタム要素レジストリ
スコープ付きカスタム要素レジストリの機能を利用することで1つのタグ名に対して複数のカスタム要素定義を同一ページ内に存在させることができるようになり、複数のライブラリを使用しているウェブアプリでカスタム要素名が競合するといった事態を防ぐことができます。これまではウェブページのすべてのカスタム要素の定義は window.customElementsという単一の共有レジストリ上に存在していました。したがってウェブページが使用する2つのライブラリが同じタグ名(例:<my-card>)のカスタム要素を別個に定義していた場合、エラーが発生してしまいました。このような事態はnew CustomElementRegistry()を呼び出すことによりライブラリごとに独立したレジストリを作成し、同名のカスタム要素を別のレジストリで管理するようにすれば回避できます。
// 独立したカスタムレジストリの作成
const registry = new CustomElementRegistry();
// 作成したレジストリにカスタム要素を定義
registry.define('my-card', class extends HTMLElement {
connectedCallback() {
this.textContent = 'Hello from scoped registry!';
}
});
◆その他の更新
・スクロールトリガー:スクロール位置に基づくアニメーションの制御が可能に
・CSS trigger-scopeプロパティ:trigger-instantiatingプロパティで宣言されたアニメーションのトリガー名を制限
・Navigation API:precommitHandlerの呼び出し中にpost-commitハンドラを登録できるよう改善
・起動ハンドラーAPI:ファイル処理を通じてPWAが起動されたときにLaunchParams.targetURLが確実に設定されるよう改善
・Intl.Locale.prototype.variantsの追加
・Iteratorの順序付け:既存のイテレータをシーケンス処理してイテレータを作成するTC39提案の実装
・新規metaタグ:meta name="text-scale"
・dragoverイベントからdropイベントへのdropEffect値を保持
・Data URLのMIMEタイプのパラメータを保持
・選択的な権限介入:サイトに許可した強力なAPIにアクセスする権限をサードパーティースクリプトが使用するのを防げるように
・WebAudioの再生統計情報API
・LCP:候補の出力に関する仕様を他のエンジンの動作に合わせる
◆オリジントライアル
・WebNN
・CPU Performance API
・投機ルール:form_submissionフィールド
・Focusgroup:キーボードの矢印キーによる要素セット間のフォーカス移動
また、Google Chrome 146には多数のセキュリティバグフィックスが含まれています。
なお、次期安定版の「Google Chrome 147」は現地時間の2026年4月7日(火)にリリース予定です。
・関連記事
「Google Chrome 145」安定版リリース、マルチカラムレイアウトの折り返しに対応 - GIGAZINE
「Google Chrome 144」安定版リリース、サードパーティーCookie代替の諸機能が非推奨化 - GIGAZINE
無料で使えるChromeの内蔵AI翻訳機能で投稿を自動翻訳できるWordPressプラグイン「Multilingual AI Translator」 - GIGAZINE
GoogleがChromeのリリースサイクルを4週間から2週間に短縮 - GIGAZINE
287個の悪質なChrome拡張機能がユーザーデータを漏洩または盗難していることが判明 - GIGAZINE
WebLLMを使ってクラウドもAPIキーも不要なAIブラウザ自動化ツール「On-device AI browser」 - GIGAZINE
・関連コンテンツ
in ソフトウェア, Posted by log1c_sh
You can read the machine translated English article 'Google Chrome 146' stable release, WebG….







