Chrome 108 beta

Unit area pandang CSS baru, Federated Credential Management API, font Variabel COLRv1, dan lainnya.

Kecuali jika dinyatakan lain, perubahan yang dijelaskan di bawah 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 108 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.

CSS Overflow untuk elemen yang diganti

Chrome akan mulai meluncurkan perubahan yang memungkinkan developer menggunakan properti overflow yang ada dengan elemen yang diganti dan ditempatkan di luar kotak konten. Jika dipasangkan dengan object-view-box, class ini dapat digunakan untuk membuat gambar dengan penerapan glow atau bayangan kustom, dengan perilaku ink-overflow yang tepat seperti yang dimiliki bayangan CSS.

Ini merupakan perubahan yang dapat menyebabkan gangguan, pelajari selengkapnya di Perubahan pada elemen yang diganti.

Unit area pandang Logis, Besar, Dinamis, dan Kecil

Hal 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 unit 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 gambar rusak saat batas halaman.

figure {
    break-inside: avoid;
}

Fitur ini telah ditambahkan karena Chrome 108 menambahkan dukungan untuk pencetakan LayoutNG.

Perataan item dasar pengukuran terakhir

Fitur ini memungkinkan developer menyelaraskan item dalam tata letak fleksibel atau petak berdasarkan dasar pengukuran terakhir mereka, 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 ketika status rendering elemen berubah karena salah satu atribut yang membuat elemen tersebut relevan dengan pengguna.

Kasus penggunaan untuk hal ini adalah memungkinkan developer memiliki kontrol yang lebih besar atas kapan harus menghentikan atau mulai merender sebagai respons terhadap agen pengguna yang menghentikan atau memulai rendering subhierarki visibilitas konten. 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 oleh HTMLMediaElement pada konteks Jendela utama. Dengan membuat objek MediaSource pada konteks DedicatedWorker, aplikasi kemudian 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 mem-buffer media.

Header Petunjuk Klien Fitur Media Preferensi Pengguna Sec-CH-Prefers-Reduced-Motion

Header User Preference Media Features Client Hints Headers menentukan kumpulan header HTTP Client Hints seputar fitur media preferensi pengguna seperti yang ditetapkan oleh Kueri Media Level 5. Jika digunakan sebagai Petunjuk Klien Penting, header ini memungkinkan server membuat pilihan cerdas terkait, misalnya, CSS yang disisipkan. Sec-CH-Prefers-Reduced-Motion mencerminkan preferensi prefers-reduced-motion pengguna.

Pembaca WebTransport BYOB

Mendukung pembaca BYOB(bawa sendiri buffer) untuk WebTransport agar pengguna dapat membaca dalam buffer yang disediakan developer. Pembaca BYOB dapat meminimalkan salinan buffer dan mengurangi alokasi memori.

Karakter Pengganti dalam Asal Kebijakan Izin

