Chrome 122 beta

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.

Daftar ke uji coba origin Captured Surface Control.