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.
NavigationActivation
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:
- Memeriksa apakah permintaan telah dimulai dari konteks yang aman.
- 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.