Unit area pandang CSS baru, Federated Credential Management API, font COLRv1 Variabel, dan lainnya.
Kecuali jika dinyatakan lain, perubahan yang dijelaskan di bawah berlaku pada 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 108 masih dalam versi beta mulai 27 Oktober 2022. Anda dapat mendownload aplikasi terbaru di Google.com untuk desktop atau di Google Play Store di Android.
CSS
Chrome 108 menyertakan sejumlah fitur CSS baru.
Overflow CSS untuk elemen yang diganti
Chrome akan mulai meluncurkan perubahan yang memungkinkan developer menggunakan properti overflow
yang ada dengan elemen pengganti yang ditampilkan di luar kotak konten. Dipasangkan dengan object-view-box
, setelan ini dapat digunakan untuk membuat gambar dengan penerapan glow atau bayangan kustom, dengan perilaku ink-overflow yang tepat seperti bayangan CSS.
Hal ini berpotensi menyebabkan perubahan yang dapat menyebabkan gangguan. Cari tahu lebih lanjut di Perubahan pada penambahan elemen yang diganti.
Unit area pandang Kecil, Besar, Dinamis, dan Logis
Ini menambahkan dukungan untuk unit kecil (svw
, svh
, svi
, svb
, svmin
, svmax
), besar (lvw
, lvh
, lvi
, lvb
, lvmin
, lvmax
), dinamis (dvw
, dvh
, dvi
, dvb
, dvmin
, dvmax
), dan logis (vi
, vb
).
Dukungan break-after
, break-before
, dan break-inside
CSS
Dukungan untuk nilai hindari properti fragmentasi CSS break-before
, break-after
, dan break-inside
saat mencetak. Nilai ini memberi tahu browser untuk menghindari kerusakan sebelum, setelah, atau di dalam elemen yang diterapkan. Misalnya, CSS berikut menghindari kerusakan gambar saat batas halaman.
figure {
break-inside: avoid;
}
Fitur ini telah ditambahkan karena Chrome 108 menambahkan dukungan untuk pencetakan LayoutNG.
Penyelarasan item dasar pengukuran terakhir
Fitur ini memungkinkan developer menyelaraskan item dalam tata letak fleksibel atau tata letak petak dengan dasar pengukuran terakhir, bukan yang pertama. Hal ini dilakukan melalui properti berikut:
align-items: last baseline;
justify-items: last baseline;
align-self: last baseline;
justify-self: last baseline;
ContentVisibilityAutoStateChanged
peristiwa
Peristiwa yang diaktifkan pada elemen dengan content-visibility: auto
saat status rendering elemen berubah karena salah satu atribut yang membuat elemen relevan bagi pengguna.
Kasus penggunaannya adalah agar developer memiliki kontrol yang lebih besar atas kapan harus berhenti atau memulai rendering sebagai respons terhadap penghentian atau memulai rendering subhierarki konten-visibilitas agen pengguna. Misalnya, developer mungkin ingin menghentikan update React di subhierarki yang tidak dirender oleh agen pengguna. Demikian pula, developer mungkin ingin menghentikan update skrip lainnya (misalnya, update kanvas) saat agen pengguna tidak merender elemen.
Web API
Pengelolaan Kredensial Federasi (sebelumnya WebID)
Federated Credential Management API memungkinkan pengguna membawa identitas gabungan mereka untuk login ke situs dengan cara yang kompatibel dengan peningkatan privasi browser.
Ekstensi Sumber Media di pekerja
Mengaktifkan penggunaan API Ekstensi Sumber Media (MSE) dari konteks DedicatedWorker untuk memungkinkan peningkatan performa media buffering untuk pemutaran dengan HTMLMediaElement pada konteks Jendela utama. Dengan membuat objek MediaSource pada konteks DedicatedWorker, aplikasi dapat memperoleh MediaSourceHandle darinya dan mentransfer handle tersebut ke thread utama untuk digunakan dalam melampirkan ke HTMLMediaElement. Konteks yang membuat objek MediaSource kemudian dapat menggunakannya untuk melakukan buffer media.
Header Petunjuk Klien Fitur Media Preferensi Pengguna Sec-CH-Prefers-Reduced-Motion
Header Client Hints Fitur Media Preferensi Pengguna menentukan kumpulan header Petunjuk Klien HTTP seputar fitur media preferensi pengguna seperti yang ditentukan oleh Kueri Media Level 5. Jika digunakan sebagai Petunjuk Klien Penting, header ini memungkinkan server untuk membuat pilihan cerdas terkait, misalnya, penyisipan CSS. Sec-CH-Prefers-Reduced-Motion
mencerminkan preferensi prefers-reduced-motion
pengguna.
Pembaca BYOB WebTransport
Mendukung pembaca BYOB(bring-your-own-buffer) untuk WebTransport agar dapat membaca ke buffer yang disediakan developer. Pembaca BYOB dapat meminimalkan salinan buffer, dan mengurangi alokasi memori.
Karakter pengganti dalam Origin Kebijakan Izin
Spesifikasi Kebijakan Izin mendefinisikan mekanisme yang memungkinkan developer untuk secara selektif mengaktifkan dan menonaktifkan penggunaan berbagai fitur dan API browser. Salah satu kemampuan mekanisme ini memungkinkan fitur diaktifkan hanya pada origin yang disebutkan secara eksplisit (misalnya, https://foo.com/
). Mekanisme ini tidak cukup fleksibel untuk desain sebagian CDN, yang menayangkan konten melalui origin yang mungkin dihosting di salah satu dari beberapa ratus kemungkinan subdomain.
Oleh karena itu, fitur ini menambahkan dukungan untuk karakter pengganti dalam kebijakan izin yang terstruktur seperti SCHEME://*.HOST:PORT
(misalnya, https://*.foo.com/
) tempat Origin yang valid dapat dibuat dari SCHEME://HOST:PORT
(misalnya, https://foo.com/
). Ini mengharuskan HOST adalah domain yang dapat didaftarkan. Artinya, https://*.bar.foo.com/
berfungsi, tetapi https://*.com/
tidak akan berfungsi (jika Anda ingin mengizinkan semua domain menggunakan fitur tersebut, sebaiknya delegasikan ke *
).
Metode sinkronisasi untuk AccessHandles di File System Access API
Memperbarui metode asinkron flush()
, getSize()
, dan truncate()
di FileSystemSyncAccessHandle
dalam File System Access API ke metode sinkron.
FileSystemSyncAccessHandle
saat ini memiliki campuran metode sinkronisasi dan asinkron, yang menghambat performa dan kegunaan, terutama untuk aplikasi yang mentransfer C/C++ ke Wasm. Update ini akan memberikan konsistensi penggunaan API dan meningkatkan performa untuk library berbasis Wasm.
Perubahan ini berpotensi menyebabkan gangguan, Anda dapat membaca selengkapnya di Perubahan yang dapat menyebabkan gangguan: metode sinkronisasi untuk AccessHandles.
UI kondisional WebAuthn
UI kondisional untuk WebAuthn didukung di Windows 22H2 atau yang lebih baru, macOS, dan Android P atau yang lebih baru. UI WebAuthn di platform desktop juga telah diperbarui.
Font COLRv1 variabel dan deteksi fitur font
Dukungan font variabel COLRv1
font vektor warna COLRv1 telah didukung sejak Chrome 98, tetapi rilis awal ini hanya mendukung fungsi statis tabel COLRv1. Spesifikasi COLRv1 mendefinisikan integrasi dengan OpenType Variations yang memungkinkan modifikasi properti font gradien dan transformasi dengan cara mengubah parameter sumbu variabel. Langkah kedua ini memberikan dukungan untuk variasi tersebut ke COLRv1.
Ekstensi kondisi font-tech()
dan font-format()
ke @support CSS
Penggunaan font-tech()
dan font-format()
bersama dengan @support CSS memungkinkan deteksi teknologi font dan dukungan format, serta progressive enhancement konten. Contoh berikut menguji dukungan font COLRv1.
@supports font-tech(color-COLRv1) {
}
Dukungan fungsi tech()
dalam deskriptor @font-face src:
CSS Fonts Level 4 menyediakan sarana tambahan untuk memilih atau memfilter resource font. Fungsi tech()
diperkenalkan, yang memungkinkan penerusan daftar teknologi font yang diperlukan blob font masing-masing agar dapat berfungsi. Berdasarkan hal itu, Agen Pengguna akan memilih resource pertama yang sesuai.
Chrome di Android
Android OSK kini mengubah ukuran area pandang visual secara default
Keyboard Di Layar Android mengubah ukuran area pandang visual secara default, bukan blok awal yang memuatnya. Penulis dapat memilih untuk tidak ikut menggunakan tombol area pandang meta interactive-widget
yang baru.
Uji coba origin
Rilis Chrome ini memiliki dua uji coba origin baru.
Identitas penjual di peristiwa canmakepayment
Peristiwa pekerja layanan canmakepayment
memungkinkan penjual mengetahui apakah pengguna memiliki kartu yang tersimpan di aplikasi pembayaran yang terinstal. Fitur ini secara otomatis meneruskan data arbitrer dan asal penjual ke pekerja layanan dari asal aplikasi pembayaran. Komunikasi lintas origin ini terjadi pada konstruksi PaymentRequest
di JavaScript, tidak memerlukan gestur pengguna, dan tidak menampilkan antarmuka pengguna apa pun. Uji coba developer untuk menghapus kolom identitas dari "canmakepayment" peristiwa dapat diaktifkan melalui: chrome://flags/#clear-identity-in-can-make-payment
. Mengaktifkan tanda ini akan mengosongkan kolom identitas di "canmakepayment" (dan Intent IS_READY_TO_PAY
Android).
Cari tahu lebih lanjut di Pembaruan pada perilaku peristiwa CanMakePayment dari Payment Handler API.
Back/forward cache NotRecoverAlasan API
NotRestoreAlasan API akan melaporkan daftar alasan halaman tidak ditayangkan dari BFcache dalam struktur hierarki frame, melalui PerformanceNavigationTiming API.
Halaman dapat diblokir dari BFcache karena berbagai alasan, seperti alasan yang diperlukan oleh spesifikasi, dan alasan khusus untuk implementasi browser. Developer dapat mengumpulkan rasio hit BFCache di situs mereka menggunakan parameter persisten pengendali pageshow dan PerformanceNavigationTiming.type(back-forward)
. API ini memungkinkan situs mengumpulkan informasi terkait alasan BFCache tidak digunakan di navigasi histori, sehingga situs tersebut dapat mengambil tindakan atas setiap alasan dan membuat halamannya kompatibel dengan BFCache.
Penghentian penggunaan dan penghapusan
Versi Chrome ini memperkenalkan penghentian penggunaan dan penghapusan yang tercantum di bawah. Kunjungi ChromeStatus.com untuk melihat daftar penghentian yang direncanakan, penghentian penggunaan saat ini, dan penghapusan sebelumnya.
Penghentian penggunaan
Rilis Chrome ini menghentikan satu fitur.
Menghentikan penggunaan dan menghapus window.defaultStatus
dan window.defaultstatus
Ini adalah API non-standar yang tidak diimplementasikan oleh semua browser dan tidak memengaruhi perilaku browser. Tindakan ini akan membersihkannya, dan menghilangkan potensi sinyal pelacakan sidik jari.
Awalnya, setelan ini digunakan untuk memodifikasi/mengontrol "status bar" di bagian bawah jendela browser. Namun, keduanya tidak pernah memiliki efek aktual pada status bar Chrome, dan keduanya bukan atribut yang distandardisasi. Gecko tidak mendukung atribut ini sejak versi 23; WebKit masih mendukung atribut ini. Atribut window.status
terkait sudah distandarisasi, tetapi juga tidak boleh memengaruhi status bar jendela.
Penghapusan
Rilis Chrome ini menghapus empat fitur.
Hapus ImageDecoderInit.premultiplyAlpha
Fitur ini tidak memiliki efek yang dapat diamati dalam kasus penggunaan utama, tetapi dapat membatasi penerapan secara kurang optimal. Lihat masalah ini untuk deskripsi yang lebih mendetail. Sesuai konsensus editor spesifikasi WebCodecs dan kurangnya penggunaan (0,000000339% - 0,00000687% pemuatan halaman per penghitung penggunaan di M106).
Hapus navigateEvent.restoreScroll()
restoreScroll()
diganti dengan navigateEvent.scroll()
. scroll()
berfungsi secara identik, tetapi memungkinkan developer mengontrol waktu scroll untuk navigasi non-traverse (scroll()
berfungsi saat scroll bukan merupakan pemulihan, sehingga namanya berubah seiring dengan perubahan perilaku).
Hapus navigateEvent.transitionWhile()
transitionWhile()
diganti dengan navigateEvent.intercept()
karena cacat desain yang dilaporkan oleh developer. intersepsi() berperilaku hampir identik dengan transisiWhile(), tetapi alih-alih mengambil parameter Promise wajib, dibutuhkan fungsi pengendali opsional yang mengembalikan Promise. Hal ini memungkinkan browser mengontrol kapan pengendali dieksekusi, yang lebih baru dan lebih intuitif daripada transitionWhile()
.
Menghapus googIPv6
mediaConstraint WebRTC
"googIPv6: false"
dapat digunakan untuk menonaktifkan dukungan IPv6 di WebRTC, seperti pada contoh berikut.
new RTCPeerConnection({}, {mandatory:{googIPv6:false}});
IPv6 telah diaktifkan secara default selama bertahun-tahun dan kami tidak dapat menonaktifkannya. Ini adalah API lama yang tidak ada dalam spesifikasi.