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 diberikan atau dari daftar di ChromeStatus.com. Chrome 122 masih dalam versi beta per 24 Januari 2024. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.
CSS
Rilis ini menambahkan tiga fitur CSS baru.
Kueri @container CSS dengan fitur yang tidak didukung tidak pernah cocok
Pemilih @container
yang berisi kueri yang tidak didukung tidak akan pernah memilih penampung apa pun, yang berarti penampung tersebut tidak akan pernah cocok.
Artinya, kueri ini tidak akan pernah cocok dengan penampung apa pun meskipun ada penampung ukuran yang cocok dengan kueri lebar. Misalnya, kueri berikut tidak akan pernah cocok karena fitur yang tidak diketahui:
@container (width > 0px) or (unknown) {}
Ini adalah perubahan terbaru pada spesifikasi untuk menghindari masalah kompatibilitas dengan versi baru.
Elemen pseudo CSS ::backdrop
yang mewarisi dari elemen asal
Elemen pseudo ::backdrop
yang digunakan untuk mewarisi dari nilai awal. Artinya, ::backdrop
tidak dapat menggunakan nilai properti khusus, kecuali jika ditentukan secara langsung pada aturan ::backdrop
. Spesifikasi kini telah berubah sehingga ::backdrop
diwarisi dari elemen asal, dan perubahan ini akan membuat implementasi Chrome
cocok dengan spesifikasi baru.
Ketentuan supports()
CSS untuk @import
@import
sekarang menerima kondisi supports()
. Jika kondisi supports()
tidak cocok, impor tidak akan diambil.
@import "scroll-driven-animations.css" supports(animation-timeline: auto);
Kueri fitur yang akan dimasukkan ke dalam supports()
sama dengan yang digunakan pada @supports
Web API
API Clipboard Async: Membaca HTML yang bermasalah
Menambahkan opsi unsanitized
dalam metode read()
untuk mendapatkan format HTML yang tidak rapi. Kecuali jika situs
menyertakan properti ini, pembacaan dari papan klip akan dibersihkan.
Secara default, saat membaca jenis MIME text/html
menggunakan API asinkron, pembersih akan dipanggil untuk menghapus konten dari markup HTML karena masalah keamanan, dan gaya akan disisipkan dalam HTML. Hal ini menyebabkan payload HTML yang besar
dan hilangnya fidelitas konten HTML saat dibaca oleh developer web atau aplikasi seluler.
Jangan hapus objek Jenis file di dataTransfer.clearData()
Mengupdate Chrome agar sesuai dengan
spec,
yang menentukan bahwa clearData()
tidak memengaruhi objek File. Tindakan ini hanya menghapus
objek jenis text
.
FedCM: putuskan koneksi
Mengizinkan sambungan akun login gabungan menggunakan situs pihak tepercaya. Dengan API pemutusan koneksi, pihak tepercaya dapat memberi tahu penyedia identitas bahwa akun yang sebelumnya digunakan sekarang terputus, sehingga penggunaan kembali akun tersebut dengan login gabungan akan memerlukan perlakuan sebagai akun baru.
Pembatalan peristiwa mousedown yang dapat dioperasikan dalam iframe
Membuat target peristiwa mouse tidak bergantung pada pembatalan peristiwa mousedown saat
pointer ditarik keluar dari iframe. Saat mouse ditarik keluar dari iframe, semua browser (termasuk Chrome) mengirim peristiwa mousemove
dan mouseup
ke iframe. Namun, jika peristiwa mousedown dibatalkan, Chrome sekarang mempertahankan
pengecualian WebKit lama bahwa peristiwa mousemove dan mouseup dikirim ke frame
luar. WebKit menghapus pengecualian ini tahun lalu, dan Mozilla tidak pernah menunjukkan perilaku
ini dalam beberapa tahun terakhir. Fitur ini akan menghapus pengecualian khusus Chrome untuk kasus khusus ini.
Helper iterator
Helper iterator adalah metode baru pada prototipe iterator untuk memungkinkan penggunaan dan konsumsi iterator secara umum.
MessagePort.onclose
Perubahan pada Channel Messaging API, yang memberi tahu salah satu MessagePorts bahwa port lainnya telah diuraikan. Artinya, close()
dipanggil, dokumen yang tersisa akan dihancurkan, atau port akan dibersihkan sebagai sampah memori.
Ekstensi RTCRtpSender setParameters() untuk meminta pembuatan frame kunci
Menambahkan parameter kedua opsional ke panggilan RTCRtpSender.setParameters
WebRTC
yang dapat digunakan untuk meminta encoder terkait membuat frame utama.
Menetapkan metode
Metode set adalah metode baru seperti union dan intersection yang ditambahkan ke
class Set
bawaan JavaScript.
API Bucket Penyimpanan
Bucket Penyimpanan memberi situs kemampuan untuk mengatur data di perangkat ke dalam "bucket" terpisah, yang memungkinkan agen pengguna mengeluarkan data yang dikelompokkan secara terpisah dari data yang ada di bucket lain, dan memungkinkan situs mengelola data yang terkait secara semantik secara ergonomis. Setiap bucket penyimpanan dapat berisi data yang terkait dengan API penyimpanan yang telah ditetapkan, seperti IndexedDB dan CacheStorage.
URLPattern: hasRegExpGroups
Memungkinkan pemeriksaan apakah URLPattern
menggunakan satu atau beberapa grup ekspresi reguler ECMAScript, sehingga mungkin tidak cocok untuk digunakan jika mesin ECMAScript tidak tersedia (seperti beberapa API terencana mendatang).
Sebenarnya, hal ini mencerminkan hal yang dapat diketahui developer dari
pemeriksaan polanya, tetapi memiliki akses ke implementasi pemeriksaan UA terhadap
pemeriksaan ini akan membuatnya lebih mudah.
DrawingBufferStorage WebGL
WebGL memungkinkan rendering menjadi tekstur dan renderbuffer dari berbagai format piksel. Misalnya, 8-bit, floating point, dan berenkode sRGB.
Buffer gambar WebGL (buffer yang diteruskan ke compositor) secara default adalah 8 bit. Fitur drawBufferStorage memungkinkan WebGL mengonfigurasi format piksel dari buffering gambar ini, sehingga developer dapat melakukan hal berikut.
- Hindari salinan tambahan saat mengonversi rendering ke format piksel buffer gambar default.
- Menggambar konten yang memiliki presisi lebih dari 8 bit.
Fitur yang terakhir ini membuka beberapa aplikasi tambahan:
- Konten color gamut yang sangat luas tanpa kehilangan presisi.
- Aplikasi medis yang memerlukan presisi lebih dari 8 bit.
- Aplikasi rentang dinamis tinggi (jika tersedia).
Enkapsulasi kunci X25519Kyber768 untuk TLS
Lindungi traffic TLS Chrome saat ini dari kriptoanalisis kuantum di masa mendatang dengan men-deploy algoritma perjanjian kunci yang tahan kuantum Kyber768. Ini adalah perjanjian kunci hybrid X25519 + Kyber768 berdasarkan standar IETF. Spesifikasi dan peluncuran ini berada di luar cakupan W3C. Perjanjian kunci ini akan diluncurkan sebagai cipher TLS, dan harus transparan kepada pengguna.
Uji coba origin sedang berlangsung
Di Chrome 122, Anda dapat ikut serta dalam uji coba origin baru berikut.
Ekstensi cakupan aplikasi web
Cakupan aplikasi web (ditentukan oleh kolom cakupan) hanya dapat ditentukan dengan jalur dari satu asal. Parameter ini digunakan untuk menentukan apakah dokumen jendela aplikasi saat ini merupakan bagian dari aplikasi atau tidak. Parameter ini juga menentukan URL apa yang diizinkan di anggota manifes lainnya.
Dengan scope_extensions, developer dapat memperluas perilaku aplikasi mereka untuk menyertakan origin lain jika ada kesepakatan antara origin utama aplikasi web dan origin terkait.
Mendaftar ke uji coba origin ekstensi cakupan aplikasi Web
Kontrol Permukaan yang Ditangkap
Captured Surface Control API memungkinkan aplikasi web menghasilkan peristiwa roda di tab atau jendela yang direkam, dan membaca atau menulis tingkat zoom dari tab yang diambil.