Kecuali dinyatakan lain, perubahan berikut berlaku pada Chrome beta terbaru untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut tentang fitur yang tercantum di sini melalui tautan yang disediakan atau dari daftar di ChromeStatus.com. Chrome 122 masih dalam versi beta mulai 24 Januari 2024. Anda dapat mendownload yang 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
berisi kueri yang tidak didukung tidak akan pernah memilih apa pun
kontainer, yang berarti mereka tidak akan pernah cocok.
Artinya kueri ini tidak akan pernah cocok dengan kontainer apa pun bahkan jika ada 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 kompatibilitas dengan versi baru masalah performa.
Elemen pseudo CSS ::backdrop
mewarisi dari elemen asal
Elemen semu ::backdrop
yang digunakan untuk mewarisi dari nilai awal. Itu berarti
::backdrop
tidak dapat menggunakan nilai properti kustom kecuali jika ditentukan langsung di
aturan ::backdrop
. Spesifikasi sekarang telah berubah sehingga ::backdrop
mewarisi dari elemen asal, perubahan ini membuat Chrome
cocok dengan spesifikasi yang baru.
Kondisi 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 kueri yang digunakan
dengan @supports
Web API
API Papan Klip Asinkron: Membaca HTML yang bermasalah
Menambahkan unsanitized
di metode read()
untuk mendapatkan format HTML yang bermasalah. Kecuali situs
menyertakan properti ini, membaca dari papan klip akan dibersihkan.
Secara default, saat membaca jenis MIME text/html
menggunakan API asinkron,
pembersih diaktifkan untuk menghapus konten dari markup HTML karena keamanan
kekhawatiran, dan gaya
disisipkan dalam HTML. Ini menyebabkan {i>payload<i} HTML yang besar
dan hilangnya {i>fidelity<i} konten HTML saat dibaca oleh pengembang web atau aplikasi seluler.
Jangan hapus objek jenis File di dataTransfer.clearData()
Mengupdate Chrome untuk mencocokkan
spesifikasi,
yang menentukan bahwa clearData()
tidak memengaruhi objek File. Hanya menghapus
objek jenis text
.
FedCM: putuskan koneksi
Memungkinkan pemutusan koneksi akun login gabungan menggunakan situs pihak tepercaya. Dengan API pemutusan, pihak tepercaya dapat memberi tahu penyedia identitas bahwa akun yang sebelumnya digunakan kini terputus, sehingga menggunakan akun tersebut lagi dengan login gabungan, Anda harus memperlakukannya sebagai akun baru.
Pembatalan peristiwa pengarahan mouse yang dapat dioperasikan di iframe
Buat target peristiwa mouse tidak bergantung pada pembatalan peristiwa mousedown saat
kursor ditarik keluar dari iframe. Ketika mouse ditarik keluar dari iframe,
semua browser (termasuk Chrome) mengirim peristiwa mousemove
dan mouseup
ke
iframe. Namun, jika peristiwa pengarahan mouse dibatalkan, Chrome saat ini akan mempertahankan
pengecualian WebKit lama bahwa peristiwa mousemove dan mouseup dikirim ke luar
{i>frame<i}. WebKit menghapus pengecualian ini tahun lalu, dan Mozilla tidak pernah menampilkannya
perilaku manusia dalam beberapa tahun terakhir. Fitur ini akan menghapus pengecualian khusus Chrome untuk
kasus khusus ini.
Helper iterator
Bantuan iterator adalah metode baru prototipe iterator untuk memungkinkan penggunaan dan konsumsi iterator secara umum.
MessagePort.onclose
Perubahan pada Channel Messaging API, yang memberi tahu salah satu MessagePorts
bahwa porta lainnya
telah terputus. close()
ini disebut, yang merupakan
dokumen dihancurkan, atau portanya dibersihkan sampah memorinya.
Ekstensi RTCRtpSender setParameters() untuk meminta pembuatan bingkai kunci
Menambahkan parameter kedua opsional ke panggilan RTCRtpSender.setParameters
WebRTC
yang dapat digunakan untuk meminta encoder terkait untuk menghasilkan frame kunci.
Menetapkan metode
Metode {i>set<i} adalah metode baru seperti gabungan dan irisan yang ditambahkan ke metode
Set
bawaan.
API Bucket Penyimpanan
Bucket Penyimpanan memungkinkan situs mengelola data di perangkat ke dalam "bucket" terpisah, yang memungkinkan agen pengguna mengeluarkan mengelompokkan data secara terpisah dari data yang ada dalam kelompok lain, serta mengaktifkan situs untuk mengelola data yang terkait secara semantis secara ergonomis. Setiap bucket penyimpanan dapat berisi data yang terkait dengan API penyimpanan yang ada, seperti IndexedDB dan {i>CacheStorage<i}.
URLPattern: hasRegExpGroups
Memungkinkan pemeriksaan apakah URLPattern
menggunakan satu atau beberapa ECMAScript reguler
kelompok ekspresi, dan karenanya mungkin tidak cocok untuk digunakan dalam kasus di mana
Mesin ECMAScript tidak tersedia (seperti beberapa API mendatang yang direncanakan).
Sederhananya, hal ini mencerminkan kembali sesuatu
yang bisa diketahui pengembang dari
memeriksa pola, tetapi memiliki akses ke penerapan UA
membuatnya lebih mudah.
DrawingBufferStorage WebGL
WebGL memungkinkan rendering menjadi tekstur dan renderbuffer dari berbagai piksel yang berbeda format font. Misalnya, berenkode 8-bit, floating point, dan sRGB.
Buffer gambar WebGL (buffer yang diteruskan ke compositor) adalah 8 bit secara default. Fitur drawBufferStorage memungkinkan WebGL mengonfigurasi format piksel buffer gambar ini, yang memungkinkan developer melakukan hal berikut.
- Hindari salinan tambahan saat mengonversi rendering ke gambar default format piksel penyangga.
- Menggambar konten yang memiliki presisi lebih dari 8 bit.
Fitur yang terakhir membuka beberapa aplikasi tambahan:
- Konten gamut warna yang sangat luas tanpa kehilangan presisi.
- Aplikasi medis yang membutuhkan 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. Ini spesifikasi dan peluncuran berada di luar cakupan W3C. Kesepakatan utama ini akan diluncurkan sebagai penyandian TLS, dan harus transparan bagi pengguna.
Uji coba origin sedang berlangsung
Di Chrome 122, Anda dapat memilih untuk menggunakan origin baru berikut uji coba.
Ekstensi cakupan aplikasi web
Cakupan aplikasi web (ditentukan oleh kolom cakupan) hanya dapat ditentukan dengan jalur dari dengan satu origin. Ini digunakan untuk menentukan apakah jendela aplikasi saat ini dokumen merupakan bagian dari aplikasi. Ini juga menentukan URL apa yang diizinkan anggota manifes lainnya.
Dengan scope_extensions, developer mampu memperluas perilaku aplikasi mereka untuk menyertakan asal lain jika ada perjanjian antara asal utama aplikasi web dan asal yang terkait.
Daftar ke uji coba origin ekstensi cakupan aplikasi web
Kontrol Permukaan yang Diambil
Captured Surface Control API memungkinkan aplikasi web menghasilkan peristiwa roda di tab atau jendela yang diambil, dan membaca atau tuliskan tingkat zoom dari tab yang direkam.