Beta Chrome 140

Dipublikasikan: 6 Agustus 2025

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 140 dalam versi beta mulai 6 Agustus 2025. Anda dapat mendownload versi terbaru di situs Chrome resmi untuk desktop atau di Google Play Store di Android.

CSS dan UI

Aritmatika yang diketik CSS

Aritmatika yang diketik memungkinkan Anda menulis ekspresi di CSS seperti calc(10em / 1px) atau calc(20% / 0.5em * 1px). Hal ini berguna dalam, misalnya, tipografi, karena memungkinkan Anda mengonversi nilai yang diketik menjadi nilai yang tidak diketik dan menggunakannya kembali untuk properti yang menerima angka. Kasus penggunaan lainnya adalah mengalikan nilai tanpa satuan dengan jenis lain. Misalnya, Anda dapat melakukan casting dari piksel ke derajat.

Properti scroll-target-group

Properti scroll-target-group menentukan apakah elemen adalah container grup penanda scroll. Kode ini menerima salah satu nilai berikut:

  • 'none': Elemen tidak membuat penampung grup penanda scroll.
  • 'auto': Elemen membuat penampung grup penanda scroll yang membentuk grup penanda scroll yang berisi semua elemen penanda scroll yang memiliki penampung grup penanda scroll ancestor terdekat ini.

Dengan membuat penampung grup penanda scroll, setiap elemen HTML anchor dengan ID fragmen yang berada di dalam penampung tersebut akan menjadi elemen HTML yang setara dengan elemen semu ::scroll-marker. Elemen anchor yang target scroll-nya saat ini terlihat dapat diberi gaya menggunakan pseudo-class :target-current.

Aktifkan counter() dan counters() dalam teks alternatif properti content

Fitur ini menambahkan kemampuan untuk menggunakan counter() dan counters() dalam teks alternatif properti content. Hal ini memberikan informasi yang lebih bermakna untuk meningkatkan aksesibilitas.

Pseudo transisi tampilan mewarisi lebih banyak properti animasi

Pohon semu transisi tampilan kini mewarisi sejumlah properti animasi:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Mengaktifkan transisi tampilan bertingkat

Fitur ini memungkinkan transisi tampilan menghasilkan pohon elemen semu bertingkat, bukan pohon datar. Hal ini memungkinkan transisi tampilan muncul lebih sesuai dengan elemen aslinya dan maksud visualnya. Hal ini memungkinkan clipping, transformasi 3D bertumpuk, dan penerapan efek yang tepat seperti opasitas, masking, dan filter.

Sebarkan area pandang overscroll-behavior dari root

Perubahan ini menyebarkan overscroll-behavior dari root, bukan isi. Grup kerja CSS memutuskan untuk tidak menyebarkan properti dari <body> ke area tampilan. Sebagai gantinya, properti area pandang disebarkan dari elemen root (<html>). Dengan demikian, overscroll-behavior harus disebarkan dari elemen root. Namun, Chrome memiliki masalah yang sudah lama terjadi: Chrome menyebarkan overscroll-behavior dari <body>, bukan dari root. Perilaku ini tidak dapat beroperasi dengan browser lain. Perubahan ini membuat Chrome mematuhi spesifikasi dan dapat beroperasi dengan implementasi lain.

Opsi container ScrollIntoView

Opsi penampung ScrollIntoViewOptions memungkinkan developer melakukan operasi scrollIntoView yang hanya men-scroll penampung scroll ancestor terdekat. Misalnya, cuplikan berikut hanya men-scroll penampung scroll target untuk menampilkan target, tetapi tidak akan men-scroll semua penampung scroll ke viewport:

target.scrollIntoView({container: 'nearest'});

Tambahkan properti CSS caret-animation

Chromium mendukung animasi properti caret-color. Namun, saat dianimasikan, perilaku berkedip default kursor mengganggu animasi.

Properti CSS caret-animation memiliki dua kemungkinan nilai: auto dan manual. auto berarti default browser (berkedip), dan manual berarti developer mengontrol animasi kursor. Selain itu, pengguna yang terganggu oleh atau memiliki reaksi merugikan terhadap visual yang berkedip atau berblinking dapat menonaktifkan kedipan dengan stylesheet pengguna.

highlightsFromPoint API

highlightsFromPoint API memungkinkan developer berinteraksi dengan sorotan kustom. Deteksi ini mendeteksi sorotan yang ada pada titik tertentu dalam dokumen. Interaktivitas ini berguna untuk fitur web yang kompleks dengan beberapa penyorotan yang mungkin tumpang-tindih atau ada dalam shadow DOM. Dengan menyediakan deteksi sorotan berbasis titik yang presisi, API ini memungkinkan developer mengelola interaksi dinamis dengan sorotan kustom secara lebih efektif. Misalnya, developer dapat merespons peristiwa klik atau pengarahan kursor pengguna pada area yang disorot untuk memicu tooltip kustom, menu konteks, atau fitur interaktif lainnya.

Mengubah pengaturan waktu promise selesai Transisi Tampilan

