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

CSS

Rilis ini menambahkan lima fitur CSS baru.

Fungsi warna light-dark() CSS

Fungsi light-dark() di CSS memungkinkan developer menyesuaikan skema warna dengan preferensi pengguna untuk mode terang atau gelap dengan lebih mudah.

Gunakan light-dark() untuk menentukan dua nilai warna berbeda dalam satu properti CSS. Browser (atau perangkat) akan otomatis memilih warna yang sesuai berdasarkan nilai color-scheme elemen yang dihitung. Misalnya, dengan CSS berikut:

  • Jika pengguna memilih tema terang, elemen .target akan memiliki latar belakang warna limau.
  • Jika pengguna memilih tema gelap, elemen .target akan memiliki latar belakang hijau.
html {
  color-scheme: light dark;
}
.target {
    background-color: light-dark(lime, green);
}

Mode tampilan picture-in-picture CSS

Menambahkan dukungan ke fitur media display-mode CSS untuk nilai picture-in-picture. Hal ini memungkinkan developer web untuk menulis aturan CSS tertentu yang hanya diterapkan saat (bagian dari) aplikasi web ditampilkan dalam mode picture-in-picture.

Pelajari fitur media ini lebih lanjut, dalam dokumentasi picture-in-picture.

properti CSS align-content untuk pemblokiran

Properti CSS align-content kini didukung di penampung blok dan sel tabel. Sebelumnya, properti ini hanya didukung pada item petak dan fleksibel. Misalnya, display: block, display: list-item, dan display: table-cell sekarang dapat disejajarkan menggunakan align-content.

Pelajari lebih lanjut di Dukungan untuk align-content dalam tata letak blok dan tabel.

Properti CSS field-sizing

Dengan menggunakan properti field-sizing, developer dapat menonaktifkan ukuran default tetap untuk kontrol formulir, dan membuat ukurannya bergantung pada kontennya. Hal ini memungkinkan membuat kolom teks yang tumbuh secara otomatis.

Properti text-spacing-trim CSS

Properti ini menerapkan kerning ke karakter tanda baca berbahasa China, Jepang, dan Korea (CJK) untuk menghasilkan tipografi yang menarik secara visual seperti yang ditentukan oleh JLREQ (Persyaratan untuk Tata Letak Teks Jepang) dan CLREQ (Persyaratan untuk Tata Letak Teks China).

Banyak karakter tanda baca CJK yang menyertakan spasi internal glyph. Misalnya, tanda titik CJK dan tanda kurung tutup CJK biasanya memiliki spasi internal glyph di bagian kanan ruang glyph, untuk memberinya kemajuan yang konstan seperti karakter ideografis lainnya. Namun, jika muncul berturut-turut, spasi glyph-internal menjadi berlebihan. Fitur ini menyesuaikan spasi yang berlebihan tersebut.

Properti text-spacing-trim menerima salah satu dari empat nilai berikut: normal, trim-start, space-all, dan space-first. Pelajari lebih lanjut dalam Memperkenalkan empat fitur internasional baru di CSS.

Web API

Mengizinkan pembuatan kredensial WebAuthn di iframe lintas origin

Fitur ini memungkinkan developer web membuat kredensial WebAuthn (yaitu, kredensial "kunci publik", yang dikenal sebagai kunci sandi) di iframe lintas origin. Dua kondisi diperlukan untuk kemampuan baru ini:

  • Iframe memiliki kebijakan izin publickey-credentials-create-feature.
  • iframe memiliki aktivasi pengguna sementara.

Hal ini akan memungkinkan developer membuat kunci sandi dalam skenario tersemat, seperti setelah alur peningkatan identitas ketika Pihak yang Mengandalkan memberikan pengalaman identitas gabungan.

Paket fitur pelaporan atribusi

Chrome 123 menambahkan penyesuaian data pemicu dan filter nilai gabungan ke Attribution Reporting API yang berfokus pada:

  • Kemampuan konfigurasi API tambahan untuk pelaporan tingkat peristiwa dengan mendukung penyesuaian untuk kardinalitas dan nilai data pemicu.
  • Kemampuan konfigurasi API tambahan untuk laporan ringkasan dengan mendukung filter dalam nilai agregat.

