Beta Chrome 142

Dipublikasikan: 1 Oktober 2025

Kecuali dinyatakan lain, perubahan ini berlaku untuk rilis saluran beta Chrome 142 untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut fitur ini dari link yang disediakan atau di ChromeStatus.com. Download Chrome 142 Beta dari Google.com untuk desktop atau Google Play Store untuk Android.

CSS dan UI

Pseudo-class :target-before dan :target-after

Class pseudo ini cocok dengan penanda scroll yang berada sebelum atau setelah penanda aktif (yang cocok dengan :target-current) dalam grup penanda scroll yang sama, sebagaimana ditentukan oleh urutan hierarki datar:

  • :target-before: Mencocokkan semua penanda scroll yang mendahului penanda aktif dalam urutan hierarki datar dalam grup.
  • :target-after: Mencocokkan semua penanda scroll yang mengikuti penanda aktif dalam urutan hierarki datar dalam grup.

Pemosisian absolut untuk elemen ::view-transition

Transisi tampilan menggunakan sub-pohon semu elemen, dengan ::view-transition menjadi root transisi tersebut. Sebelumnya, elemen ::view-transition ditentukan memiliki position: fixed. Grup Kerja CSS memutuskan untuk membuat position: absolute ini dan Chrome kini mencerminkan perubahan tersebut.

Perubahan ini tidak akan terlihat karena blok penampung elemen ini tetap menjadi blok penampung snapshot dalam kasus absolut atau tetap. Satu-satunya perbedaan yang terlihat adalah pada getComputedStyle.

Properti activeViewTransition pada dokumen

View Transitions API memungkinkan developer memulai transisi visual di antara berbagai status. Titik entri SPA utama adalah startViewTransition(), yang menampilkan objek transisi. Objek ini berisi beberapa promise dan fungsi untuk melacak progres transisi, serta memungkinkan Anda memanipulasi transisi, misalnya, dengan melewati transisi atau mengubah jenisnya.

Mulai Chrome 142, developer tidak perlu lagi menyimpan objek ini. Properti document.activeViewTransition mewakili objek ini, atau null jika tidak ada transisi yang sedang berlangsung.

Hal ini juga berlaku untuk transisi MPA, di mana objek hanya tersedia melalui peristiwa pageswap dan pagereveal. Dalam pembaruan ini, document.activeViewTransition ditetapkan ke objek ini selama durasi transisi.

Sintaksis rentang untuk kueri penampung gaya dan if()

Chrome meningkatkan kualitas kueri gaya CSS dan fungsi if() dengan menambahkan dukungan untuk sintaks rentang.

Fitur ini memperluas kueri gaya di luar pencocokan nilai persis (misalnya, style(--theme: dark)). Developer dapat menggunakan operator perbandingan (seperti > dan <) untuk membandingkan properti kustom, nilai literal (misalnya, 10 px atau 25%), dan nilai dari fungsi penggantian seperti attr() dan env(). Untuk perbandingan yang valid, kedua sisi harus diselesaikan ke jenis data yang sama. Nilai ini terbatas pada jenis numerik berikut: <length>, <number>, <percentage>, <angle>, <time>, <frequency>, dan <resolution>.

Contoh:

Membandingkan properti kustom dengan panjang literal:

@container style(--inner-padding > 1em) {
  .card {
    border: 2px solid;
  }
}

Membandingkan dua nilai literal

@container style(1em < 20px) {
  /* ... */
}

Menggunakan rentang gaya di if():

.item-grid {
  background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}

Pemicu Minat (atribut interestfor)

Chrome menambahkan atribut interestfor ke elemen <button> dan <a>. Atribut ini menambahkan perilaku "minat" ke elemen. Saat pengguna "menunjukkan minat" pada elemen, tindakan akan dipicu pada elemen target, misalnya, menampilkan popover. Agen pengguna mendeteksi saat pengguna "menunjukkan minat" pada elemen melalui metode seperti menahan kursor di atas elemen, menekan tombol pintas khusus di keyboard, atau menekan lama elemen di layar sentuh. Saat minat ditampilkan atau hilang, InterestEvent diaktifkan pada target, yang memiliki tindakan default untuk popover, seperti menampilkan dan menyembunyikan popover.

Properti font-language-override

Chrome memperkenalkan dukungan untuk properti CSS font-language-override. Properti ini memungkinkan developer mengganti bahasa sistem yang digunakan untuk penggantian glyph OpenType dengan menentukan tag bahasa empat karakter langsung di CSS.

