Chrome 125

Tanggal rilis stabil: 14 Mei 2024

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

HTML dan DOM

Serialisasi shadow DOM deklaratif

Fitur untuk memungkinkan developer membuat serialisasi DOM tree yang berisi shadow root, yang baru-baru ini distandarkan dalam standar HTML.

Bug pelacakan #41490936 | Entri ChromeStatus.com | Spesifikasi

CSS

Pemosisian Anchor CSS

Penempatan anchor CSS memungkinkan developer menambatkan elemen yang benar-benar diposisikan ke satu atau beberapa elemen lain di halaman (anchor), secara deklaratif, tanpa menggunakan JavaScript. Pemosisian anchor berfungsi secara optimal saat anchor dapat di-scroll. Kasus penggunaan yang umum adalah memosisikan popover seperti tooltip di samping elemen yang memanggilnya, atau menu pilih dan daftar opsi popover-nya. Sebelum fitur pemosisian anchor, kasus penggunaan ini memerlukan JavaScript untuk memosisikan popover secara dinamis, dan mempertahankannya saat elemen pemanggilan di-scroll, yang merupakan pijakan kaki performa dan sulit untuk dilakukan dengan benar. Dengan pemosisian anchor, kasus penggunaan ini dapat diimplementasikan dengan baik dan deklaratif.

Fitur pemosisian anchor terdiri dari sejumlah besar properti CSS. Beberapa properti utamanya adalah sebagai berikut:

  • anchor-name: menyiapkan elemen agar menjadi anchor bagi elemen lain.
  • position-anchor: mendeskripsikan anchor "default" yang harus digunakan elemen anchor untuk penempatan anchor.
  • Fungsi anchor(): digunakan untuk merujuk pada posisi elemen anchor, saat memosisikan elemen anchor.
  • inset-area: singkatan untuk pemosisian, untuk posisi relatif umum.

Memperkenalkan API penempatan anchor CSS | Bug pelacakan #40059176 | Entri ChromeStatus.com | Spesifikasi

Fungsi nilai yang dilangkah CSS—round(), mod(), dan rem()

Fungsi nilai bertahap, round(), mod(), dan rem(), semuanya mengubah nilai tertentu menurut "nilai langkah" lainnya.

Fungsi CSS round() menampilkan angka yang dibulatkan berdasarkan strategi pembulatan yang dipilih.

Fungsi CSS mod() menampilkan modulus yang tersisa saat parameter pertama dibagi dengan parameter kedua, mirip dengan operator sisa JavaScript (%). Modulus adalah nilai yang tersisa saat satu operand, yaitu dividen, dibagi dengan operand kedua, yaitu pembagi. Elemen ini selalu mengambil tanda pembagi.

Fungsi CSS rem() menampilkan sisa sisa saat parameter pertama dibagi dengan parameter kedua, mirip dengan operator sisa JavaScript (%). Sisanya adalah nilai yang tersisa saat satu operand, yakni dividen, dibagi dengan operand kedua, yaitu pembagi. Itu selalu mengambil tanda pembilang.

Bug pelacakan #40253179 | Entri ChromeStatus.com | Spesifikasi

Sintaksis baru untuk :state() kustom CSS

Status kustom CSS memungkinkan elemen kustom mengekspos class pseudo-nya sendiri. Sintaksis sekarang telah ditetapkan dalam CSSWG, dan Chrome 125 sekarang mendukung sintaksis baru :state(foo). Perubahan ini akan memiliki jendela tempat Chrome akan mendukung sintaksis lama (:--foo) dan sintaksis baru sehingga situs dapat beralih ke yang baru.

Entri ChromeStatus.com | Spesifikasi

Menghapus diskontinuitas untuk warna Oklab dan Oklch dengan kecerahan hampir 100% atau 0

Sebelum perubahan ini, semua warna Lab, LCH, Oklab, dan Oklch dengan nilai kecerahan 100% dirender sebagai putih, terlepas dari dua parameter lainnya. Semua warna di ruang ini dengan nilai kecerahan 0 dirender sebagai hitam. Kedua pemetaan ini menyebabkan diskontinuitas dalam gradien dan tidak diharapkan oleh developer web.