Spesifikasi Kebijakan Izin menentukan mekanisme yang memungkinkan developer mengaktifkan dan menonaktifkan penggunaan berbagai fitur browser dan API secara selektif. Salah satu kemampuan mekanisme ini memungkinkan fitur diaktifkan hanya pada origin yang dienumerasi secara eksplisit (misalnya, https://foo.com/). Mekanisme ini tidak cukup fleksibel untuk desain beberapa CDN, yang menayangkan konten melalui origin yang mungkin dihosting di salah satu dari beberapa ratus subdomain yang mungkin.

Oleh karena itu, fitur ini menambahkan dukungan untuk karakter pengganti dalam kebijakan izin yang terstruktur seperti SCHEME://*.HOST:PORT (misalnya, https://*.foo.com/), tempat Asal yang valid dapat dibuat dari SCHEME://HOST:PORT (misalnya, https://foo.com/). Hal ini mengharuskan HOST adalah domain yang dapat didaftarkan. Ini berarti https://*.bar.foo.com/ berfungsi, tetapi https://*.com/ tidak (jika Anda ingin mengizinkan semua domain menggunakan fitur ini, Anda cukup mendelegasikan ke *).

Menyinkronkan metode untuk AccessHandles di File System Access API

Mengupdate metode asinkron flush(), getSize(), dan truncate() di FileSystemSyncAccessHandle di File System Access API ke metode sinkron. FileSystemSyncAccessHandle saat ini memiliki campuran metode sinkronisasi dan asinkron, sehingga menghambat performa dan kegunaan, terutama untuk aplikasi yang mem-porting C/C++ ke Wasm. Update ini akan menghadirkan konsistensi dalam penggunaan API dan meningkatkan performa untuk library berbasis Wasm.

Ini adalah perubahan yang dapat 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.

Deteksi fitur font dan font COLRv1 variabel

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 akan membawa 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 peningkatan progresif konten. Contoh pengujian berikut untuk dukungan font COLRv1.

@supports font-tech(color-COLRv1) {

}

Dukungan fungsi tech() dalam deskriptor @font-face src:

Font CSS Level 4 menyediakan sarana tambahan untuk memilih atau memfilter sumber daya font. Fungsi tech() diperkenalkan, yang memungkinkan penerusan daftar teknologi font yang diperlukan masing-masing blob font agar dapat berfungsi. Berdasarkan hal itu, Agen Pengguna akan memilih sumber daya pertama yang sesuai.

Chrome di Android

Android OSK kini mengubah ukuran area pandang visual secara default

Keyboard Layar Android mengubah ukuran area pandang visual secara default, bukan blok penampung awal. Penulis dapat memilih untuk tidak mengikuti proses ini menggunakan kunci area pandang meta interactive-widget yang baru.

Uji coba origin

Rilis Chrome ini memiliki dua uji coba origin baru.

Identitas penjual di acara canmakepayment

Peristiwa pekerja layanan canmakepayment memungkinkan penjual mengetahui apakah pengguna memiliki kartu yang tersimpan di aplikasi pembayaran yang terinstal. Peristiwa ini diam-diam 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 peristiwa "canmakepayment" dapat diaktifkan melalui: chrome://flags/#clear-identity-in-can-make-payment. Mengaktifkan tanda ini akan mengosongkan kolom identitas di peristiwa "canmakepayment" (dan Intent IS_READY_TO_PAY Android).

Cari tahu selengkapnya di Pembaruan perilaku peristiwa CanMakePayment dari Payment Handler API.

API Back-forward cache NotRevertReason

NotSavedReason 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 tentang alasan BFCache tidak digunakan pada navigasi histori, sehingga situs dapat mengambil tindakan berdasarkan setiap alasan dan membuat halamannya kompatibel dengan BFCache.

Penghentian penggunaan dan penghapusan

Versi Chrome ini memperkenalkan penghentian penggunaan dan penghapusan yang tercantum di bawah. Buka ChromeStatus.com untuk melihat daftar penghentian penggunaan yang direncanakan, penghentian 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 berpengaruh pada perilaku browser. Tindakan ini akan membersihkannya, dan menghilangkan potensi sinyal pelacakan sidik jari.

Awalan ini digunakan untuk memodifikasi/mengontrol teks "status bar" di bagian bawah jendela browser. Namun, widget tersebut tidak pernah memiliki pengaruh yang nyata pada status bar Chrome, dan bukan merupakan atribut standar. Gecko belum mendukung atribut ini sejak versi 23; WebKit masih mendukung atribut ini. Atribut window.status terkait sudah terstandardisasi, 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 implementasi secara kurang optimal. Lihat masalah ini untuk deskripsi yang lebih mendetail. Sesuai konsensus editor spesifikasi WebCodecs dan kurangnya penggunaan (0,000000339% - 0,00000687% dari pemuatan halaman per penghitung penggunaan di M106).

Hapus navigateEvent.restoreScroll()

restoreScroll() diganti dengan navigateEvent.scroll(). scroll() berfungsi secara identik, kecuali memungkinkan developer mengontrol waktu scroll untuk navigasi non-traverse (scroll() berfungsi saat scroll bukan pemulihan, sehingga nama berubah seiring dengan perubahan perilaku).

Hapus navigateEvent.transitionWhile()

transitionWhile() diganti dengan navigateEvent.intercept() karena cacat desain yang dilaporkan oleh developer. intercept() berperilaku hampir identik dengan transisiSementara(), tetapi tidak mengambil parameter Promise wajib, melainkan fungsi pengendali opsional yang menampilkan Promise. Hal ini memungkinkan browser mengontrol kapan pengendali dieksekusi, yang lebih lambat dan lebih intuitif daripada transitionWhile().

Menghapus googIPv6 WebRTC mediaConstraint

"googIPv6: false" dapat digunakan untuk menonaktifkan dukungan IPv6 di WebRTC, seperti pada contoh berikut.

new RTCPeerConnection({}, {mandatory:{googIPv6:false}});

IPv6 telah diaktifkan secara {i>default<i} selama bertahun-tahun dan kami tidak dapat menonaktifkannya. Ini adalah API lama yang tidak ada dalam spesifikasi.