Chrome 122 beta

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.

Daftar ke uji coba origin Captured Surface Control.