Dengan rollback ini, warna ini tidak lagi dipetakan secara artifisial dan warna yang ditampilkan yang dihasilkan akan menyatu dengan warna terdekat dan bergantung pada pemetaan gamut tampilan.

Entri ChromeStatus.com | Spesifikasi

Scrollbar root skema warna yang digunakan

Membuat browser menggunakan skema warna pilihan pengguna untuk merender scrollbar area tampilan jika nilai "skema warna yang didukung halaman" 'normal' atau tidak ditentukan, dan nilai komputasi color-scheme untuk elemen root adalah normal. Scrollbar area pandang dapat dianggap berada di luar konten web. Oleh karena itu, agen pengguna harus mengikuti skema warna pilihan pengguna saat merender scrollbar area pandang jika developer belum menentukan dukungan secara eksplisit untuk skema warna.

Perubahan ini tidak mencegah developer mengontrol skema warna untuk scrollbar. Perilaku baru ini membuat browser menggunakan skema warna pilihan pengguna untuk merender scrollbar non-overlay area pandang hanya jika developer belum menentukan skema warna untuk elemen root.

title | Bug pelacakan #40259909 | Entri ChromeStatus.com | Spesifikasi

Class view-transitions

Ada properti CSS baru view-transition-class yang memungkinkan Anda menentukan satu atau beberapa class transisi tampilan. Kemudian, Anda dapat memilih elemen pseudo ViewTransition menggunakan class ini, misalnya ::view-transition-group(*.class).

Ini adalah ekstensi untuk ViewTransition API yang menyederhanakan penataan gaya elemen pseudo transisi tampilan dengan cara yang sama seperti class CSS menyederhanakan penataan gaya elemen DOM reguler.

Bug pelacakan #41492972 | Entri ChromeStatus.com | Spesifikasi

Memuat

Menerima URL HTTP dan HTTPS saat membuat WebSocket

Update ini mengaktifkan skema HTTP dan HTTPS di konstruktor WebSocket, sehingga juga memungkinkan developer menggunakan URL relatif. URL tersebut dinormalkan ke skema internal ws: dan wss:.

Bug pelacakan #325979102 | Entri ChromeStatus.com | Spesifikasi

Web API

Penambahan ke Attribution Reporting API

Fitur telah ditambahkan ke Attribution Reporting API untuk membuat kemampuan proses debug tambahan dengan mendukung laporan debug kegagalan penguraian, meningkatkan ergonomi API dengan mendukung kolom untuk menentukan platform pendaftaran pilihan, dan meningkatkan privasi.

Entri ChromeStatus.com

Compute Pressure API

Compute Pressure API menawarkan status tingkat tinggi yang mewakili beban CPU pada sistem. Hal ini memungkinkan implementasi menggunakan metrik hardware dasar yang tepat untuk memastikan pengguna dapat memanfaatkan semua daya pemrosesan yang tersedia bagi mereka selama sistem tidak dalam tekanan yang tidak dapat dikelola.

Intel memimpin pekerjaan desain dan implementasi untuk API ini, yang akan memungkinkan aplikasi konferensi video menyeimbangkan fitur dan performa secara dinamis.

Compute Pressure API | Bug pelacakan #40683064 | Entri ChromeStatus.com | Spesifikasi

Tindakan ini akan meluncurkan ekstensi Storage Access API yang diusulkan (kompatibel dengan versi sebelumnya dan telah berada dalam uji coba origin) untuk memungkinkan akses ke penyimpanan non-cookie dan cookie tanpa partisi dalam konteks pihak ketiga. API saat ini hanya memberikan akses ke cookie, yang memiliki kasus penggunaan berbeda dengan penyimpanan non-cookie.

Bug pelacakan #40282415 | Entri ChromeStatus.com | Spesifikasi

Persyaratan CORS FedCM di endpoint pernyataan ID

Pengambilan di FedCM API sulit untuk dipertimbangkan karena properti diperlukan untuk pengambilan tersebut. Meskipun ada diskusi berkelanjutan mengenai endpoint akun, terdapat juga konsensus bahwa endpoint pernyataan ID harus menggunakan CORS. Update ini menyelaraskan properti keamanan pengambilan ini dengan pengambilan lain di platform web.