Waktu penyelesaian saat ini terjadi dalam langkah-langkah siklus proses rendering. Artinya, kode yang berjalan sebagai hasil penyelesaian promise terjadi setelah frame visual yang menghapus transisi tampilan dihasilkan. Hal ini dapat menyebabkan kedipan di akhir animasi jika skrip memindahkan gaya untuk mempertahankan status yang serupa secara visual. Perubahan ini menyelesaikan masalah dengan memindahkan langkah-langkah pembersihan ViewTransition agar berjalan secara asinkron setelah siklus proses selesai.

Tambahkan atribut sumber ToggleEvent

Atribut source dari ToggleEvent berisi elemen yang memicu ToggleEvent untuk diaktifkan, jika ada. Misalnya, jika pengguna mengklik elemen <button> dengan atribut popovertarget atau commandfor yang ditetapkan untuk membuka popover, ToggleEvent yang diaktifkan pada popover akan memiliki atribut sumber yang ditetapkan ke <button> pemanggilan.

Mencegah foreignObject SVG mencemari kanvas untuk URL blob

Semua browser telah lama mendukung penggunaan elemen <img> dengan sumber SVG dalam operasi drawImage canvas HTML. Namun, perilaku perusakan kanvas bervariasi di berbagai platform. Semua browser mencemari kanvas saat sumber SVG menyertakan tag foreignObject dan dirujuk dengan URI HTTP. Jika SVG yang sama dirujuk melalui URI data, semua browser tidak akan mencemari kanvas. Namun, saat URI blob digunakan, Chromium (sebelum perubahan ini) dan WebKit mencemari kanvas, tetapi Gecko tidak. Saat fitur ini diluncurkan, perilaku Chromium akan sama dengan Gecko, sehingga memungkinkan penggunaan berbagai konten SVG dalam panggilan drawImage canvas tanpa merusak.

Mendukung deskriptor font-variation-settings di @font-face rule

CSS memungkinkan developer menyesuaikan bobot, lebar, kemiringan, dan sumbu lainnya dari font menggunakan properti font-variation-settings pada setiap elemen. Namun, browser berbasis Chromium tidak mendukung properti ini dalam deklarasi @font-face. Fitur ini mendukung sintaksis berbasis string untuk font-variation-settings sebagaimana ditentukan dalam CSS Fonts Level 4. Tag fitur yang tidak valid atau tidak dikenal akan diabaikan sesuai spesifikasi. Tidak ada formulir biner atau non-standar yang didukung. Font variabel semakin banyak digunakan untuk performa dan fleksibilitas tipografi. Menambahkan dukungan untuk deskriptor ini di Chromium meningkatkan kontrol, mengurangi pengulangan, dan mendukung pendekatan yang lebih skalabel dan modern untuk tipografi web.

Web API

Mengonversi Uint8Array ke dan dari base64 dan hex

Base64 adalah cara umum untuk merepresentasikan data biner arbitrer sebagai ASCII. JavaScript memiliki Uint8Arrays untuk data biner. Namun, tidak ada mekanisme bawaan untuk mengenkode data tersebut sebagai base64, atau untuk mengambil data base64 dan menghasilkan Uint8Array yang sesuai. Fitur ini menambahkan kemampuan dan metode untuk mengonversi antara string hex dan Uint8Arrays.

Menggunakan opsi ReadableStreamBYOBReader min

Fitur ini memperkenalkan opsi min ke metode ReadableStreamBYOBReader.read(view) yang ada. Metode ini sudah menerima ArrayBufferView yang digunakan untuk membaca data, tetapi saat ini tidak menjamin berapa banyak elemen yang ditulis sebelum pembacaan diselesaikan. Dengan menentukan nilai min, Anda dapat mewajibkan aliran menunggu hingga setidaknya sebanyak itu elemen tersedia sebelum menyelesaikan pembacaan. Hal ini meningkatkan perilaku saat ini, yang mana pembacaan dapat diselesaikan dengan lebih sedikit elemen daripada yang dapat ditampung tampilan.

Dalam beberapa kasus, penting untuk membedakan di sisi server antara cookie yang ditetapkan oleh server dan yang ditetapkan oleh klien. Salah satu kasus tersebut melibatkan cookie yang biasanya selalu ditetapkan oleh server. Namun, kode yang tidak terduga (seperti eksploitasi XSS, ekstensi berbahaya, atau commit dari developer yang bingung) dapat menyetelnya di klien. Proposal ini menambahkan sinyal yang memungkinkan server membuat perbedaan tersebut. Lebih khusus lagi, atribut ini menentukan awalan __Http dan __HostHttp, yang memastikan cookie tidak ditetapkan di sisi klien menggunakan skrip.

Pembatasan akses jaringan lokal

