Dipublikasikan: 5 Maret 2025
Kecuali jika 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 135 masih dalam versi beta pada 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 untuk posisi anchor
Menambahkan dukungan untuk konsep offset scroll yang diingat. Jika elemen yang diposisikan memiliki anchor default, dan terikat ke anchor ini di satu tepi, dan terhadap blok penampung asli di tepi lainnya, offset scroll akan dipertimbangkan saat menentukan ukuran elemen. Artinya, Anda dapat menggunakan semua ruang yang terlihat (menggunakan position-area) untuk elemen yang di-anchor 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 diupdate pada anchor
titik penghitungan ulang, yang merupakan posisi tempat elemen yang diposisikan
awalnya ditampilkan, atau, saat opsi posisi yang berbeda
(position-try-fallbacks) dipilih.
CSS Inertness
Membuat elemen inert akan memengaruhi apakah elemen tersebut dapat difokuskan, diedit, dipilih, dan ditelusuri oleh fitur temukan di halaman. Hal ini juga memengaruhi apakah elemen tersebut terlihat di pohon aksesibilitas. Properti interactivity menentukan apakah elemen dan turunan pohon datar (termasuk rangkaian teks) bersifat inert 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 horizontal, overflow-inline dipetakan ke overflow-x, sedangkan dalam mode penulisan vertikal, properti ini dipetakan ke overflow-y.
Fungsi terkait tanda: abs() dan sign()
Properti dynamic-range-limit
Memungkinkan halaman membatasi kecerahan maksimum konten HDR.
Fungsi shape()
Fungsi shape() memungkinkan bentuk responsif bentuk bebas dalam properti clip-path. Fungsi ini memungkinkan Anda menentukan serangkaian perintah, yang setara dengan perintah dalam path(). Namun, perintah ini menerima unit responsif (misalnya, % atau vw), serta nilai CSS apa pun seperti properti kustom.
Pseudo-elemen ::column
Pseudo-elemen ::column, yang memungkinkan penerapan kumpulan gaya terbatas ke fragmen yang dihasilkan. Secara khusus, hal ini terbatas pada gaya yang tidak memengaruhi tata letak, sehingga dapat diterapkan setelah tata letak.
Pseudo-elemen ::scroll-button()
Memungkinkan 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 sebagai tombol (termasuk gaya UA-nya).
Saat diaktifkan, scroll harus dilakukan ke arah tertentu.
Jika tidak memungkinkan untuk 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 men-scroll penampung.
Pseudo-elemen ini memungkinkan Anda membuat kumpulan penanda yang dapat difokuskan untuk semua item terkait dalam penampung scroll.
Penataan gaya pseudo-elemen bertingkat
Memungkinkan penataan gaya pseudo-elemen yang berada di dalam pseudo-elemen lainnya.
Sejauh ini, dukungan ditentukan untuk: ::before::marker dan ::after::marker dengan ::column::scroll-marker yang akan didukung di masa mendatang.
Mempartisi histori link :visited
Untuk menghilangkan kebocoran histori penjelajahan pengguna, elemen anchor diberi gaya sebagai :visited hanya jika telah diklik sebelumnya dari situs tingkat teratas dan origin frame. Dengan hanya menata gaya link yang telah diklik sebelumnya di situs dan frame ini, 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 self-link, yaitu link ke halaman situs sendiri dapat diberi
gaya sebagai :visited meskipun belum pernah diklik sebelumnya di situs tingkat teratas dan origin frame yang sama. Pengecualian ini hanya diaktifkan di frame atau subframe tingkat teratas dan memiliki origin yang sama dengan frame tingkat teratas. Manfaat privasi masih dapat dicapai karena situs sudah mengetahui subhalaman mana yang telah dikunjungi pengguna, sehingga tidak ada informasi baru yang terekspos. Pengecualian yang diminta komunitas ini meningkatkan pengalaman pengguna.
Notasi fungsional progres interpolasi: Fungsi CSS *progress()
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 maks tidak berubah dan mewakili inset area aman maksimum yang mungkin.
Nilai ini diperlukan saat membangun pengalaman web edge-to-edge yang berperforma tinggi.
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
Direktif 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. Tujuan ini mencakup nilai "script"
dari direktif 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). Tujuan ini adalah 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 direkam saat peristiwa pointerup dikirim, peristiwa click akan dikirim ke target yang direkam, bukan ke ancestor umum terdekat dari peristiwa pointerdown dan pointerup sesuai spesifikasi Peristiwa UI. Untuk pointer yang tidak direkam, target click tetap tidak berubah.
Float16Array
Menambahkan array yang diketik Float16Array. Nilai angka dibulatkan ke IEEE fp16 saat menulis ke instance Float16Array.
Menggabungkan inisiator navigasi ke dalam kunci partisi cache HTTP
Skema kunci cache HTTP Chrome telah diupdate untuk menyertakan boolean is-cross-site-main-frame-navigation guna mengurangi serangan kebocoran lintas situs yang melibatkan navigasi tingkat teratas. Secara khusus, hal ini akan mencegah serangan lintas situs yang memungkinkan penyerang memulai navigasi tingkat teratas 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
Memitigasi pelacakan pengguna oleh pihak ketiga melalui cache HSTS.
Fitur ini hanya mengizinkan upgrade HSTS untuk navigasi tingkat teratas dan memblokir upgrade HSTS untuk permintaan sub-resource. Dengan begitu, situs pihak ketiga tidak akan 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 commandfor dan command atribut 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.
Menautkan rel="facilitated-payment" untuk mendukung pembayaran push
Menambahkan dukungan untuk <link rel="facilitated-payment" href="..."> sebagai petunjuk bahwa
browser harus memberi tahu klien pembayaran terdaftar tentang pembayaran push yang tertunda.
Properti sourceElement NavigateEvent
Saat navigasi dimulai oleh Elemen (yaitu, klik link atau pengiriman formulir), properti sourceElement pada NavigateEvent akan menampilkan elemen yang memulai.
Perubahan nama alasan NotRestoredReasons API
NotRestoredReasons API mengubah beberapa teks alasan agar selaras dengan nama standar. Developer yang memantau alasan ini mungkin akan melihat perubahan pada teks alasan.
Web Speech API di perangkat
Klien Service Worker mengabaikan perubahan URL history.pushState
Mengubah properti Client.url service worker untuk mengabaikan perubahan URL dokumen menggunakan history.pushState() dan API histori serupa lainnya. Properti Client.url dimaksudkan untuk menjadi 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
meningkatkan keamanan dan privasi bagi developer. Keselarasan ini dengan elemen anchor HTML memastikan konsistensi dan kemudahan penggunaan di seluruh teknologi web.
Stempel Waktu untuk Frame yang Dikodekan RTC
Fitur ini terdiri dari mengekspos ke Web beberapa stempel waktu yang ada dalam frame yang dikodekan WebRTC yang dikirimkan melalui RTCPeerConnection. Stempel waktu yang dimaksud adalah:
- Stempel waktu pengambilan: stempel waktu saat frame awalnya diambil
- Stempel waktu penerimaan: stempel waktu saat frame diterima
Memperbarui ProgressEvent agar menggunakan jenis ganda untuk 'loaded' 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 tersebut diubah menjadi double, yang memberikan kontrol lebih besar atas nilai kepada developer. Misalnya, developer kini dapat membuat ProgressEvent dengan total 1 dan loaded yang meningkat dari 0 menjadi 1 secara bertahap. Hal ini selaras dengan perilaku default elemen HTML <progress>
jika atribut max dihilangkan.
fetchLater API
fetchLater() API adalah JavaScript API untuk meminta pengambilan yang ditangguhkan, yang sangat berguna untuk beaconing yang lebih andal di akhir masa aktif halaman.
Setelah dipanggil dalam dokumen, permintaan yang ditangguhkan akan dimasukkan ke dalam antrean oleh browser dalam status PENDING, dan akan dipanggil oleh kondisi berikut yang paling awal:
Dokumen dihancurkan. Setelah waktu yang ditentukan pengguna. Demi alasan privasi, semua permintaan yang tertunda akan dihapus saat dokumen memasuki bfcache, berapa pun waktu yang tersisa. Browser memutuskan bahwa sudah waktunya untuk mengirimkannya.
API menampilkan FetchLaterResult yang berisi kolom boolean activated yang dapat diupdate untuk mengetahui apakah permintaan yang ditangguhkan telah dikirim atau belum. Jika pengiriman berhasil, 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 ikut serta dalam uji coba origin baru berikut.
Pemanggil Minat
Fitur ini menambahkan atribut interesttarget ke <button> dan <a>
elemen. 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 pendeteksian saat pengguna "menunjukkan minat" pada elemen, menggunakan metode seperti mengarahkan kursor ke elemen dengan mouse, menekan tombol pintas khusus di keyboard, atau menekan lama elemen di 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 gunakan, sehingga menciptakan dasar 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 Subresource Integrity di sisi lain.
Penghentian dan penghapusan
Versi Chrome ini memperkenalkan penghentian dan penghapusan yang tercantum di bawah. Kunjungi ChromeStatus.com untuk melihat daftar penghentian yang direncanakan, penghentian saat ini, dan penghapusan sebelumnya.
Rilis Chrome ini menghentikan satu fitur.
Penghentian 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 menerapkan implementasi di Chrome 99, tetapi proposalnya diubah untuk memindahkan beberapa pengambil ke fungsi. Kami perlu menghapus pengambil yang tidak digunakan lagi dan meluncurkan kembali fungsi tersebut dengan nama baru.
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 saat itu, API ini telah ditandai sebagai tidak digunakan lagi di Chrome, sehingga menghasilkan peringatan konsol yang mengalihkan developer ke API yang diupdate. Penggunaan panggilan ini sangat rendah, dan semua framework utama yang digunakan untuk membangun konten WebXR telah dikonfirmasi telah diupdate untuk menggunakan panggilan yang lebih baru.
Menghapus properti canTransition NavigateEvent
Di Chrome 108, metode transitionWhile() dan properti canTransition NavigateEvent diganti dengan metode intercept() dan properti canIntercept yang baru. Pada saat itu, metode transitionWhile() dihapus. Namun, kami lupa menghapus properti canTransition: sebagai gantinya, kami membiarkannya sebagai alias untuk canIntercept. Di Chrome 135, kami memperbaiki hal tersebut dan menghapus canTransition. Setiap penggunaan canTransition dapat diganti dengan canIntercept, tanpa perubahan perilaku.
Menghapus batas WebGPU maxInterStageShaderComponents
Batas maxInterStageShaderComponents dihapus karena kombinasi faktor berikut:
- Redundansi dengan
maxInterStageShaderVariables: Batas ini sudah memiliki tujuan yang serupa, yaitu mengontrol jumlah data yang diteruskan antar-tahap shader. - Perbedaan Kecil: Meskipun ada sedikit perbedaan dalam cara penghitungan kedua batas, perbedaan ini kecil dan dapat dikelola secara efektif dalam
maxInterStageShaderVariables limit. - Penyederhanaan: Menghapus
maxInterStageShaderComponentsakan menyederhanakan antarmuka shader dan mengurangi kompleksitas bagi developer. Daripada mengelola dua batas terpisah (yang keduanya diterapkan secara bersamaan tetapi dengan perbedaan yang kecil), developer dapat berfokus padamaxInterStageShaderVariablesyang namanya lebih sesuai dan komprehensif.