Chrome 149 beta

Dipublikasikan: 6 Mei 2026

Kecuali dinyatakan lain, perubahan berikut berlaku untuk rilis saluran beta Chrome terbaru untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut fitur yang tercantum di sini melalui link yang disediakan atau dari daftar di ChromeStatus.com. Chrome dalam versi beta mulai 6 Mei 2026. Anda dapat mendownload versi terbarunya di Google.com untuk desktop atau di Google Play Store di Android.

CSS dan UI

Menghapus aturan stylesheet UA warna batas eksplisit untuk tabel

Perubahan ini menghapus aturan CSS border-color: gray yang salah dari stylesheet UA untuk elemen <table>.

Spesifikasi HTML tidak berisi aturan ini, dan menyebabkan batas tidak ditetapkan ke currentColor secara default. Firefox maupun Webkit tidak memiliki aturan warna batas gray ini dalam stylesheet UA mereka, sehingga menyebabkan masalah interoperabilitas.

Dukungan path() dan shape() di shape-outside

Menambahkan dukungan untuk fungsi bentuk path() dan shape() dalam properti CSS shape-outside. Fungsi ini memungkinkan developer menentukan bentuk pengecualian float menggunakan koordinat persegi panjang.

Dukungan rect() dan xywh() di shape-outside

Menambahkan dukungan untuk fungsi bentuk dasar rect() dan xywh() dalam properti CSS shape-outside. Fungsi ini memungkinkan developer menentukan bentuk pengecualian float menggunakan koordinat persegi panjang, sehingga menyelaraskan Chrome dengan Firefox dan Safari yang sudah mendukung fitur ini.

Warna aksen sistem cakupan aplikasi web

Membatasi akses ke warna aksen sistem untuk kata kunci CSS dan accent-color: auto agar hanya berada dalam aplikasi web dan konteks profil awal.

Kata kunci CSS AccentColor dan AccentColorText menimbulkan vektor fingerprinting yang signifikan saat mengekspos warna sistem pengguna secara luas di web. Oleh karena itu, fitur ini hanya tersedia dalam konteks aplikasi web yang diinstal. Kontrol formulir dengan accent-color: auto juga cocok dengan cakupan ini saat peluncuran fitur ini. Hal ini memperkenalkan ekspektasi developer dan pengguna yang lebih konsisten untuk warna sistem dan selaras dengan batasan sidik jari untuk AccentColor[Text].

Memangkas teks yang meluap saat interaksi pengguna

Saat pengguna berinteraksi (mengedit atau navigasi kursor) dengan teks yang memiliki setelan text-overflow: ellipsis, teks akan beralih sementara dari elipsis ke clip sehingga pengguna dapat melihat dan berinteraksi dengan konten yang tersembunyi karena meluap. Fitur ini berlaku untuk semua elemen yang dapat diedit dan tidak dapat diedit. Untuk kontrol formulir (textarea, input), perilaku ini sudah didukung.

Dekorasi celah CSS

Dekorasi jarak CSS memungkinkan Anda menata gaya jarak dalam tata letak penampung seperti petak dan flexbox, mirip dengan column-rule dalam tata letak multi-kolom. Fitur ini sangat diminta oleh developer web yang harus menggunakan solusi sementara untuk menata celah dalam tata letak petak dan flexbox saat ini.

image-rendering: crisp-edges

image-rendering: crisp-edges menunjukkan bahwa gambar harus diskalakan dengan cara yang mempertahankan kontras dan tepi, serta menghindari penghalusan warna atau memperkenalkan blur pada gambar dalam prosesnya.

Batas lapisan teratas pseudo-class tindakan pengguna

Fitur ini menampilkan perilaku yang dijelaskan dalam spesifikasi CSS Selectors Level 4, yang menyatakan bahwa :hover, :active, dan :focus-within cocok dengan induk elemen, tetapi hanya hingga elemen lapisan atas pertama dalam rantai induk. Perubahan untuk Chromium menerapkan batasan ini untuk elemen lapisan atas.

Secara konkret, ini berarti bahwa dalam struktur berikut, jika pengguna mengarahkan kursor ke <button>, maka class semu :hover akan cocok dengan <button> dan popover, tetapi tidak akan cocok dengan elemen <main>.

