Chrome 135 beta

Dipublikasikan: 05 Maret 2025

Kecuali jika dinyatakan lain, perubahan berikut berlaku untuk rilis saluran Chrome beta 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 135 adalah versi beta mulai 5 Maret 2025. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS dan UI

Rilis ini menambahkan tiga belas fitur CSS dan UI baru.

Offset scroll yang diingat oleh pemosisian anchor

Menambahkan dukungan untuk konsep offset scroll yang diingat. Jika elemen yang diposisikan memiliki anchor default, dan terikat ke anchor ini di salah satu tepi, dan terhadap blok penampung asli di tepi lainnya, offset scroll akan diperhitungkan saat menentukan ukuran elemen. Artinya, Anda dapat menggunakan semua ruang yang terlihat (menggunakan position-area) untuk elemen yang ditautkan saat dokumen di-scroll pada offset scroll tertentu. Untuk menghindari tata letak (mengubah ukuran elemen) setiap kali dokumen di-scroll, browser menggunakan offset scroll yang diingat, bukan selalu menggunakan offset scroll saat ini. Offset scroll yang diingat diperbarui pada titik penghitungan ulang anchor, yang merupakan posisi tempat elemen yang diposisikan awalnya ditampilkan, atau, saat opsi posisi yang berbeda (position-try-fallbacks) dipilih.

Inertness CSS

Membuat elemen menjadi tidak aktif akan memengaruhi apakah elemen tersebut dapat difokuskan, diedit, dipilih, dan ditelusuri dengan temukan di halaman. Hal ini juga memengaruhi apakah elemen tersebut terlihat di hierarki aksesibilitas. Properti interactivity menentukan apakah elemen dan turunan hierarki datarnya (termasuk run teks) tidak aktif atau tidak. Properti interactivity menerima salah satu dari dua nilai: auto atau inert.

Properti overflow logis

Properti CSS overflow-inline dan overflow-block memungkinkan Anda menetapkan overflow dalam arah inline dan blok relatif terhadap mode penulisan. Dalam mode penulisan horisontal, overflow-inline dipetakan ke overflow-x, sedangkan dalam mode penulisan vertikal, overflow-inline dipetakan ke overflow-y.

Fungsi terkait tanda ​abs() dan sign() ​menghitung berbagai fungsi yang terkait dengan tanda argumennya.

Properti dynamic-range-limit

Memungkinkan halaman membatasi kecerahan maksimum konten HDR.

Fungsi shape()

Fungsi shape() memungkinkan bentuk bebas responsif di properti clip-path. Ini memungkinkan Anda menentukan serangkaian perintah, yang setara dengan perintah di path(). Namun, perintah ini menerima unit responsif (misalnya, % atau vw), serta nilai CSS apa pun seperti properti khusus.

Pseudo-elemen ::column

Elemen pseudo ::column, yang memungkinkan penerapan serangkaian gaya terbatas ke fragmen yang dihasilkan. Secara khusus, hal ini terbatas pada gaya yang tidak memengaruhi tata letak, sehingga dapat diterapkan setelah tata letak.

::scroll-button() elemen pseudo

Mengizinkan pembuatan tombol scroll interaktif sebagai pseudo-elemen. Contoh:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Tombol ini harus dapat difokuskan, berperilaku seperti tombol (termasuk gaya UA-nya). Saat diaktifkan, scroll harus dilakukan ke arah tertentu dengan jumlah tertentu. Jika tidak dapat men-scroll ke arah tersebut, tombol harus dinonaktifkan (dan diberi gaya dengan :disabled), jika tidak, tombol akan diaktifkan (dan diberi gaya dengan :enabled). Pemilih memungkinkan Anda menentukan tombol dalam empat arah logis: block-start, block-end, inline-start, inline-end; serta empat arah fisik: up, down, left, right.

::scroll-marker dan ::scroll-marker-group

