Subgrid petak CSS, dukungan animasi masuk dan keluar untuk CSS, pengelompokan array, helper iterator, dan lainnya.
Kecuali jika dinyatakan lain, perubahan yang dijelaskan 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 disediakan atau dari daftar di ChromeStatus.com. Chrome 117 dalam versi beta per 16 Agustus 2023. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store pada Android.
CSS
Rilis ini menambahkan enam fitur CSS baru. Tiga properti pertama adalah bagian dari pekerjaan untuk mengaktifkan transisi pada properti terpisah, yang mengaktifkan animasi masuk dan keluar.
Aturan @starting-style
Dengan aturan at ini, penulis dapat memulai transisi CSS pada pembaruan gaya yang pertama.
Transisi CSS tidak memicu transisi dari gaya awal pada pembaruan gaya pertama untuk suatu elemen, atau saat jenis tampilan berubah dari none
ke jenis tertentu. Hal ini untuk menghindari transisi yang tidak terduga dari gaya awal. Untuk memulai transisi dari pembaruan gaya yang pertama, Anda kini dapat menerapkan gaya dari dalam aturan @starting-style
. Misalnya, CSS berikut memulai transisi warna latar belakang dari hijau ke hijau limau pada pembaruan gaya pertama untuk div:
div {
transition: background-color 0.5s;
background-color: lime;
}
@starting-style {
div {
background-color: green;
}
}
Properti overlay
Properti overlay
memungkinkan developer mempertahankan elemen di lapisan atas untuk transisi keluar. Properti overlay ditambahkan untuk menunjukkan apakah suatu elemen berada di lapisan atas atau tidak, dan dapat berisi dua nilai: none
, atau auto
.
Properti perilaku transisi CSS
Properti CSS transition-behavior
adalah garis panjang dari properti transition
yang memungkinkan properti terpisah digunakan dalam transisi. Dengan menentukan nilai allow-discrete
untuk perilaku transisi, properti terpisah kini akan memulai animasi dan beralih dari nilai awal ke nilai akhirnya sebesar 50%. Untuk transisi dengan display: none
dan content-visibility: hidden
adalah salah satu dari nilai awal atau akhir, nilai yang terlihat akan digunakan selama seluruh durasi transisi.
Nilai subgrid petak CSS
Nilai subgrid
untuk grid-template-columns
dan grid-template-rows
sekarang diimplementasikan di Chrome. Nilai ini memungkinkan petak bertingkat menggunakan jalur yang ditentukan pada induknya, bukan membuat definisi jalur baru untuk baris, kolom, atau keduanya.
Penggabungan teks CSS: cukup
Nilai pretty
untuk properti text-wrap
CSS dioptimalkan untuk tata letak terbaik, bukan kecepatan. Kode ini dimaksudkan untuk teks isi, dan karenanya mengharapkan beberapa baris. Dengan menggunakan pretty
, developer secara eksplisit memilih metode tata letak yang mungkin lebih lambat dari wrap
—yang akan mengoptimalkan performa. Implementasi saat ini di Chrome dioptimalkan untuk orphans guna mencegah satu kata ditampilkan di bagian bawah paragraf teks.
Di Chrome 117, coba demo text-wrap: tampilan ini dan lihat bagaimana nilai mengubah presentasi teks.
contain-intrinsic-size: dukungan tidak ada otomatis
Fitur ini memperluas sintaksis contain-intrinsic-size
yang ada untuk menyertakan juga auto && none
.
Web API
Pengelompokan array
Pengelompokan array adalah operasi yang sangat umum, sebaiknya dicontohkan dengan klausa GROUP BY dan pemrograman MapReduce dari SQL. Kemampuan untuk menggabungkan data ke dalam grup memungkinkan developer menghitung set data dengan urutan yang lebih tinggi, seperti usia rata-rata kelompok atau nilai LCP harian untuk halaman web. Fitur ini memungkinkan hal ini dengan menambahkan metode statis Object.groupBy
dan Map.groupBy
. Metode Object menampilkan objek biasa, di mana grup tersebut adalah kunci properti. Metode Peta menampilkan Peta, yang kuncinya dapat berupa nilai arbitrer.
Hapus Petunjuk Klien melalui header Clear-Site-Data
Situs kini dapat menghapus cache client hints menggunakan Clear-Site-Data: "clientHints"
. Client hints juga akan dihapus saat "cookie", "cache", atau "*" ditargetkan oleh header yang sama. Hal ini terjadi karena jika pengguna menghapus cookie di client hints UI yang juga sudah dihapus, cache client hints adalah cache, dan agar konsisten dengan target karakter pengganti masing-masing.
Sintaksis karakter pengganti header Clear-Site-Data
Situs kini dapat menghapus semua target penyimpanan ("cookie", "cache", dan "penyimpanan") dengan mengirimkan Clear-Site-Data: "*"
. Perlu diketahui bahwa Chrome tidak mendukung penghapusan "executionContexts" saat ini, tetapi jika kami menambahkannya di masa mendatang, penargetan header apa pun "*" akan menghapusnya juga.
customElements.getName
Metode customElements.getName()
menampilkan nama tag dari definisi elemen kustom yang ditentukan.
Helper iterator
Helper iterator adalah metode baru pada prototipe iterator untuk memungkinkan penggunaan dan konsumsi iterator secara umum.
Membuat CaptureController berasal dari antarmuka EventTarget
Antarmuka CaptureController memungkinkan manipulasi sesi screenshot lebih lanjut. Di masa mendatang, diharapkan peristiwa yang terkait dengan sesi pengambilan gambar akan dikirim pada pengontrol tersebut. Agar dapat mengelola pemroses untuk peristiwa tersebut, metode EventTarget
tersedia di CaptureController
.
PerformanceResourceTiming deliveryType
Properti deliveryType
dari PerformanceResourceTiming
menampilkan informasi tentang cara pengiriman resource. Misalnya, resource yang dikirim dari cache (saat ini ditampilkan melalui transferSize
) dan navigasi yang diambil data dari halaman sebelumnya.
Pemeriksaan kelebihan port di penyetel URL
Nilai port akan diperiksa saat menetapkan url.port
. Semua nilai yang melebihi batas numerik 16-bit tidak akan valid lagi. Misalnya, skrip berikut berperilaku berbeda setelah perubahan:
u = new URL("http://test.com");
u.port = 65536;
console.log(u.port);
Sebelum perubahan, output-nya adalah 65536. Setelah perubahan, output-nya akan menjadi 80.
Private State Token API
Ini adalah API baru untuk menyebarkan sinyal pribadi terbatas di seluruh situs, tanpa menggunakan ID tetap lintas situs seperti cookie pihak ketiga. Metode antipenipuan yang mengandalkan cookie pihak ketiga tidak akan berfungsi setelah cookie pihak ketiga dihentikan. Private State Token API tidak menghasilkan atau menentukan sinyal antipenipuan: ini terserah pihak pertama yang terkait dan penerbit token. Sebaliknya, API akan menjaga privasi dengan menerapkan batasan pada informasi yang ditransfer dalam sinyal ini. API ini didasarkan pada varian protokol Privacy Pass, yang sedang dalam proses distandardisasi oleh IETF. Jenis ini dapat dianggap sebagai bentuk protokol Privacy Pass yang terekspos web. Spesifikasi API akan diperbarui untuk versi dan jenis token baru, dan akan terus diperbarui dengan spesifikasi kelompok kerja Privacy Pass. Perubahan yang diharapkan akan berada pada protokol kriptografi dasar dan kode penerbitan token: kami tidak mengharapkan perubahan pada Fetch API penerbitan dan penukaran yang dihadapi developer. Private State Token API sebelumnya dikenal sebagai Trust Token API. Nama ini diganti agar lebih akurat dalam menangkap semantik yang mendasarinya dan menyoroti manfaat privasi bagi pengguna.
Parser host IPv6 yang disematkan dan kompatibel dengan IPv4 standar URL
Perilaku penguraian parser host IPv6 IPv4 yang disematkan akan diupdate agar secara ketat mengikuti standar URL web. Batasan yang diperkenalkan pada alamat IPv6 adalah:
- Alamat IPv4 tersemat harus selalu terdiri dari 4 bagian.
- Alamat yang berisi kurang dari 4 bagian seperti
http://[::1.2]
tidak akan valid lagi. Fitur ini merupakan bagian dari interop URL 2023.
URL: Izinkan "%00" sebagai jalur URL yang valid
Chrome saat ini menganggap URL tidak valid jika bagian jalur URL berisi "%00" (atau null), yang tidak sesuai dengan Standar URL. Misalnya, pengujian berikut gagal di Chrome, karena new URL(...)
menampilkan pengecualian URL Tidak Valid.
assertEquals(new URL("http://example.com/%00").pathname, "/%00");
Menurut Standar URL, urutan karakter atau byte apa pun di jalur URL tidak boleh membuat URL menjadi tidak valid, dan perubahan ini akan mengupdate Chrome agar mengikuti standar tersebut.
Kontrol ekstensi header RTP WebRTC
Memperluas WebRTC RTCRtpTransceiver
API untuk menawarkan kontrol atas ekstensi header RTP mana yang dinegosiasikan.
kuantizer per frame di VideoEncoder
Menambahkan "quantizer" VideoEncoderBitrateMode
untuk VideoEncoder.
Ini memberikan kemampuan untuk menentukan parameter kuantizer bagi setiap frame untuk codec video AV1, VP9, dan AVC.
Opsi exclusionFilters
WebUSB di requestDevice()
Opsi exclusionFilters
di navigator.usb.requestDevice()
memungkinkan developer web mengecualikan beberapa perangkat dari alat pilih browser. Filter ini dapat digunakan untuk mengecualikan perangkat yang cocok dengan filter yang lebih luas, tetapi tidak didukung.
Uji coba origin sedang berlangsung
Di Chrome 117, Anda dapat ikut serta dalam uji coba origin baru berikut.
Transportasi kamus kompresi dengan Shared Brotli
Fitur ini menambahkan dukungan untuk menggunakan respons sebelumnya yang ditetapkan, sebagai kamus eksternal untuk respons HTTP kompresi Brotli.
Daftar ke uji coba origin CompressionDictionaryTransport.
Uji coba penghentian penggunaan WebSQL
WebSQL akan dihapus dari Chrome. Situs yang mengandalkan fitur ini sebaiknya beralih ke SQLite melalui Wasm.
Uji coba penghentian penggunaan ini memberi developer yang membutuhkan lebih banyak waktu untuk melakukan migrasi kemampuan untuk terus menggunakan WebSQL hingga Chrome 123 (Maret 2024). Daftar ke uji coba penghentian penggunaan WebSQL.
Aplikasi web dengan tab
Mengizinkan jendela aplikasi web memiliki strip tab, misalnya, untuk mengedit beberapa dokumen dalam aplikasi yang sama. Tindakan ini akan menambahkan mode tampilan baru "bertab" dan bidang manifes baru untuk memungkinkan penyesuaian pada tab setrip.
Daftar ke uji coba asal Aplikasi Web dengan Tab.
Penghentian dan penghapusan
Versi Chrome ini memperkenalkan penghentian penggunaan dan penghapusan yang tercantum di bawah. Buka ChromeStatus.com untuk mengetahui daftar penghentian penggunaan yang direncanakan, penghentian saat ini, dan penghapusan sebelumnya.
Rilis Chrome ini menghentikan penggunaan dua fitur.
Menghentikan penggunaan peristiwa penghapusan muatan
Chrome 117 akan memulai proses penghentian penggunaan pengendali peristiwa unload
. Jika situs Anda menggunakannya, sebaiknya baca postingan khusus tentang penghentian penggunaan unload
untuk detail selengkapnya.
Menghentikan penggunaan tanda tangan server SHA-1 TLS
Chrome menghapus dukungan untuk algoritma tanda tangan yang menggunakan SHA-1 untuk tanda tangan server selama TLS handshake. Hal ini tidak memengaruhi dukungan SHA-1 di sertifikat server, yang memang sudah dihapus, atau di sertifikat klien, yang masih terus didukung.
Rilis Chrome ini menghapus empat fitur.
[WebRTC] Menghapus getStats() lama berbasis callback
RTCPeerConnection memiliki dua versi getStats()
, versi yang sesuai spesifikasi menampilkan laporan melalui penyelesaian promise, dan versi non-standar menampilkan laporan yang sangat berbeda melalui callback sebagai argumen pertama. getStats() berbasis callback kini telah dihapus.
Untuk informasi selengkapnya tentang migrasi, dan apa yang harus dilakukan jika Anda membutuhkan lebih banyak waktu, lihat Panduan migrasi getStats() lama.
Penghapusan nilai -1 untuk WebRTC getStats datachannelIdentifier
WebRTC getStats API mengekspos properti dataChannelIdentifier. API tersebut tidak akan lagi memberikan nilai "-1" jika statistik dikueri sebelum koneksi datachannel dibuat. Sebagai gantinya, bagian kamus akan dihilangkan.
Penghapusan WebRTC getStats encoderImplementation dan decoderImplementation "tidak diketahui"
WebRTC getStats API mengekspos nama penerapan encoder dan decoder untuk video keluar dan masuk. Alat tersebut tidak akan lagi memberikan nilai “tidak diketahui”  jika statistik dikueri sebelum frame video dienkode atau didekode. Sebagai gantinya, bagian kamus akan dihilangkan.
Properti CSS -webkit-highlight
Hapus properti CSS -webkit-highlight
yang dimaksudkan untuk menandai teks, tetapi tidak pernah distandardisasi. Parameter ini tidak memiliki efek yang terlihat dalam kromium (diuraikan, tetapi tidak pernah digunakan dalam rendering konten). Properti ini dihapus dari WebKit pada tahun 2014, telah ditandai sebagai tidak digunakan lagi di MDN, dan baru saja diganti dengan spesifikasi Pseudo Sorotan CSS.