Chrome 135

Tanggal rilis stabil: 1 April 2025

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

HTML dan DOM

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.

Melacak bug #1490919 | Entri ChromeStatus.com | Spesifikasi

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

Melacak bug #1477049 | Entri ChromeStatus.com

CSS

Elemen pseudo ::column untuk carousel

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

Entri ChromeStatus.com

::scroll-button() elemen pseudo

Memungkinkan pembuatan tombol scroll interaktif sebagai elemen pseudo, misalnya:

.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 logika: block-start, block-end, inline-start, inline-end; serta empat arah fisik: up, down, left, right.

Melacak bug #370067113 | Entri ChromeStatus.com | Spesifikasi

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

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

Melacak bug #332396355 | Entri ChromeStatus.com | Spesifikasi

Inertness CSS—properti interactivity

Properti interactivity menentukan apakah elemen dan turunan hierarki datarnya (termasuk run teks) tidak aktif atau tidak.

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.

Entri ChromeStatus.com | Spesifikasi

Overflow logis CSS

Properti CSS overflow-inline dan overflow-block memungkinkan penetapan 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, overflow-inline dipetakan ke overflow-y.

Melacak bug #41489999 | Entri ChromeStatus.com | Spesifikasi

CSS anchor positioning remembered scroll offset

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 diperhitungkan saat menentukan ukuran elemen. Dengan cara ini, 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 (yang merupakan perilaku yang tidak diinginkan, dan juga buruk untuk performa), yang akan digunakan adalah "offset scroll yang diingat", bukan selalu menggunakan offset scroll saat ini. Offset scroll yang diingat diperbarui di tempat yang disebut "titik penghitungan ulang anchor", yang merupakan:

  • Saat elemen yang diposisikan pertama kali ditampilkan.
  • Saat opsi posisi yang berbeda (position-try-fallbacks) dipilih.

Melacak bug #373874012 | Entri ChromeStatus.com | Spesifikasi

Fungsi shape() CSS

Fungsi shape() memungkinkan bentuk bebas responsif di clip-path.

Anda dapat menentukan serangkaian kata kerja, yang kira-kira setara dengan kata kerja di path(), tetapi dengan kata kerja yang menerima unit responsif (seperti % atau vw), serta nilai CSS apa pun seperti properti kustom.

Melacak bug #40829059 | Entri ChromeStatus.com | Spesifikasi

Variabel safe-area-max-inset-*

Fitur ini menambahkan variabel max-area-safe-inset-* yang tidak berubah dan merepresentasikan inset area aman maksimum.

Kasus penggunaan yang dipecahkan adalah untuk menghindari perlunya menata ulang halaman jika footer (misalnya) dapat bergeser saat nilai inset area aman bertambah, bukan mengubah ukuran.

Melacak bug #391621941 | Entri ChromeStatus.com | Spesifikasi

Gaya elemen pseudo bertingkat

Memungkinkan gaya elemen pseudo yang disusun bertingkat di dalam elemen pseudo lainnya. Sejauh ini, dukungan ditentukan untuk:

  • ::before::marker
  • ::after::marker

Dengan ::column::scroll-marker yang didukung pada masa mendatang.

Melacak bug #373478544 | Entri ChromeStatus.com | Spesifikasi

Audio dan video

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.

Entri ChromeStatus.com | Spesifikasi

Web API

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). Perubahan ini bertujuan untuk memperbaiki perbedaan tersebut dengan membuat klien service worker untuk iframe srcdoc dan membuatnya mewarisi pengontrol service worker induk.

Melacak bug #41411856 | Entri ChromeStatus.com | Spesifikasi

Refleksi elemen

Fitur ini memungkinkan atribut hubungan ARIA ditampilkan di IDL sebagai referensi elemen, bukan DOMStrings.

Ini mengimplementasikan atribut IDL di antarmuka ARIAMixin dengan jenis Elemen atau FrozenArray<Element>, dengan pengecualian ariaOwnsElements.

Melacak bug #981423 | Entri ChromeStatus.com | Spesifikasi

Frame berpagar: Dukungan data lintas origin beacon otomatis