Menambahkan ::scroll-marker dan ::scroll-marker-group untuk penampung scroll. Elemen pseudo ini memungkinkan Anda membuat kumpulan penanda yang dapat difokuskan untuk semua item terkait dalam penampung scroll.

Gaya elemen pseudo bertingkat

Mengaktifkan gaya pseudo-elemen yang disusun bertingkat di dalam pseudo-elemen lainnya. Sejauh ini, dukungan ditentukan untuk: ::before::marker dan ::after::marker dengan ::column::scroll-marker didukung pada masa mendatang.

Untuk menghilangkan kebocoran histori penjelajahan pengguna, elemen anchor diberi gaya sebagai :visited hanya jika telah diklik dari situs dan origin frame tingkat teratas ini sebelumnya. Dengan hanya menata gaya link yang telah diklik di situs dan bingkai ini sebelumnya, banyak serangan side-channel yang telah dikembangkan untuk mendapatkan informasi gaya link :visited kini tidak berlaku lagi, karena tidak lagi memberikan informasi baru tentang pengguna kepada situs.

Ada pengecualian untuk link mandiri, yaitu link ke halaman situs sendiri dapat diberi gaya sebagai :visited meskipun belum pernah diklik di situs dan origin frame tingkat teratas yang tepat ini sebelumnya. Pengecualian ini hanya diaktifkan di frame atau subframe tingkat atas yang memiliki origin yang sama dengan frame tingkat atas. Manfaat privasi tetap tercapai karena situs sudah mengetahui subhalaman mana yang telah dikunjungi pengguna, sehingga tidak ada informasi baru yang terekspos. Ini adalah pengecualian yang diminta komunitas untuk meningkatkan pengalaman pengguna.

Notasi fungsi progres interpolasi: Fungsi *progress() CSS

Notasi fungsional progress(), media-progress(), dan container-progress() mewakili jarak proporsional dari nilai tertentu (nilai progres) dari satu nilai (nilai awal progres) ke nilai lain (nilai akhir progres). Fungsi ini memungkinkan gambar rasio progres dari fungsi matematika, fitur media, dan fitur penampung.

Variabel safe-area-max-inset-*

Selain variabel lingkungan safe-area-inset, Chrome kini juga mendukung varian max-area-safe-inset-* dari variabel ini. Tidak seperti inset dinamis, inset maksimum tidak berubah dan mewakili inset area aman maksimum.

Nilai ini diperlukan saat membuat pengalaman web dari ujung ke ujung yang berperforma baik.

Web API

Menambahkan dukungan MediaStreamTrack ke Web Speech API

Menambahkan dukungan MediaStreamTrack ke Web Speech API. Web Speech API adalah API standar web yang memungkinkan developer menggabungkan pengenalan dan sintesis ucapan ke dalam halaman web mereka. Saat ini, Web Speech API menggunakan mikrofon default pengguna sebagai input audio. Dukungan MediaStreamTrack memungkinkan situs menggunakan Web Speech API untuk memberi teks pada sumber audio lainnya, termasuk trek audio jarak jauh.

Partisi URL Blob: Pengambilan dan navigasi

Sebagai kelanjutan dari Partisi Penyimpanan, fitur ini menerapkan partisi akses URL Blob menurut Kunci Penyimpanan (situs tingkat teratas, origin frame, dan boolean has-cross-site-ancestor), kecuali navigasi tingkat teratas yang akan tetap dipartisi hanya menurut origin frame.

CSP require-sri-for untuk skrip

Perintah require-sri-for memberi Anda kemampuan untuk menyatakan bahwa setiap resource dari jenis tertentu perlu diperiksa integritasnya. Jika resource jenis tersebut dicoba dimuat tanpa metadata integritas, upaya tersebut akan gagal dan memicu laporan pelanggaran CSP. Intent ini mencakup nilai "script" dari perintah ini.

Membuat klien service worker dan mewarisi pengontrol service worker untuk iframe srcdoc

