Chrome 146

Tanggal rilis stabil: 10 Maret 2026

Kecuali dinyatakan lain, perubahan berikut berlaku untuk rilis saluran stabil Chrome 146 untuk Android, ChromeOS, Linux, macOS, dan Windows.

CSS dan UI

Animasi yang dipicu scroll

Fitur ini menambahkan kontrol animasi berbasis posisi scroll, misalnya, memutar, menjeda, dan mereset animasi.

Pola umum di halaman di seluruh web adalah memulai animasi saat posisi scroll tercapai. Developer sering kali melakukannya dengan menggunakan JavaScript untuk mendeteksi secara manual bahwa elemen berada dalam area pandang penampung scroll-nya dan untuk memulai animasi yang sesuai (misalnya, menggeser elemen tersebut ke dalam tampilan). Banyak kasus penggunaan ini mengandalkan informasi yang diberikan secara deklaratif. Fitur ini memungkinkan Anda membuat interaksi seperti itu secara deklaratif dengan CSS, yang memungkinkan agen pengguna memindahkan interaksi ini ke thread pekerja. API ini juga mencakup antarmuka JavaScript yang memungkinkan Anda memperluas fitur ke animasi web selain animasi CSS.

Melacak bug #390314945 | Entri ChromeStatus.com | Spesifikasi

Properti trigger-scope

Properti trigger-scope memungkinkan Anda membatasi nama animation triggers yang dideklarasikan oleh trigger-instantiating properties.

Misalnya, Trigger-instantiating properties, timeline-trigger, mendeklarasikan nama yang dapat dirujuk oleh properti animation-trigger untuk melampirkan animasi ke pemicu. Namun, nama ini bersifat global secara default (mirip dengan anchor-name), dan sering kali berguna untuk membatasi visibilitas nama guna mengisolasi interaksi pemicu animasi.

Bug pelacakan #466134208 | Entri ChromeStatus.com | Spesifikasi

meta name="text-scale"

Ukuran font default root element diskalakan secara proporsional dengan setelan skala teks sistem operasi dan browser. Hal ini memungkinkan halaman yang mengikuti praktik terbaik seputar font-relative units (yaitu, menggunakan rem dan em untuk ukuran font dan elemen halaman yang menyesuaikan dengan preferensi ukuran teks pengguna) mematuhi setelan skala teks tingkat OS pengguna. Hal ini juga menonaktifkan mekanisme berbasis browser yang ada (yaitu, zoom layar penuh di Windows) dan heuristik (yaitu, pengubahan ukuran otomatis teks di perangkat seluler). Anda dapat memberi sinyal kepada browser bahwa halaman dibuat dengan cara (yaitu, dengan rem dan em) yang dapat diskalakan dengan baik di berbagai preferensi ukuran font yang dipilih pengguna. Mirip dengan env(preferred-text-scale), yang menyediakan cara untuk mengakses skala teks, API ini memperluasnya dengan mengaktifkan penskalaan menggunakan ukuran font default root element dan menonaktifkan penskalaan teks otomatis.

Bug pelacakan #430566925 | Entri ChromeStatus.com | Spesifikasi

Pendaftaran elemen kustom yang dicakup

Fitur ini memungkinkan beberapa definisi elemen kustom untuk satu nama tag ada dalam halaman. Hal ini mencegah konflik nama elemen kustom saat aplikasi web menggunakan library dari beberapa sumber. Hal ini dicapai dengan mengizinkan kode pengguna untuk membuat beberapa pendaftaran elemen kustom dan mengaitkannya dengan cakupan pohon dan elemen yang berfungsi sebagai objek cakupan.

Bug pelacakan #40826514 | Entri ChromeStatus.com | Spesifikasi

Kemampuan

Mengisi targetURL selama penanganan file

Penerapan Launch Handler kini memastikan LaunchParams.targetURL diisi saat PWA diluncurkan dengan penanganan file. Sebelum perubahan ini, properti bernilai null saat peluncuran file diarahkan ke jendela yang sudah ada. Perubahan ini memastikan bahwa URL dari kolom action manifes (URL yang sama yang harus dimuat dokumen saat ini) tersedia untuk konsumen launchQueue.

Bug pelacakan #464314997 | Entri ChromeStatus.com | Spesifikasi

Hentikan antrean ulang LaunchParams saat memuat ulang

Mencegah launchQueue mengirim ulang LaunchParams terakhir (termasuk handle file) saat pengguna memuat ulang halaman. Sebelumnya, refresh halaman memicu peluncuran konsumen lagi dengan data dari peluncuran asli. Perubahan ini memastikan bahwa pemuatan ulang diperlakukan sebagai navigasi standar, bukan "peluncuran ulang", dan launchQueue tidak akan diisi dengan file duplikat kecuali jika peristiwa peluncuran file baru terjadi.