<main>
  <div popover>
    <button></button>
  </div>
</main>
<script>document.querySelector('[popover]').showPopover();</script>

Alasan di balik perubahan ini adalah biasanya elemen lapisan atas dirender "di tempat lain", di lokasi yang terputus dari elemen induk secara visual. Jadi, biasanya tidak masuk akal untuk mengubah gaya elemen induk saat elemen lapisan atas diarahkan kursor atau diaktifkan, misalnya.

Penerapan pemilihan yang dapat disesuaikan yang dikirimkan di Chromium memiliki logika ini yang dikodekan secara permanen untuk kasus spesifik popover ::picker() pemilihan. Logika kasus khusus tersebut dihapus dan digantikan dengan perilaku yang lebih umum dengan fitur ini.

Mendukung path-length sebagai properti CSS

Perubahan ini memperkenalkan properti CSS baru, path-length, yang dipetakan ke atribut presentasi pathLength SVG yang ada. Atribut ini berlaku untuk elemen geometri SVG yang mendukung pathLength (termasuk <path>, <circle>, <rect>, <line>, <polyline>, <polygon>, dan <ellipse>).

Mengekspos pathLength sebagai properti CSS memungkinkan penulis menentukannya dalam stylesheet, gaya inline, dan animasi, sehingga memungkinkan properti tersebut berpartisipasi dalam CSS cascading, spesifisitas, transisi, dan animasi normal. Properti ini memengaruhi semua komputasi yang bergantung pada panjang jalur total, termasuk rendering putus-putus goresan dan pemosisian teks di sepanjang <textPath>.

Deklarasi CSS menggantikan atribut presentasi yang mengikuti aturan prioritas CSS standar. Nilai awal path-length adalah none, yang menunjukkan tidak adanya panjang jalur yang disediakan penulis dan berbeda dari nilai numerik eksplisit seperti 0.

Perilaku khusus atribut yang ada dipertahankan saat fitur dinonaktifkan.

Web API

Intl.Locale.prototype.variants

Tambahkan Intl.Locale.prototype.variants seperti yang dinyatakan dalam proposal TC39 dan juga terima "variants" dalam paket opsi di konstruktor Intl.Locale seperti dalam pembaruan ID bahasa TC39. Perubahan pada ECMA402 digabungkan dalam pull request 960 dan kode pengujian di test262 digabungkan dalam pull request 4474

Janji scroll terprogram

Saat ini, developer web tidak memiliki cara untuk mengetahui kapan scroll halus terprogram telah selesai. Fitur ini memberikan solusi untuk masalah tersebut: membuat metode scroll terprogram menampilkan objek Promise yang diselesaikan pada penyelesaian scroll dengan status gangguan.

Payment Request: mengizinkan pengelola pembayaran melaporkan kembali error internal

Memungkinkan pemroses pembayaran yang diakses dengan Payment Request API untuk menampilkan error yang berbeda untuk "dibatalkan pengguna" dan "error aplikasi pembayaran internal". Hal ini memungkinkan developer web membangun alur yang lebih baik bagi pengguna, misalnya dengan mencoba lagi atau kembali ke alur yang berbeda saat terjadi error aplikasi internal, sekaligus menghentikan alur dengan benar jika pengguna ingin membatalkan.

Web-based Payment Handler API dapat menunjukkan perbedaan ini berdasarkan error yang digunakan untuk menolak janji yang diteruskan ke PaymentRequestEvent.respondWith. Jika promise ditolak dengan OperationError, maka "error aplikasi internal" (OperationError) akan ditampilkan kepada penjual menggunakan metode PaymentRequest.show(), jika tidak, "pembatalan pengguna" (AbortError) akan ditampilkan.

Infrastruktur handler pembayaran aplikasi native juga diperbarui, tetapi berada di luar cakupan API web.

Mematuhi autocorrect="off" untuk keyboard sentuh Windows di TSF