Pengukuran Atribusi Lintas Aplikasi dan Web

Memperluas Attribution Reporting API untuk memungkinkan atribusi konversi yang terjadi di web ke peristiwa yang terjadi di luar browser, dalam aplikasi lain.

Proposal di sini memanfaatkan dukungan tingkat OS untuk atribusi. Secara khusus, hal ini memberi developer opsi untuk mengizinkan peristiwa di web seluler dapat digabungkan dengan peristiwa di Privacy Sandbox Android, meskipun dukungan untuk platform lain juga dapat diterapkan.

blocking=render pada skrip modul inline

Ini adalah perubahan kecil yang menghapus batasan buatan dari <script blocking="render">. Sebelum perubahan ini, <script blocking="render"type="module"> memerlukan atribut src, meskipun src ini adalah URI data. Ini adalah batasan yang tidak perlu, karena skrip modul inline yang mengimpor skrip lain seharusnya masih dapat merender blok.

Alasannya adalah karena transisi tampilan lintas dokumen sering kali mengandalkan skrip yang memblokir perenderan untuk penyesuaian, sehingga skrip yang memblokir render lebih mudah bagi penulis akan mendukung fitur ini.

Dokumen picture-in-picture: mengizinkan focus() API untuk memfokuskan pembuka

Anda kini dapat menggunakan opener.focus() dari jendela picture-in-picture dokumen untuk menghadirkan fokus tingkat sistem ke tab yang memiliki jendela picture-in-picture dokumen.

Hal ini memungkinkan developer untuk mengembalikan tab asli ke latar depan jika diperlukan. Misalnya, saat pengguna perlu mengakses pengalaman UI yang tidak muat di jendela picture-in-picture yang lebih kecil.

Sintaksis impor atribut with

Atribut impor adalah fitur JavaScript untuk memungkinkan anotasi deklarasi impor, misalnya import xxx from "mod" with { type: "json" }. Chrome awalnya mengirimkan versi proposal sebelumnya (di Chrome 91) menggunakan assert sebagai kata kunci. Versi ini kemudian telah diupdate untuk menggunakan with karena beberapa perubahan yang diperlukan saat mengintegrasikannya dengan HTML untuk modul JSON dan CSS.

jitterBufferTarget

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.

Pengaturan Waktu Frame Animasi Panjang

Long Animation Frames API adalah ekstensi dari Long Tasks API. Fitur ini mengukur tugas bersama dengan update rendering berikutnya, menambahkan informasi seperti skrip yang berjalan lama, waktu rendering, dan waktu yang dihabiskan dalam tata letak dan gaya paksa, yang dikenal sebagai layout thrashing.

Developer dapat menggunakannya sebagai diagnostik untuk "kelambatan", yang diukur dengan INP, dengan menemukan penyebab kemacetan thread utama yang sering menjadi penyebab INP buruk.

Antarmuka NavigationActivation menambahkan navigation.activation. Setelan ini menyimpan status tentang kapan Dokumen saat ini diaktifkan (misalnya, saat dokumen diinisialisasi, atau dipulihkan dari back-forward cache).

Artinya, developer dapat menawarkan halaman yang disesuaikan berdasarkan tempat pengguna dinavigasi. Misalnya, menjalankan animasi yang berbeda jika berasal dari halaman beranda.

acara pagereveal

Peristiwa pagereveal diaktifkan di objek jendela Dokumen pada peluang rendering pertama setelah Dokumen: pertama kali dimuat, dipulihkan dari back-forward cache, atau diaktifkan dari pra-rendering.

Fitur ini dapat digunakan oleh penulis halaman untuk menyiapkan pengalaman entri halaman—seperti transisi tampilan dari status sebelumnya.

PointerEvent.deviceId untuk Tinta Multi-Pen