Fitur ini memungkinkan kontrol tipografi yang terperinci, yang sangat berguna untuk konten multibahasa atau font dengan varian glif khusus bahasa.

Atribut download di elemen <a> SVG

Chrome memperkenalkan dukungan untuk atribut download pada antarmuka SVGAElement, yang selaras dengan spesifikasi SVG 2. Atribut download memungkinkan penulis menentukan bahwa atribut tersebut mendownload target hyperlink SVG, bukan membukanya. Hal ini mencerminkan perilaku yang sudah didukung di HTMLAnchorElement. Fitur ini meningkatkan interoperabilitas di seluruh browser utama dan memastikan perilaku yang konsisten antara elemen HTML dan SVG <a>, serta meningkatkan pengalaman developer dan ekspektasi pengguna.

Paritas seluler dan desktop untuk mode rendering elemen select

Dengan menggunakan atribut size dan multiple, elemen <select> dapat dirender sebagai kotak daftar dalam halaman atau tombol dengan pop-up. Namun, mode ini tidak memiliki ketersediaan yang konsisten di Chrome seluler dan desktop. Rendering kotak daftar dalam halaman tidak tersedia di perangkat seluler, dan tombol dengan pop-up tidak tersedia di desktop jika atribut multiple ada.

Update ini menambahkan kotak daftar ke perangkat seluler dan pop-up multi-pilihan ke desktop, serta memastikan bahwa keikutsertaan dengan atribut size dan multiple menghasilkan mode rendering yang sama di perangkat seluler dan desktop. Perubahan ini diringkas sebagai berikut:

  • Jika atribut size memiliki nilai yang lebih besar dari 1, rendering dalam halaman akan selalu digunakan. Perangkat seluler mengabaikannya sebelumnya.
  • Jika atribut multiple ditetapkan tanpa atribut size, rendering dalam halaman akan digunakan. Perangkat seluler sebelumnya menggunakan pop-up, bukan kotak daftar dalam halaman.
  • Saat atribut multiple disetel dengan size=1, pop-up akan digunakan. Perangkat desktop sebelumnya menggunakan kotak daftar dalam halaman.

Aktivasi pengguna tetap di seluruh navigasi yang dimulai perender origin yang sama

Chrome mempertahankan status aktivasi pengguna yang tetap setelah halaman membuka halaman lain dengan origin yang sama. Tidak adanya aktivasi pengguna di halaman pasca-navigasi mencegah beberapa kasus penggunaan, misalnya, menampilkan keyboard virtual pada fokus otomatis. Hal ini telah memblokir developer yang ingin membuat MPA melalui SPA.

Hal ini tidak mencakup permintaan navigasi yang dimulai browser (muat ulang, navigasi histori, URL yang diketik di kolom URL, dan sebagainya).

Web API

WebGPU: Fitur primitive_index

WebGPU menambahkan kapabilitas opsional baru yang mengekspos shader bawaan WGSL baru, primitive_index. API ini menyediakan indeks per-primitif ke shader fragmen pada hardware yang didukung, mirip dengan bawaan vertex_index dan instance_index. Indeks primitif berguna untuk teknik grafis lanjutan, seperti geometri virtual.

WebGPU: Tingkat format tekstur 1 dan tingkat 2

Perluas dukungan format tekstur GPU dengan kemampuan seperti lampiran render, penggabungan, multi-sampling, penyelesaian, dan storage_binding.

Properti DataTransfer untuk peristiwa input insertFromPaste, insertFromDrop, dan insertReplacementText

Isi properti dataTransfer pada peristiwa input dengan nilai inputType insertFromPaste, insertFromDrop, dan insertReplacementText untuk memberikan akses ke data papan klip dan tarik lalu lepas selama operasi pengeditan dalam elemen contenteditable.

Objek dataTransfer berisi data yang sama yang tersedia selama peristiwa beforeinput.

Fitur ini hanya berlaku untuk elemen contenteditable. Untuk kontrol formulir (textarea, input), perilakunya tidak berubah.

Properti ini membuat Chrome dapat beroperasi dengan Safari dan Firefox.

Sesi media: menambahkan alasan ke detail tindakan enterpictureinpicture

Menambahkan enterPictureInPictureReason ke MediaSessionActionDetails yang dikirim ke tindakan enterpictureinpicture di Media Session API. Hal ini memungkinkan developer membedakan antara tindakan enterpictureinpicture yang dipicu secara eksplisit oleh pengguna (misalnya, dari tombol di agen pengguna) dan tindakan enterpictureinpicture yang dipicu secara otomatis oleh agen pengguna karena konten menjadi tertutup.