Dokumen konteks srcdoc saat ini bukan klien service worker dan tidak tercakup oleh service worker induknya. Hal ini menyebabkan beberapa perbedaan (misalnya, Resource Timing melaporkan URL yang dimuat dokumen ini, tetapi service worker tidak mencegatnya). Hal ini bertujuan untuk memperbaiki perbedaan tersebut dengan membuat klien service worker untuk iframe srcdoc dan membuatnya mewarisi pengontrol service worker induknya.

Mengirim peristiwa klik ke pointer yang direkam

Jika pointer diambil saat peristiwa pointerup dikirim, peristiwa click akan dikirim ke target yang diambil, bukan ancestor umum terdekat peristiwa pointerdown dan pointerup sesuai spesifikasi Peristiwa UI. Untuk pointer yang tidak diambil, target click tetap tidak berubah.

Float16Array

Menambahkan array berjenis Float16Array. Nilai angka dibulatkan ke IEEE fp16 saat menulis ke instance Float16Array.

Menyertakan pemicu navigasi ke dalam kunci partisi cache HTTP

Skema kunci cache HTTP Chrome telah diperbarui untuk menyertakan boolean is-cross-site-main-frame-navigation guna mengurangi serangan kebocoran lintas situs yang melibatkan navigasi tingkat teratas. Secara khusus, tindakan ini akan mencegah serangan lintas situs saat penyerang dapat memulai navigasi tingkat atas ke halaman tertentu, lalu membuka resource yang diketahui dimuat oleh halaman tersebut untuk menyimpulkan informasi sensitif melalui waktu pemuatan. Perubahan ini juga meningkatkan privasi dengan mencegah situs berbahaya menggunakan navigasi untuk menyimpulkan apakah pengguna telah mengunjungi situs tertentu sebelumnya.

Pencegahan pelacakan HSTS

Mengurangi pelacakan pengguna oleh pihak ketiga melalui cache HSTS.

Fitur ini hanya mengizinkan upgrade HSTS untuk navigasi tingkat atas dan memblokir upgrade HSTS untuk permintaan sub-resource. Tindakan ini membuat situs pihak ketiga tidak dapat menggunakan cache HSTS untuk melacak pengguna di seluruh web.

Perintah Pemanggil: atribut command dan commandfor

Atribut command dan commandfor pada elemen <button> memungkinkan Anda menetapkan perilaku ke tombol dengan cara yang lebih mudah diakses dan deklaratif, sekaligus mengurangi bug dan menyederhanakan jumlah JavaScript yang diperlukan untuk interaktivitas. Tombol dengan atribut commandfor dan command akan—saat diklik, disentuh, atau diaktifkan dengan penekanan tombol—mengirim CommandEvent pada elemen yang direferensikan oleh commandfor, dengan beberapa perilaku default seperti membuka dialog dan popover.

Menambahkan dukungan untuk <link rel="facilitated-payment" href="..."> sebagai petunjuk bahwa browser harus memberi tahu klien pembayaran terdaftar tentang pembayaran push yang tertunda.

Properti NavigateEvent sourceElement

Saat navigasi dimulai oleh Elemen (yaitu, klik link atau pengiriman formulir), properti sourceElement di NavigateEvent akan menampilkan elemen yang memulai.

Perubahan nama alasan API NotRestoredReasons

NotRestoredReasons API mengubah beberapa teks alasan agar selaras dengan nama standar. Developer yang memantau alasan ini mungkin melihat perubahan teks alasan.

Web Speech API di perangkat

Fitur ini menambahkan dukungan pengenalan ucapan di perangkat ke Web Speech API, sehingga situs dapat memastikan bahwa audio maupun ucapan yang ditranskripsikan tidak dikirim ke layanan pihak ketiga untuk diproses. Situs dapat mengkueri ketersediaan pengenalan ucapan di perangkat untuk bahasa tertentu, meminta pengguna untuk menginstal resource yang diperlukan untuk pengenalan ucapan di perangkat, dan memilih antara pengenalan ucapan di perangkat atau berbasis cloud sesuai kebutuhan.