Melacak bug #40204185 | Entri ChromeStatus.com

DOM

Navigation API: menambahkan post-commit handler dari precommit

Saat mencegat navigasi dengan peristiwa navigate, precommitHandlers dan handler biasa pasca-commit diteruskan secara terpisah.

Hal ini berfungsi dengan baik jika hanya ada satu atau yang lainnya, tetapi bisa merepotkan jika alurnya mencakup precommitHandler yang mengarah ke post-commit handler.

Penambahan ini merupakan peningkatan ergonomis kecil yang memungkinkan Anda mendaftarkan handler pasca-commit saat memanggil handler pra-commit.

Bug pelacakan #465487215 | Entri ChromeStatus.com | Spesifikasi

Grafik

WebGPU: Texture and Sampler Lets

Tambahkan fitur bahasa ke WGSL, texture_and_sampler_let, yang memungkinkan Anda menyimpan objek texture dan sampler ke dalam deklarasi let di WGSL.

Melacak bug #459500757 | Entri ChromeStatus.com | Spesifikasi

WebGPU: Lampiran sementara

Fitur ini menambahkan fungsi ke spesifikasi WebGPU setelah pengiriman pertamanya di browser.

TRANSIENT_ATTACHMENT GPUTextureUsage baru memungkinkan Anda membuat lampiran yang memungkinkan operasi render pass tetap berada di memori petak, sehingga menghindari traffic VRAM dan berpotensi menghindari alokasi VRAM untuk tekstur.

Melacak bug #462620664 | Entri ChromeStatus.com | Spesifikasi

Mode Kompatibilitas WebGPU

Mode ini menambahkan subset API WebGPU yang bersifat opsional dan sedikit dibatasi yang dapat menjalankan API grafis yang lebih lama, misalnya, OpenGL dan Direct3D11. Dengan memilih untuk menggunakan mode ini dan mematuhi batasannya, Anda dapat memperluas jangkauan aplikasi WebGPU ke banyak perangkat lama yang tidak memiliki API grafis modern dan eksplisit yang diperlukan WebGPU inti. Untuk aplikasi sederhana, satu-satunya perubahan yang diperlukan adalah menentukan compatibility featureLevel saat memanggil requestAdapter. Untuk aplikasi yang lebih canggih, beberapa modifikasi mungkin diperlukan untuk mengakomodasi batasan mode. Karena mode Kompatibilitas adalah subset, aplikasi yang dihasilkan juga merupakan aplikasi WebGPU Core yang valid dan dapat berjalan bahkan di agen pengguna yang tidak mendukung mode Kompatibilitas.

Melacak bug #442618060 | Entri ChromeStatus.com | Spesifikasi

JavaScript

Pengurutan iterator

Proposal TC39 untuk membuat iterators dengan mengurutkan iterators yang ada. Hal ini memperkenalkan Iterator.concat (...items).

Melacak bug #434977727 | Entri ChromeStatus.com | Spesifikasi

Intervensi izin selektif

Saat Anda memberikan izin kepada situs untuk mengakses API canggih (misalnya, Bluetooth, Camera, Clipboard, DisplayCapture, Geolocation, Microphone, Serial, dan USB), izin Anda ditujukan untuk situs tersebut, bukan untuk setiap skrip pihak ketiga yang berjalan di halaman. Secara khusus, skrip iklan sematan yang berjalan di frame utama atau iframe dengan origin yang sama dapat menggunakan izin halaman untuk mengakses data sensitif ini secara oportunistik. Anda mungkin tidak menyadari bahwa iklan sedang mengakses informasi Anda.

Intervensi ini bertujuan untuk menyelaraskan izin yang diberikan dengan maksud Anda secara lebih baik dengan mencegah skrip iklan dalam konteks dengan izin API menggunakannya, sehingga memperkuat kepercayaan dan kontrol Anda atas data Anda.

Melacak bug #435214052 | Entri ChromeStatus.com | Spesifikasi

Mempertahankan nilai dropEffect dari Peristiwa dragover ke drop

HTML5 Drag and Drop API memungkinkan aplikasi web menangani operasi tarik lalu lepas melalui serangkaian peristiwa: dragstart, dragenter, dragover, dragleave, drop, dan dragend. Selama peristiwa ini, properti dataTransfer.dropEffect menunjukkan operasi mana (copy, move, link, atau none) yang harus dilakukan.

Menurut HTML5 specification, nilai dropEffect yang ditetapkan oleh aplikasi web selama peristiwa dragover terakhir harus dipertahankan dan tersedia dalam peristiwa drop berikutnya.