Atribut autocorrect HTML memungkinkan penulis web mengontrol apakah koreksi otomatis harus diterapkan pada input pengguna dalam elemen yang dapat diedit, termasuk <input>, <textarea>, dan host contenteditable. Di Windows, keyboard sentuh mengabaikan atribut ini dan selalu mengoreksi otomatis kata. Misalnya, mengetik "truf" diikuti dengan spasi dalam elemen dengan autocorrect="off" akan menghasilkan "true ", bukan mempertahankan "truf ". Fitur ini membuat integrasi TSF Chrome mendeteksi dan mengembalikan koreksi otomatis keyboard sentuh saat elemen yang dapat diedit dan difokuskan memiliki autocorrect="off" yang ditetapkan.

Memutus koneksi WebSocket saat entri bfcache

Koneksi WebSocket aktif tidak lagi mencegah halaman disimpan dalam Back/Forward Cache (bfcache). Dengan menutup koneksi pada entri bfcache, bukan menandai dokumen sebagai tidak memenuhi syarat, browser memungkinkan halaman dengan websocket aktif disimpan dan dipulihkan.

Atribut Request.isReloadNavigation

Menambahkan atribut boolean hanya baca isReloadNavigation ke antarmuka Permintaan Fetch API. Atribut ini menunjukkan apakah permintaan navigasi saat ini dimulai sebagai pemuatan ulang yang dipicu pengguna (misalnya, menggunakan tombol muat ulang, location.reload(), atau history.go(0)). Sinyal ini terutama diekspos pada objek Permintaan dalam FetchEvent Service Worker.

Menonaktifkan filter SVG pada plugin dan iframe lintas origin serta terbatas

Peluncuran ini mencegah filter SVG diterapkan ke iframe lintas origin atau terbatas (misalnya, iframe sandbox) dan plugin sematan (misalnya, PDF). Saat frame atau plugin akan digambar dengan efek filter SVG, pohon efek akan dilalui untuk menemukan ancestor tertinggi tanpa filter SVG, dan efek tersebut kemudian diterapkan.

Uji coba origin baru

Di Chrome 149, Anda dapat memilih untuk mengikuti uji coba origin baru berikut.

Permissions Policy: focus-without-user-activation

Memberi penyemat kontrol atas fokus terprogram dari konten sematan dengan kebijakan izin focus-without-user-activation. Jika kebijakan ditolak untuk frame, panggilan fokus terprogram (element.focus(), autofocus, window.focus(), dialog.showModal(), dan fokus popover) akan diblokir kecuali jika dipicu oleh aktivasi pengguna. Fokus yang dimulai pengguna seperti mengklik atau berpindah tab tidak akan terpengaruh.

Kebijakan dapat ditetapkan menggunakan header respons HTTP Permissions-Policy atau atribut allow iframe. Delegasi fokus didukung: frame induk yang memiliki fokus dapat meneruskan fokus secara terprogram ke iframe turunan, meskipun jika turunan tersebut ditolak kebijakannya, dan setelah frame memiliki fokus, frame tersebut dapat memindahkan fokus dalam subpohonnya sendiri.

Gamepad event-driven input API

Usulan ini memperluas Gamepad API dengan model baru berbasis peristiwa yang memungkinkan aplikasi menerima input gamepad dengan latensi yang lebih rendah. Daripada mengandalkan polling yang sering menggunakan navigator.getGamepads(), developer kini dapat memproses peristiwa rawgamepadinputchange, yang diaktifkan setiap kali data input baru tersedia dari perangkat. Hal ini memungkinkan penanganan input yang lebih responsif, terutama dalam aplikasi yang sensitif terhadap latensi.

Deskriptor kustom WebAssembly

Memungkinkan WebAssembly menyimpan data yang terkait dengan jenis tingkat sumber secara lebih efisien dalam objek deskriptor kustom baru. Deskriptor kustom ini dapat dikonfigurasi dengan prototipe untuk objek WebAssembly dari jenis tingkat sumber tersebut. Hal ini memungkinkan metode diinstal pada rantai prototipe objek WebAssembly dan dipanggil langsung dari JavaScript menggunakan sintaks panggilan metode normal. Prototipe dan metode dapat dikonfigurasi secara deklaratif menggunakan fungsi bawaan yang diimpor.