Chrome 140 membatasi kemampuan untuk membuat permintaan ke jaringan lokal pengguna, sehingga memerlukan dialog izin. Permintaan jaringan lokal adalah permintaan apa pun dari situs publik ke alamat IP lokal atau loopback, atau dari situs lokal (seperti intranet) ke loopback. Membatasi kemampuan situs untuk melakukan permintaan ini di balik izin akan mengurangi risiko serangan pemalsuan permintaan lintas situs terhadap perangkat jaringan lokal, seperti router. Fitur ini juga mengurangi kemampuan situs untuk menggunakan permintaan ini dalam membuat sidik jari jaringan lokal pengguna. Izin ini dibatasi untuk konteks aman. Jika diizinkan, izin ini juga melonggarkan pemblokiran konten campuran untuk permintaan jaringan lokal, karena banyak perangkat lokal tidak dapat memperoleh sertifikat TLS yang tepercaya secara publik karena berbagai alasan.

Pelajari lebih lanjut di Dialog izin baru untuk Akses Jaringan Lokal.

Mengizinkan skrip SharedWorker mewarisi pengontrol untuk URL skrip blob

Spesifikasi menyatakan bahwa worker harus mewarisi pengontrol untuk URL blob. Namun, kode yang ada hanya mengizinkan dedicated worker mewarisi pengontrol; shared worker tidak. Hal ini memperbaiki perilaku Chrome agar sesuai dengan spesifikasi. Kebijakan Enterprise SharedWorkerBlobURLFixEnabled mengontrol fitur ini.

Tambahkan ServiceWorkerStaticRouterTimingInfo

Fitur ini menambahkan informasi waktu untuk ServiceWorker Static Routing API, yang ditampilkan di Navigation Timing API dan Resource Timing API untuk digunakan oleh developer. ServiceWorker memberikan informasi pengaturan waktu untuk menandai titik waktu tertentu.

Fitur ini menambahkan dua informasi waktu yang relevan dengan API perutean Statis:

  • RouterEvaluationStart: Waktu untuk mulai mencocokkan permintaan dengan aturan router yang terdaftar.
  • CacheLookupStart: Waktu untuk mulai mencari penyimpanan cache jika sumbernya adalah "cache".

Selain itu, fitur ini menambahkan dua informasi sumber router: sumber router yang cocok dan sumber router akhir.

Mengaktifkan pembuatan bersyarat Autentikasi Web di Android (tidak dikirim)

Aplikasi Web Terisolasi (IWA)

Memperkenalkan Controlled Frame API

Fitur ini menambahkan Controlled Frame API yang hanya tersedia untuk Aplikasi Web Terisolasi (IWA). Seperti API dengan nama serupa di platform lain, Controlled Frame memungkinkan penyematan semua konten, bahkan konten pihak ketiga yang tidak dapat disematkan di <iframe>. Controlled Frame juga memungkinkan pengontrolan konten yang disematkan dengan kumpulan metode dan peristiwa API. Untuk mengetahui informasi selengkapnya tentang Aplikasi Web Terisolasi, lihat penjelasan Aplikasi Web Terisolasi.

Uji coba origin baru

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

Tambahkan acara clipboardchange

Peristiwa clipboardchange diaktifkan setiap kali aplikasi web atau aplikasi sistem lainnya mengubah konten papan klip sistem. Hal ini memungkinkan aplikasi web seperti klien desktop jarak jauh menyinkronkan papan klipnya dengan papan klip sistem. API ini memberikan alternatif yang efisien untuk melakukan polling pada papan klip dengan JavaScript untuk mendeteksi perubahan.

Mengaktifkan notifikasi panggilan masuk

Fitur ini memperluas Notifications API untuk memungkinkan PWA terinstal mengirim notifikasi panggilan masuk—notifikasi dengan tombol gaya panggilan dan nada dering. Ekstensi ini membantu aplikasi web VoIP menciptakan pengalaman yang lebih menarik dengan mempermudah pengguna mengenali dan menjawab notifikasi panggilan. Selain itu, fitur ini membantu menjembatani kesenjangan antara penerapan aplikasi native dan web yang memiliki keduanya.

Memperkenalkan API nilai kunci Crash Reporting

Fitur ini memperkenalkan API nilai kunci baru, yang untuk sementara disebut window.crashReport, yang didukung oleh peta per dokumen yang menyimpan data yang ditambahkan ke laporan error.

Data yang ditempatkan di peta pendukung API ini dikirim dalam CrashReportBody jika terjadi error pada proses perender di situs. Hal ini memungkinkan developer men-debug status tertentu dalam aplikasi mereka yang mungkin menyebabkan error tertentu.

Penghentian penggunaan 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 menghentikan penggunaan satu fitur.

Menghentikan penggunaan aturan ukuran font khusus untuk <h1> dalam beberapa elemen

Spesifikasi HTML berisi daftar aturan khusus untuk tag <h1> yang disarangkan dalam elemen <article>, <aside>, <nav>, atau <section>.

Aturan khusus ini tidak digunakan lagi karena menyebabkan masalah aksesibilitas. Yaitu, mereka secara visual mengurangi ukuran font untuk <h1> bertingkat sehingga terlihat seperti <h2>, tetapi tidak ada di pohon aksesibilitas yang mencerminkan perubahan visual ini.