Namun, browser berbasis Chromium mengganti nilai dropEffect aplikasi web dengan operasi yang dinegosiasikan browser sendiri sebelum peristiwa drop diaktifkan, sehingga melanggar kepatuhan spesifikasi dan membatasi kontrol Anda atas perilaku tarik lalu lepas. Perilaku ini kini telah diubah.

Melacak bug #40068941 | Entri ChromeStatus.com | Spesifikasi

Multimedia

Playback Statistics API untuk WebAudio

Fitur ini menambahkan atribut AudioContext.playbackStats yang menampilkan objek AudioPlaybackStats. Objek ini memberikan statistik pemutaran audio, misalnya, average latency, minimum/maximum latency, underrun duration, dan underrun count. API ini memungkinkan aplikasi web memantau kualitas pemutaran audio dan mendeteksi gangguan.

Bug pelacakan #475838360 | Entri ChromeStatus.com | Spesifikasi

Jaringan

Mempertahankan Parameter Jenis MIME URL Data

Pertahankan MIME type parameters (misalnya, charset, boundary) di header URL data Content-Type seperti yang ditentukan dalam Fetch Standard.

Melacak bug #40487194 | Entri ChromeStatus.com | Spesifikasi

Performa

LCP: Mencocokkan perilaku yang ditentukan untuk memancarkan kandidat

Algoritma LCP kini memancarkan kandidat berdasarkan gambar terbesar yang di-paint bukan gambar terbesar yang tertunda tetapi belum di-paint. Hal ini dapat menyebabkan lebih banyak kandidat perantara ditampilkan ke linimasa performa.

Di setiap frame animasi, setelah ditampilkan, algoritma LCP akan memancarkan kandidat baru (paling banyak satu) ke linimasa performa jika ada teks atau gambar terbesar baru yang di-paint dalam frame tersebut. Algoritma juga melacak "gambar tertunda terbesar", yaitu gambar terbesar yang masih dimuat, dan menggunakan ukuran gambar tersebut untuk menentukan apakah kandidat baru adalah yang terbesar. Artinya, gambar besar yang dimuat secara lambat dapat mencegah emisi kandidat LCP menengah, dan kandidat ini sering kali memberikan informasi berguna bagi Anda untuk memahami progres pemuatan.

Perilaku ini muncul selama Interop 2025 sebagai perbedaan dengan mesin lainnya, dan tim setuju untuk menyelaraskan agar memancarkan paling banyak satu kandidat per frame berdasarkan kumpulan elemen gambar dan teks yang digambar untuk frame tersebut.

Bug pelacakan #482261053 | Entri ChromeStatus.com | Spesifikasi

Keamanan

Sanitizer API

Sanitizer API menawarkan cara untuk menghapus konten yang mungkin menjalankan skrip dari konten HTML arbitrer yang disediakan pengguna. Tujuannya adalah mempermudah pembuatan aplikasi web bebas XSS.

Melacak bug #40138584 | Entri ChromeStatus.com | Spesifikasi

Uji coba origin

WebNN

WebNN memungkinkan aplikasi dan framework web memanfaatkan layanan sistem operasi native untuk machine learning dan kemampuan hardware pokok yang tersedia di komputer Anda guna menerapkan pengalaman ML yang konsisten, efisien, dan andal di web.

Uji Coba Origin | Bug pelacakan #40206287 | Entri ChromeStatus.com | Spesifikasi

CPU Performance API

API ini mengekspos informasi tentang daya perangkat Anda. API ini menargetkan aplikasi web yang menggunakan informasi ini untuk memberikan pengalaman pengguna yang lebih baik, mungkin bersama dengan Compute Pressure API, yang memberikan informasi tentang tekanan atau penggunaan CPU perangkat dan memungkinkan aplikasi bereaksi terhadap perubahan tekanan CPU.

Melacak bug #449760252 | Entri ChromeStatus.com | Spesifikasi

Aturan spekulasi: kolom form_submission

Hal ini memperluas sintaksis speculation rules, sehingga Anda dapat menentukan kolom form_submission untuk prerender.

Kolom ini mengarahkan browser untuk menyiapkan prerender sebagai pengiriman formulir, sehingga dapat diaktifkan oleh navigasi pengiriman formulir yang sebenarnya. Misalnya, formulir penelusuran sederhana menghasilkan navigasi permintaan GET /search?q=XXX; developer web telah meminta dukungan untuk hal ini.

Bug pelacakan #346555939 | Entri ChromeStatus.com | Spesifikasi

Focusgroup

Fitur Focusgroup memfasilitasi navigasi fokus keyboard di antara serangkaian elemen yang dapat difokuskan dengan menggunakan tombol panah keyboard.

Pelajari lebih lanjut focusgroup di Permintaan masukan developer: focusgroup.

Uji Coba Origin | Melacak bug #1286127 | Entri ChromeStatus.com | Spesifikasi