URL klien Pekerja Layanan mengabaikan perubahan history.pushState

Mengubah properti Client.url pekerja layanan untuk mengabaikan perubahan URL dokumen menggunakan history.pushState() dan API histori serupa lainnya. Properti Client.url dimaksudkan sebagai URL pembuatan dokumen HTML yang mengabaikan perubahan tersebut.

Mendukung atribut rel dan relList untuk SVGAElement

Antarmuka SVGAElement di SVG 2.0 memungkinkan manipulasi elemen <a> yang mirip dengan elemen anchor HTML. Mendukung atribut rel dan relList akan meningkatkan keamanan dan privasi bagi developer. Penyelarasan ini dengan elemen anchor HTML memastikan konsistensi dan kemudahan penggunaan di seluruh teknologi web.

Stempel Waktu untuk Frame yang Dienkode RTC

Fitur ini terdiri dari mengekspos ke Web beberapa stempel waktu yang ada dalam frame yang dienkode WebRTC yang dikirim melalui RTCPeerConnection. Stempel waktu yang dipermasalahkan adalah:

  • Stempel waktu pengambilan: stempel waktu saat frame pertama kali diambil
  • Stempel waktu diterima: stempel waktu saat frame diterima

Memperbarui ProgressEvent untuk menggunakan jenis ganda untuk 'dimuat' dan 'total'

ProgressEvent memiliki atribut loaded dan total yang menunjukkan progres, dan jenisnya sekarang adalah unsigned long long. Dengan fitur ini, jenis untuk kedua atribut ini diubah menjadi double, yang memberi developer kontrol lebih besar atas nilai. Misalnya, developer kini dapat membuat ProgressEvent dengan total 1 dan loaded meningkat dari 0 menjadi 1 secara bertahap. Hal ini selaras dengan perilaku default elemen HTML <progress> jika atribut maksimum dihilangkan.

fetchLater API

fetchLater() API adalah JavaScript API untuk meminta pengambilan yang ditangguhkan, terutama berguna untuk beaconing yang lebih andal di akhir masa aktif halaman. Setelah dipanggil dalam dokumen, permintaan yang ditangguhkan akan diantrekan oleh browser dalam status TERTUNDA, dan akan dipanggil oleh kondisi berikut yang paling awal:

Dokumen dihancurkan. Setelah waktu yang ditentukan pengguna. Untuk alasan privasi, semua permintaan yang tertunda akan dihapus saat dokumen memasuki bfcache, berapa pun waktu yang tersisa. Browser memutuskan bahwa sudah waktunya untuk mengirimnya.

API menampilkan FetchLaterResult yang berisi kolom boolean activated yang dapat diperbarui untuk mengetahui apakah permintaan yang ditangguhkan telah dikirim atau tidak. Setelah berhasil dikirim, seluruh respons akan diabaikan oleh browser, termasuk isi dan header.

Perhatikan bahwa dari sudut pandang pengguna API, waktu pengiriman yang tepat tidak diketahui.

Uji coba origin baru

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

Pemanggil Minat

Fitur ini menambahkan atribut interesttarget ke elemen <button> dan <a>. Atribut interesttarget menambahkan perilaku "minat" ke elemen, sehingga saat pengguna "menunjukkan minat" pada elemen, tindakan akan dipicu pada elemen target. Tindakan dapat mencakup hal-hal seperti menampilkan popover. Agen pengguna akan menangani deteksi saat pengguna "menunjukkan minat" pada elemen, menggunakan metode seperti mengarahkan kursor ke elemen dengan mouse, menekan hotkey khusus pada keyboard, atau menekan lama elemen pada layar sentuh. Saat minat ditampilkan atau hilang, InterestEvent akan diaktifkan pada target, yang memiliki tindakan default dalam kasus popover—menampilkan dan menyembunyikan popover.

Integritas Berbasis Tanda Tangan

