Chrome 124 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 124 masih dalam versi beta per 20 Maret 2024. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS

Rilis ini menambahkan dua fitur CSS baru.

CSSImportRule.styleSheet

Izinkan CSSImportRule.styleSheet menjadi nullable. Atribut styleSheet di CSSImportRule dapat berupa null jika tidak ada lembar gaya CSS terkait.

CSSKeyframesRule.length

Mengekspos atribut length dari CSSKeyframesRule. Antarmuka yang mendukung properti yang diindeks harus menentukan atribut jenis bilangan bulat yang bernama length.

HTML

Rilis ini menambahkan dua fitur HTML baru.

Atribut writingsuggestions

Browser mulai memberikan saran penulisan kepada pengguna saat mereka mengetik di berbagai kolom yang dapat diedit di seluruh web. Meskipun hal ini umumnya berguna bagi pengguna, dalam kasus tertentu developer mungkin ingin menonaktifkan bantuan penulisan yang disediakan browser, seperti ekstensi atau situs yang menyediakan fungsi serupa yang mereka miliki.

Atribut baru writingsuggestions memiliki nilai true atau false yang memungkinkan developer mengaktifkan atau menonaktifkan saran penulisan yang disediakan browser. Status atribut untuk sebuah elemen juga dapat diwarisi dari elemen ancestor, sehingga memungkinkan developer mengontrol fungsi ini pada skala per elemen, per dokumen, atau sub-dokumen.

Penampung scroll yang dapat difokuskan keyboard

Meningkatkan aksesibilitas dengan membuat penampung scroll dapat difokuskan menggunakan navigasi fokus berurutan. Sebelum perubahan ini, tombol tab tidak akan memfokuskan scroller kecuali tabIndex ditetapkan secara eksplisit ke 0 atau lebih.

Dengan membuat scroller dapat difokuskan secara default, pengguna yang tidak dapat (atau tidak ingin) menggunakan mouse akan dapat memfokuskan konten yang terpotong menggunakan tab dan tombol panah keyboard. Perilaku ini hanya diaktifkan jika scroller tidak berisi turunan yang dapat difokuskan keyboard.

Fitur ini akan diluncurkan secara bertahap mulai Chrome 124, dan tersedia untuk semua pengguna pada Chrome 125. Pelajari lebih lanjut scroller keyboard yang dapat difokuskan.

Web API

Penambahan ke Attribution Reporting API

Fitur telah ditambahkan ke Attribution Reporting API untuk membuat kemampuan proses debug tambahan dengan mendukung laporan debug kegagalan penguraian, meningkatkan ergonomi API dengan mendukung kolom untuk menentukan platform pendaftaran pilihan, dan meningkatkan privasi.

Picture-in-picture dokumen: menambahkan opsi untuk menyembunyikan tombol kembali ke tab

Tindakan ini akan menambahkan parameter baru (disallowReturnToOpener) ke API picture-in-picture dokumen yang, jika disetel ke true, memberikan petunjuk bagi browser bahwa API tidak boleh menampilkan tombol di jendela picture-in-picture sehingga pengguna dapat kembali ke tab pembuka.

Meskipun tombol untuk kembali ke tab pembuka selalu masuk akal dalam kasus picture-in-picture video (streaming video dapat ditampilkan ke elemen video di tab pembuka), hal ini tidak selalu berlaku untuk pengalaman picture-in-picture dokumen. Hal ini memberi developer kontrol yang lebih besar atas pengalaman pengguna saat mereka menentukan bahwa tombol seperti itu tidak relevan untuk kasus penggunaan mereka.

Pelajari lebih lanjut di dokumentasi untuk picture-in-picture Dokumen.

Pemblokiran render dokumen

Fitur ini memungkinkan penulis memblokir rendering dokumen hingga konten penting telah diuraikan, sehingga memastikan paint pertama yang konsisten di semua browser. Tanpa fitur ini, status first paint bergantung pada heuristik untuk yang dihasilkan parser yang dapat bervariasi di berbagai browser.

Hal ini sangat penting untuk Transisi Tampilan saat status DOM yang diurai pada frame pertama dapat secara drastis mengubah transisi yang dibuat.

Perhatikan bahwa fitur ini mengimplementasikan sintaksis <link rel=expect href="#id"> yang memungkinkan elemen link mereferensikan elemen lain yang diharapkan di halaman. Rendering kemudian diblokir hingga elemen yang diharapkan diuraikan sepenuhnya. Tindakan ini menggantikan implementasi atribut HTML sebelumnya yang memungkinkan seluruh dokumen diblokir render.

jitterBufferTarget atribut