Pembaruan FedCM: Uji coba origin Button Mode API, CORS dan SameSite | Bug pelacakan #40284123 | Entri ChromeStatus.com

FedCM kini mengirimkan permintaan pernyataan ID dengan CORS. Perubahan tersebut berarti bahwa Chrome tidak lagi mengirimkan cookie SameSite=Strict ke endpoint pernyataan ID, meskipun Chrome masih mengirimkan SameSite=None. Karena tidak mungkin mengirim kumpulan cookie yang berbeda ke endpoint akun dan endpoint pernyataan ID, perubahan ini akan membuatnya konsisten.

Tidak mengirim cookie SameSite=Strict juga konsisten dengan perilaku requestStorageAccess dan permintaan lintas situs secara umum.

Bug pelacakan #329145816 | Entri ChromeStatus.com | Spesifikasi

Tindakan default mousemove interoperabilitas

Chrome memungkinkan membatalkan peristiwa mousemove untuk mencegah API lain seperti pemilihan teks (dan bahkan tarik lalu lepas sebelumnya). Ini tidak cocok dengan browser besar lainnya; juga tidak sesuai dengan spesifikasi Peristiwa UI. Pemilihan teks sekarang tidak akan lagi menjadi tindakan default mousemove. Pemilihan teks dan tarik lalu lepas masih dapat dicegah dengan membatalkan masing-masing peristiwa selectstart dan dragstart.

Fitur ini akan diluncurkan secara bertahap mulai Chrome 125, dan diharapkan akan tersedia bagi semua pengguna pada Chrome 126.

Demo | Bug pelacakan #40078978 | Entri ChromeStatus.com | Spesifikasi

Pengubah ekspresi reguler

Pengubah ekspresi reguler menambahkan kemampuan untuk mengubah tanda i, m, dan s' secara lokal di dalam pola.

Guna mengaktifkan tanda untuk subekspresi, gunakan (?X:subexpr) dengan X adalah salah satu dari i, m, atau s. Untuk menonaktifkan tanda untuk subekspresi, gunakan (-X:subexpr).

Misalnya, untuk flag i yang tidak peka huruf besar/kecil:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

Entri ChromeStatus.com | Spesifikasi

Ekspresi reguler duplikat grup tangkapan bernama

Dengan grup tangkapan bernama duplikat, Anda dapat menggunakan nama grup tangkapan yang sama untuk berbagai alternatif. Contoh:

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

Dalam hal ini, year valid untuk alternatif pertama ((?<year>[0-9]{4})-[0-9]{2}), atau alternatif kedua ([0-9]{2}-(?<year>[0-9]{4})).

Entri ChromeStatus.com | Spesifikasi

Aplikasi Chrome

Direct Sockets API di Aplikasi Chrome

Update ini membantu memudahkan transisi aplikasi khusus dari Aplikasi Chrome ke Aplikasi Web Terisolasi dengan mengaktifkan Direct Sockets di Aplikasi Chrome, yang memungkinkan aplikasi web membuat protokol kontrol transmisi langsung (TCP) dan komunikasi protokol datagram pengguna (UDP) dengan perangkat dan sistem jaringan.

Entri ChromeStatus.com | Spesifikasi

Uji coba origin baru

FedCM Button Mode API dan Menggunakan Other Account API

Uji coba origin ini mencakup dua FedCM API berikut.

Button Mode API memungkinkan situs memanggil FedCM di dalam klik tombol, seperti mengklik tombol Sign-in to IdP. Proses ini memerlukan FedCM untuk menjamin bahwa FedCM selalu merespons dengan antarmuka pengguna yang terlihat, bukan mode widget, yang tidak menampilkan UI saat pengguna logout. Memanggil FedCM API dalam mode tombol akan membawa pengguna untuk login ke IdP (di jendela dialog), saat pengguna logout.