Fitur ini memberi developer web mekanisme untuk memverifikasi asal resource yang mereka andalkan, sehingga menciptakan fondasi teknis untuk kepercayaan pada dependensi situs. Singkatnya: server dapat menandatangani respons dengan pasangan kunci Ed25519, dan developer web dapat mewajibkan agen pengguna untuk memverifikasi tanda tangan menggunakan kunci publik tertentu. Hal ini menawarkan tambahan yang berguna untuk pemeriksaan berbasis URL yang ditawarkan oleh Kebijakan Keamanan Konten di satu sisi, dan pemeriksaan berbasis konten Integrity Subresource di sisi lain.

Penghentian dan penghapusan

Versi Chrome ini memperkenalkan penghentian penggunaan dan penghapusan yang tercantum di bawah. Buka ChromeStatus.com untuk melihat daftar penghentian penggunaan yang direncanakan, penghentian penggunaan saat ini, dan penghapusan sebelumnya.

Rilis Chrome ini tidak lagi menggunakan satu fitur.

Menghentikan penggunaan pengambil Intl Locale Info

Intl Locale Info API adalah proposal TC39 ECMAScript Tahap 3 untuk meningkatkan objek Intl.Locale dengan mengekspos informasi Lokalitas, seperti data minggu (hari pertama dalam seminggu, hari pertama akhir pekan, hari terakhir akhir pekan, hari minimum dalam minggu pertama), dan siklus jam arah teks yang digunakan di lokalitas. Chrome meluncurkan penerapan di Chrome 99, tetapi proposalnya berubah untuk memindahkan beberapa pengambil ke fungsi. Kita perlu menghapus pengambil yang tidak digunakan lagi dan meluncurkan kembali fungsi yang diganti namanya.

Rilis Chrome ini menghapus tiga fitur.

Menghapus metode navigator.xr.supportsSession yang tidak digunakan lagi

navigator.xr.supportsSession diganti dalam spesifikasi WebXR dengan metode navigator.xr.isSessionSupported pada September 2019 setelah menerima masukan tentang bentuk API dari TAG. Sejak itu, API ini telah ditandai sebagai tidak digunakan lagi di Chrome, sehingga menghasilkan peringatan konsol yang mengalihkan developer ke API yang telah diperbarui. Penggunaan panggilan ini sangat rendah, dan semua framework utama yang digunakan untuk mem-build konten WebXR telah dikonfirmasi telah diupdate untuk menggunakan panggilan yang lebih baru.

Menghapus properti NavigateEvent canTransition

Di Chrome 108, metode transitionWhile() dan properti canTransition NavigateEvent diganti dengan metode intercept() dan properti canIntercept baru. Pada saat itu, metode transitionWhile() dihapus. Namun, kita lupa menghapus properti canTransition: sebagai gantinya, kita meninggalkannya sebagai alias untuk canIntercept. Di Chrome 135, kami memperbaikinya dan menghapus canTransition. Setiap penggunaan canTransition dapat diganti dengan canIntercept, tanpa perubahan perilaku.

Menghapus batas WebGPU maxInterStageShaderComponents

Batas maxInterStageShaderComponents dihapus karena kombinasi faktor:

  • Redundansi dengan maxInterStageShaderVariables: Batas ini sudah memiliki tujuan yang serupa, yaitu mengontrol jumlah data yang diteruskan di antara tahap shader.
  • Perbedaan Kecil: Meskipun ada sedikit perbedaan dalam cara penghitungan kedua batas tersebut, perbedaan ini bersifat kecil dan dapat dikelola secara efektif dalam maxInterStageShaderVariables limit.
  • Penyederhanaan: Menghapus maxInterStageShaderComponents akan menyederhanakan antarmuka shader dan mengurangi kompleksitas bagi developer. Alih-alih mengelola dua batas terpisah (yang keduanya berlaku secara bersamaan, tetapi dengan perbedaan halus), mereka dapat berfokus pada maxInterStageShaderVariables yang lebih tepat namanya dan komprehensif.