Frame berpagar atau iframe URN, jika dimuat melalui API seperti Protected Audience atau Shared Storage, dapat mengirim beacon pelaporan secara otomatis jika beberapa peristiwa terjadi (saat ini hanya beacon navigasi tingkat teratas yang didukung). Fitur ini sebelumnya telah diperbarui untuk memungkinkan dokumen lintas-asal yang dimuat di hierarki frame berpagar root mengirim beacon otomatis jika diaktifkan, tetapi tetap mempertahankan batasan bahwa hanya frame yang memiliki origin yang sama dengan origin yang dimuat oleh API yang dapat menetapkan data yang akan dikirim sebagai bagian dari beacon. Fitur ini memperluas fungsi tersebut untuk memungkinkan dokumen lintas-asal menetapkan data yang akan digunakan di beacon otomatis.

Untuk mengizinkan hal ini sekaligus tetap menjaga privasi, dokumen root frame berpagar dan dokumen subframe lintas origin harus secara eksplisit memilih ikut serta. Bentuk keikutsertaan ini sama dengan fitur FFAR lintas origin lainnya. Secara khusus, frame root harus memilih ikut serta menggunakan header Allow-Fenced-Frame-Automatic-Beacons, dan subframe lintas origin yang menetapkan data harus memilih ikut serta dengan parameter crossOriginExposed dalam panggilan ke setReportEvent().

Entri ChromeStatus.com | Spesifikasi

Float16Array

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

Melacak bug #42203953 | Entri ChromeStatus.com | Spesifikasi

Pencegahan pelacakan HSTS

Memitigasi pelacakan pengguna oleh pihak ketiga yang menggunakan cache HSTS.

Fitur ini hanya mengizinkan upgrade HSTS untuk navigasi tingkat teratas 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.

Melacak bug #40725781 | Entri ChromeStatus.com

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

Melacak bug #40281924 | Entri ChromeStatus.com | Spesifikasi

Perubahan nama alasan API NotRestoredReasons

NotRestoredReasons API mengubah beberapa teks alasan agar selaras dengan nama standar. Jika memantau alasan ini, Anda mungkin melihat perubahan pada teks alasan.

Melacak bug #331754704 | Entri ChromeStatus.com | Spesifikasi

Observable API

Observable adalah paradigma pemrograman reaktif yang populer untuk menangani streaming peristiwa berbasis push asinkron. Promise dapat dianggap sebagai Promise, tetapi untuk beberapa peristiwa, dan bertujuan untuk melakukan hal yang dilakukan Promise untuk callback dan penyusunan bertingkat. Artinya, keduanya memungkinkan penanganan peristiwa yang ergonomis dengan menyediakan objek Observable yang mewakili alur peristiwa asinkron.

Anda dapat berlangganan objek untuk menerima peristiwa saat peristiwa tersebut masuk, dan memanggil operator atau kombinatornya untuk mendeskripsikan alur transformasi secara deklaratif yang dilalui peristiwa. Hal ini berbeda dengan versi imperatif, yang sering kali memerlukan penyusunan bertingkat yang rumit dengan hal-hal seperti addEventListener().

Melacak bug #1485981 | Entri ChromeStatus.com | Spesifikasi

Menghapus pembatas setInterval(...) ke >= 1 md

Sebelum Chrome 135, setInterval dengan nilai kurang dari 1 akan dikunci menjadi 1. Mulai Chrome 135, batasan ini dihapus.

  • Sebelum: setInterval(..., 0) = penundaan 1ms.
  • Setelah: setInterval(..., 0) = keterlambatan 0ms.

Melacak bug #41380458 | Entri ChromeStatus.com

URL klien Pekerja Layanan mengabaikan perubahan history.pushState()

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

Melacak bug #41337436 | Entri ChromeStatus.com | Spesifikasi

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.

Penyesuaian ini dengan elemen anchor HTML memastikan konsistensi dan kemudahan penggunaan di seluruh teknologi web.

Melacak bug #40589293 | Entri ChromeStatus.com | Spesifikasi

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 menggunakan RTCPeerConnection. Stempel waktu yang dimaksud adalah:

  • Stempel waktu pengambilan: Stempel waktu saat frame awalnya diambil.
  • Stempel waktu diterima: Stempel waktu saat frame diterima.

Melacak bug #391114797 | Entri ChromeStatus.com | Spesifikasi

Memperbarui kebijakan header, isi, dan perujuk permintaan HTTP pada pengalihan CORS

Perbarui permintaan HTTP pada pengalihan CORS dengan menghapus header dan isi request-body jika metode telah berubah, dan memperbarui kebijakan perujuk. Update permintaan ini selaras dengan spesifikasi Pengambilan dan cocok dengan perilaku yang diterapkan oleh Firefox dan Safari untuk meningkatkan kompatibilitas.