Karena perangkat dengan kemampuan input pena lanjutan menjadi semakin umum, platform web harus terus berkembang agar dapat sepenuhnya mendukung fitur lanjutan ini agar dapat memberikan pengalaman yang kaya bagi pengguna akhir dan developer. Salah satu kemajuan tersebut adalah kemampuan digitizer perangkat untuk mengenali lebih dari satu perangkat pena yang berinteraksi secara bersamaan. Fitur ini merupakan ekstensi antarmuka PointerEvent untuk menyertakan atribut baru, deviceId, yang mewakili ID unik yang persisten pada dokumen, dan terisolasi dokumen yang dapat digunakan developer dengan andal untuk mengidentifikasi setiap pena yang berinteraksi dengan halaman.

Pemeriksaan akses jaringan pribadi untuk permintaan navigasi: mode khusus peringatan

Sebelum situs A membuka situs B lain di jaringan pribadi pengguna, fitur ini akan melakukan hal berikut:

  1. Memeriksa apakah permintaan telah dimulai dari konteks yang aman.
  2. Mengirim permintaan preflight, dan memeriksa apakah B merespons dengan header yang mengizinkan akses jaringan pribadi.

Sudah ada fitur untuk subresource dan pekerja, tetapi penambahan ini khusus untuk permintaan navigasi.

Pemeriksaan ini dilakukan untuk melindungi jaringan pribadi pengguna. Karena dalam mode "hanya peringatan", fitur ini tidak akan menggagalkan permintaan jika ada pemeriksaan yang gagal. Sebagai gantinya, peringatan akan ditampilkan di DevTools untuk membantu developer bersiap menghadapi penerapan yang akan datang.

Petunjuk klien Sec-CH-UA-Form-Factor

Petunjuk ini menunjukkan "faktor bentuk" agen pengguna atau perangkat, sehingga situs dapat menyesuaikan responsnya.

API Perutean Statis Pekerja Layanan

API ini memungkinkan developer mengonfigurasi perutean serta memindahkan hal-hal sederhana yang dilakukan pekerja layanan. Jika kondisinya cocok, navigasi akan terjadi tanpa memulai pekerja layanan atau mengeksekusi JavaScript, yang memungkinkan halaman web menghindari penalti performa akibat intersepsi pekerja layanan. Untuk mengetahui informasi selengkapnya, lihat postingan blog sebelumnya tentang API ini.

Update Penyimpanan Bersama

Update ini mendukung pengoperasian worklet lintas origin tanpa harus membuat iframe.

Encoding Konten zstd

Zstandard, atau zstd, adalah mekanisme kompresi data yang dijelaskan dalam RFC8878. Ini adalah algoritma kompresi lossless yang cepat, yang menargetkan skenario kompresi real-time pada tingkat zlib dan rasio kompresi yang lebih baik. Token zstd ditambahkan sebagai token Content-Encoding yang terdaftar di IANA.

Menambahkan dukungan untuk zstd sebagai Content-Encoding akan membantu memuat halaman lebih cepat dan menggunakan lebih sedikit bandwidth, serta menghabiskan lebih sedikit waktu, CPU, dan daya pada kompresi di server kami, sehingga mengurangi biaya server.

Uji coba origin baru

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

Integrasi promise JavaScript WebAssembly

Untuk mendukung aplikasi responsif yang ditulis menggunakan WebAssembly, Anda perlu menyediakan fitur yang memungkinkan program WebAssembly ditangguhkan dan dilanjutkan.

Kasus penggunaan awal utama untuk integrasi promise adalah mengizinkan program WebAssembly yang sumbernya mengandalkan API sinkron untuk menggunakan API asinkron yang semakin umum di platform Web.

Daftar ke uji coba origin integrasi promise.

Penghapusan

Chrome 123 menghapus fitur berikut.

Alias window-placement untuk kebijakan izin dan izin window-management

Di Chrome 111, window-management telah ditambahkan sebagai alias untuk string izin dan kebijakan izin window-placement. 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 deskripsi saat Window Management API berkembang dari waktu ke waktu.

Peringatan penghentian penggunaan untuk alias window-placement dimulai di Chrome 113, dan sekarang akan dihapus.