Selain itu, karena mode tombol dipanggil dalam gestur pengguna eksplisit, UI mungkin juga lebih terlihat (misalnya, terpusat dan modal) dibandingkan dengan UI dari mode widget (yang tidak memiliki maksud eksplisit seperti itu). Pelajari cara kerja Button Mode API lebih lanjut di Update FedCM: Uji coba origin Button Mode API, CORS, dan SameSite

Use Other Account API memungkinkan Penyedia Identitas mengizinkan pengguna login ke akun lain.

Uji Coba Origin | Demo | Bug pelacakan #40284792 | Entri ChromeStatus.com | Spesifikasi

Foldable API

Uji coba origin ini mencakup Device Posture API dan Viewport Segment Enumeration API. API ini didesain untuk membantu developer menargetkan perangkat foldable.

Uji Coba Origin | Uji coba origin untuk Foldable API | Entri ChromeStatus.com | Spesifikasi

Uji coba penghentian penggunaan untuk properti dan metode Layar Penuh HTMLVideoElement berawalan

Uji coba penghentian penggunaan ini memungkinkan Anda memilih kembali dukungan untuk properti dan metode HTMLVideoElement berawalan jika Anda memerlukan lebih banyak waktu untuk menyesuaikan kode.

Uji Coba Origin | Entri ChromeStatus.com

Lewati pemindaian pramuat

Lewati pemindai pramuat untuk mempelajari penyeimbangan performa untuk halaman tanpa pengambilan sub-resource.

Langkah pemindai pramuat menguntungkan performa halaman yang memiliki pengambilan sub-resource, melalui implementasi pengambilan data spekulatif. Namun, untuk halaman yang tidak mendapatkan manfaat dari langkah ini, yaitu, untuk halaman tanpa sub-resource, ini adalah overhead pemrosesan tambahan dengan sedikit manfaat.

Bagi pengguna web tingkat lanjut yang ingin mendapatkan manfaat dengan mengurangi overhead ini, eksperimen ini menyediakan kontrol tingkat halaman untuk menonaktifkan pemindai pramuat. Data yang dikumpulkan dari eksperimen ini dapat mengevaluasi apakah API yang dimodifikasi atau penerapan pemindai pramuat HTML yang berbeda akan membantu.

Uji Coba Origin | Bug pelacakan #330802493 | Entri ChromeStatus.com | Spesifikasi

Penghentian dan penghapusan

Menghapus alias "window-placement" untuk kebijakan izin dan izin "window-management"

Menghapus alias "window-placement" untuk kebijakan izin dan izin "window-management". Ini adalah bagian dari upaya yang lebih besar untuk mengganti nama string dengan pada akhirnya menghentikan dan menghapus "window-placement". Perubahan terminologi meningkatkan masa pakai deskriptor saat Window Management API berkembang dari waktu ke waktu.

title | Bug pelacakan #40842072 | Entri ChromeStatus.com | Spesifikasi

Penghapusan kebijakan Perusahaan: NewBaseUrlInheritanceBehaviorAllowed

Perubahan kode yang mendasari (mengaktifkan perilaku pewarisan URL dasar baru) yang digantikan oleh kebijakan perusahaan ini telah diaktifkan dalam rilis stabil sejak Agustus 2023 (Chrome 118). Karena masalah umum telah ditangani, kebijakan perusahaan ini telah dihapus di Chrome 125.

Entri ChromeStatus.com

Penghapusan properti dan metode Layar Penuh HTMLVideoElement berawalan

API layar penuh HTMLVideoElement awalan tidak digunakan lagi sejak Chrome 38. Library ini diganti dengan Element.requestFullscreen(), yang pertama kali dikirim tanpa awalan pada tahun 2018 di Chrome 71.

Properti dan metode berikut akan dihapus dari HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (perhatikan perbedaan huruf besar "S" di FullScreen)
  • webkitExitFullScreen()

Daftar ke uji coba penghentian penggunaan yang tercantum dalam postingan ini jika situs Anda masih mengandalkan uji coba tersebut dan Anda memerlukan lebih banyak waktu untuk memperbarui kode.

Entri ChromeStatus.com

Bacaan lebih lanjut

Ingin lebih banyak? Lihat referensi tambahan ini.

Download Google Chrome

Download Chrome untuk Android, Desktop, atau iOS.