Atribut jitterBufferTarget memungkinkan aplikasi menentukan durasi target waktu dalam milidetik media untuk ditahan oleh buffer jitter RTCRtpReceiver. Hal ini memengaruhi jumlah buffering yang dilakukan oleh agen pengguna, yang pada akhirnya memengaruhi transmisi ulang dan pemulihan paket yang hilang. Dengan mengubah nilai target, aplikasi dapat mengontrol kompromi antara penundaan pemutaran dan risiko kehabisan frame audio atau video karena jitter jaringan.

pageswap peristiwa

Peristiwa pageswap diaktifkan pada objek jendela dokumen saat navigasi akan mengganti dokumen ini dengan dokumen baru. Peristiwa ini memberikan info aktivasi tentang navigasi (type, NavigationHistoryEntry untuk dokumen baru).

Jika navigasi memiliki transisi tampilan lintas dokumen, peristiwa akan dikirim sebelum merekam status untuk dokumen lama. Hal ini memungkinkan developer mengonfigurasi status lama yang diambil untuk transisi berdasarkan info aktivasi navigasi dan status visual dokumen lama saat ini.

Header permintaan HTTP priority

Tindakan ini akan menambahkan header permintaan priority untuk semua permintaan HTTP dengan informasi prioritas untuk permintaan tersebut pada saat permintaan tersebut dikirim.

RFC 9218 (Extensible Prioritization Scheme untuk HTTP) menentukan header permintaan HTTP priority yang akan digunakan untuk memberi sinyal prioritas permintaan ke origin (dan perantara). Library ini juga menentukan proses negosiasi dan frame tingkat protokol untuk HTTP/2 dan HTTP/3 guna membawa informasi prioritas yang sama.

Header hanya dapat memberikan sinyal prioritas awal untuk suatu resource saat pertama kali diminta, sementara mekanisme berbasis frame memungkinkan untuk memodifikasi prioritas setelah kejadian.

Header dapat beroperasi secara menyeluruh ke server asal (dan menyediakan mekanisme agar origin dapat mengganti prioritas jika dikenali oleh perantara) sementara frame dibatasi untuk beroperasi di level link.

Fitur ini khusus untuk mendukung skema penentuan prioritas berbasis header.

Izin Akses Jaringan Pribadi untuk melonggarkan konten campuran

Untuk membuat koneksi ke perangkat di jaringan lokal yang tidak memiliki nama unik global, sehingga tidak dapat memperoleh sertifikat TLS, fitur ini memperkenalkan opsi baru pada fetch() guna mendeklarasikan intent developer untuk berkomunikasi dengan perangkat tersebut. Hal ini mencakup fitur baru yang dikontrol kebijakan untuk membatasi akses setiap situs ke kemampuan ini, dan header baru untuk respons preflight server guna memberikan metadata tambahan.

Petunjuk klien Sec-CH-UA-Form-Factors

Petunjuk ini memberikan informasi kepada server tentang faktor bentuk agen pengguna. Metode ini menampilkan satu atau beberapa nilai faktor bentuk berikut:

  • Desktop: Agen pengguna yang berjalan di komputer pribadi.
  • Otomotif: Agen pengguna yang disematkan di kendaraan, tempat pengguna mungkin bertanggung jawab untuk mengoperasikan kendaraan dan tidak dapat memperhatikan detail kecil.
  • Seluler: Perangkat kecil berorientasi sentuhan yang biasanya dibawa oleh pengguna.
  • Tablet: Perangkat berorientasi sentuh yang lebih besar dari "Seluler" dan biasanya tidak digunakan oleh pengguna.
  • XR: Perangkat imersif yang meningkatkan atau mengganti lingkungan di sekitar pengguna.
  • EInk: Perangkat yang ditandai dengan update layar lambat dan resolusi warna terbatas atau tidak ada sama sekali.
  • Smartwatch: Perangkat seluler dengan layar kecil (biasanya kurang dari dua inci), dibawa sedemikian rupa sehingga pengguna dapat melihatnya dengan cepat.

setHTMLUnsafe dan parseHTMLUnsafe

Metode setHTMLUnsafe dan parseHTMLUnsafe memungkinkan Declarative Shadow DOM untuk digunakan dari JavaScript. Metode ini juga menawarkan cara yang lebih mudah untuk mengurai HTML ke dalam DOM secara imperatif, dibandingkan dengan innerHTML atau DOMParser.

Update pada Shared Storage API

Update ini menambahkan dukungan untuk menjalankan worklet lintas origin tanpa harus membuat iframe.

Streams API: Iterasi asinkron ReadableStream