Melacak bug #40686262 | Entri ChromeStatus.com | Spesifikasi

fetchLater API

fetchLater() adalah JavaScript API untuk meminta pengambilan yang ditangguhkan. Setelah dipanggil dalam dokumen, permintaan yang ditangguhkan akan diantrekan oleh browser dalam status PENDING, 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 setelah dokumen memasuki bfcache, berapa pun waktu yang tersisa.
  • Browser memutuskan bahwa sudah waktunya untuk mengirimnya.

API menampilkan FetchLaterResult yang berisi kolom boolean "diaktifkan" yang dapat diperbarui untuk mengetahui apakah permintaan yang ditangguhkan telah dikirim atau belum. Jika berhasil dikirim, seluruh respons akan diabaikan oleh browser, termasuk isi dan header. Tidak ada yang harus diproses atau diperbarui, karena halaman mungkin sudah tidak ada.

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

Melacak bug #1465781 | Entri ChromeStatus.com | Spesifikasi

highlightsFromPoint API

highlightsFromPoint API memungkinkan developer berinteraksi dengan sorotan kustom dengan mendeteksi sorotan yang ada di titik tertentu dalam dokumen. Interaktivitas ini sangat berharga untuk fitur web yang kompleks, tempat beberapa sorotan dapat tumpang-tindih atau ada dalam shadow DOM. Dengan menyediakan deteksi sorotan berbasis titik yang akurat, API ini memungkinkan developer mengelola interaksi dinamis dengan sorotan kustom secara lebih efektif, seperti merespons klik pengguna atau peristiwa pengarahan kursor pada area yang ditandai untuk memicu tooltip kustom, menu konteks, atau fitur interaktif lainnya.

Melacak bug #365046212 | Entri ChromeStatus.com | Spesifikasi

Uji coba origin

Kredensial sesi yang terikat perangkat

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

Tindakan ini akan memungkinkan server memiliki sesi yang terikat dengan aman ke perangkat. Browser akan memperpanjang sesi secara berkala seperti yang diminta oleh server, dengan bukti kepemilikan kunci pribadi.

Uji Coba Origin | Entri ChromeStatus.com | Spesifikasi

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—saat mengarahkan kursor ke elemen dengan mouse, menekan hotkey 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 pop-up - menampilkan dan menyembunyikan pop-up.

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

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 Subresource Integrity di sisi lain.

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

Aturan spekulasi: kolom target_hint

Hal ini memperluas sintaksis aturan spekulasi untuk memungkinkan developer menentukan kolom target_hint.

Kolom ini memberikan petunjuk untuk menunjukkan target yang dapat dinavigasi tempat halaman yang dipra-render pada akhirnya akan diaktifkan. Misalnya, jika _blank ditentukan sebagai petunjuk, halaman yang dipra-render dapat diaktifkan untuk halaman yang dapat dibuka oleh window.open(). Kolom ini tidak memengaruhi pengambilan data sebelumnya.

Spesifikasi memungkinkan kolom ini menerima string apa pun yang valid sebagai nama target atau kata kunci yang dapat dinavigasi sebagai nilai, tetapi peluncuran ini hanya mendukung salah satu string "_self" atau "_blank". Jika tidak ditentukan, petunjuk akan diperlakukan seolah-olah "_self" ditentukan.

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

Penghentian dan penghapusan

Menghapus metode navigator.xr.supportsSession yang tidak digunakan lagi

Metode 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 Chromium, sehingga menghasilkan peringatan konsol yang mengalihkan developer ke API yang diupdate.

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.

Entri ChromeStatus.com | Spesifikasi

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 di antara tahap shader.
  • Perbedaan Kecil: Meskipun ada sedikit perbedaan dalam cara penghitungan kedua batas tersebut, perbedaan ini kecil dan dapat dikelola secara efektif dalam batas maxInterStageShaderVariables.
  • Penyederhanaan: Menghapus maxInterStageShaderComponents akan menyederhanakan antarmuka shader dan mengurangi kompleksitas bagi developer. Daripada mengelola dua batas terpisah (yang keduanya berlaku secara bersamaan, tetapi dengan perbedaan kecil), mereka dapat berfokus pada maxInterStageShaderVariables yang lebih tepat namanya dan komprehensif.

Melacak bug #364338810 | Entri ChromeStatus.com | Spesifikasi