Penyesuaian kontekstual Web Speech API

Dengan pembaruan ini, situs dapat mendukung penyesuaian kontekstual untuk pengenalan ucapan dengan menambahkan daftar frasa pengenalan ke Web Speech API.

Developer dapat memberikan daftar frasa dan memperbaruinya untuk menerapkan bias pada model pengenalan ucapan yang mendukung frasa tersebut. Fitur ini membantu meningkatkan akurasi dan relevansi untuk pengenalan ucapan yang dipersonalisasi dan khusus domain.

Validasi token MIME *+json yang lebih ketat untuk modul JSON

Menolak respons skrip modul JSON yang jenis atau subjenis MIME-nya berisi titik kode token non-HTTP (misalnya, spasi) saat dicocokkan dengan *+json. Hal ini sesuai dengan spesifikasi MIME Sniffing dan mesin lainnya. Fitur ini merupakan bagian dari area fokus modul Interop2025.

FedCM—Mendukung tampilan origin iframe pihak ketiga di UI

Sebelum Chrome 142, FedCM selalu menampilkan situs tingkat teratas di UI-nya.

Hal ini berfungsi dengan baik saat iframe secara konseptual adalah pihak pertama (misalnya, foo.com mungkin memiliki iframe foostatic.com, yang tidak bermakna bagi pengguna).

Namun, jika iframe sebenarnya adalah pihak ketiga, sebaiknya tampilkan origin iframe di UI agar pengguna lebih memahami siapa yang mereka bagikan kredensialnya. Misalnya, editor foto dapat disematkan di aplikasi web penerbitan buku dan mungkin ingin mengizinkan pengguna mengakses file yang mereka simpan sebelumnya dengan editor foto. Kemampuan ini kini tersedia.

Isolasi proses sesuai origin

Mengubah kebijakan isolasi proses dari mengunci proses ke situs (misalnya, example.com) menjadi menguncinya ke origin tertentu (misalnya, foo.example.com).

Untuk lebih meningkatkan keamanan, Chrome beralih ke model isolasi proses yang lebih terperinci yang disebut "Isolasi Asal". Chrome menggunakan "Isolasi Situs", yang mengelompokkan berbagai origin dari situs yang sama, misalnya, a.example.com dan b.example.com, ke dalam satu proses perender.

Dengan Isolasi Origin, setiap origin individual (seperti https://foo.example.com) diisolasi dalam proses perenderannya sendiri. Fitur ini memperkuat arsitektur keamanan Chrome dengan menyelaraskan batas proses dengan model keamanan berbasis origin web yang mendasar, sehingga menawarkan perlindungan yang lebih baik terhadap potensi kerentanan dalam situs.

Peristiwa pointerrawupdate yang dapat dioperasikan hanya diekspos dalam konteks aman

Spesifikasi PointerEvents membatasi pointerrawupdate ke konteks aman pada tahun 2020, menyembunyikan pemicuan peristiwa dan pemroses peristiwa global dari konteks yang tidak aman. Dengan update ini, Chrome sesuai dengan spesifikasi yang diperbarui dan dapat beroperasi dengan browser utama lainnya.

Uji coba origin sedang berlangsung

Di Chrome 142, Anda dapat memilih untuk ikut serta dalam uji coba origin baru berikut.

Kredensial Sesi yang Terikat Perangkat

Cara bagi situs untuk mengikat sesi dengan aman ke satu perangkat.

Fitur ini memungkinkan server mengikat sesi ke perangkat dengan aman. Browser memperbarui sesi secara berkala saat diminta oleh server, dengan bukti kepemilikan kunci pribadi.

Kumpulan Soket TCP per situs tingkat teratas

Eksperimen ini mengevaluasi dampak perubahan ukuran pool soket TCP per profil dari 256 (default) menjadi 513 sekaligus menambahkan batas 256 per situs tingkat teratas (untuk memastikan tidak ada dua tab yang dapat menghabiskan pool). Kelayakan untuk menaikkan batas per profil menjadi 512 telah dipelajari dan tidak menghasilkan hasil negatif. Batas per situs tingkat teratas sebesar 256 sama dengan batas per profil default, sehingga tidak akan berdampak negatif pada performa. Batasan ini diberlakukan secara terpisah untuk kumpulan WebSocket dan kumpulan soket normal (HTTP).

Tujuannya adalah meluncurkan eksperimen ini secara langsung jika tidak ada efek negatif.