API stream menyediakan dasar yang dapat dioperasikan dan digunakan di mana saja untuk membuat, menulis, dan menggunakan aliran data. Perubahan ini menambahkan dukungan untuk protokol iterable asinkron ke ReadableStream API, sehingga memungkinkan aliran data yang dapat dibaca digunakan sebagai sumber untuk loop await...of.

SVG context-fill dan context-stroke

Mengimplementasikan fitur SVG yang ada yang mengizinkan kata kunci context-fill dan context-stroke saat menentukan properti isian dan goresan. Hal ini hanya memengaruhi sub-hierarki SVG yang dibuat instance-nya dengan elemen <use>, dan elemen <marker> yang dibuat instance-nya menggunakan properti marker pada elemen <path>. Dalam situasi tersebut, context-fill dan context-stroke di-resolve menjadi nilai properti fill dan stroke pada <use> atau <path>.

WebGPU: Dukungan ServiceWorker dan SharedWorker

Dukungan ServiceWorker dan SharedWorker ditambahkan ke WebGPU, sesuai dengan kemampuan WebGL yang sudah ada.

Service Worker mengaktifkan kemampuan offline dan pemrosesan latar belakang untuk WebGPU. Artinya, aplikasi web atau Ekstensi Chrome yang memiliki banyak grafis dapat menyimpan resource dalam cache dan menjalankan komputasi meskipun pengguna tidak aktif berinteraksi dengan halaman.

Pekerja Bersama memungkinkan beberapa tab atau konteks ekstensi mengoordinasikan dan berbagi resource WebGPU. Hal ini menyebabkan performa yang lebih halus dan penggunaan hardware grafis pengguna yang lebih efisien.

WebSocketStream API

WebSocket API menyediakan antarmuka JavaScript ke protokol WebSocket RFC6455. Meskipun berfungsi dengan baik, hal ini terasa canggung dari perspektif ergonomi dan tidak memiliki fitur penting dari tekanan balik. Tujuan dari WebSocketStream API adalah untuk mengatasi kekurangan ini dengan mengintegrasikan Streaming HOWWG dengan WebSocket API.

Pelajari lebih lanjut di WebSocketStream: mengintegrasikan streaming dengan WebSocket API.

Enkapsulasi kunci X25519Kyber768 untuk TLS

Melindungi traffic TLS Chrome saat ini dari kriptoanalisis kuantum di masa mendatang dengan men-deploy algoritma perjanjian kunci tahan kuantum Kyber768.

Ini adalah perjanjian kunci hibrida X25519 dan 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.

Pelajari lebih lanjut di Melindungi Traffic Chrome dengan Hybrid Kyber KEM.

Uji coba origin sedang berlangsung

Di Chrome 124, Anda dapat ikut serta dalam uji coba origin baru berikut.

Uji coba penghentian penggunaan untuk peristiwa mutasi

Peristiwa mutasi, termasuk DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument, dan DOMCharacterDataModified, dapat merusak performa halaman, dan juga secara signifikan meningkatkan kompleksitas dalam penambahan fitur baru ke Web. API ini tidak digunakan lagi dari spesifikasi pada tahun 2011, dan diganti (pada tahun 2012) oleh Mutation Observer API yang jauh lebih baik.

Dukungan peristiwa mutasi akan dinonaktifkan secara default mulai Chrome 127, sekitar 30 Juli 2024. Kode harus dimigrasikan ke Mutation Observer API sebelum tanggal tersebut untuk menghindari kerusakan situs. Jika perlu waktu lebih lama, daftar ke uji coba penghentian penggunaan peristiwa mutasi untuk mengaktifkan kembali fitur tersebut selama waktu yang terbatas di situs tertentu. API ini dapat digunakan hingga Chrome 134, yang berakhir 25 Maret 2025.

Atau, kebijakan perusahaan MutationEventsEnabled juga dapat digunakan untuk tujuan yang sama, juga melalui Chrome 134.

Daftar ke uji coba penghentian penggunaan peristiwa mutasi.

Penghentian dan penghapusan

Versi Chrome ini memperkenalkan penghentian penggunaan dan penghapusan berikut. Buka ChromeStatus.com untuk mengetahui daftar penghentian penggunaan yang direncanakan, penghentian saat ini, dan penghapusan sebelumnya.

Rilis Chrome ini menghapus satu fitur.

Menghapus alias "window-placement" untuk kebijakan izin dan izin "window-management"

Menghapus alias "window-placement" untuk kebijakan izin dan izin "window-management". Ini adalah bagian dari upaya yang lebih besar untuk mengganti nama string dengan pada akhirnya menghentikan dan menghapus "window-placement". Perubahan terminologi meningkatkan masa pakai deskriptor saat Window Management API berkembang dari waktu ke waktu.