Chrome 131 beta

Dipublikasikan: 16 Oktober 2024

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 disediakan atau dari daftar di ChromeStatus.com. Chrome 131 adalah versi beta mulai 16 Oktober 2024. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS

Rilis ini menambahkan delapan fitur CSS baru.

Pemosisian Anchor CSS: cakupan anchor

Properti anchor-scope memungkinkan pembatasan visibilitas nama anchor ke subhierarki tertentu.

font-variant-emoji CSS

Properti CSS font-variant-emoji menyediakan cara untuk mengontrol antara glif emoji berwarna (gaya emoji) dan monokromatik (gaya teks). Hal ini juga dapat dilakukan dengan menambahkan Pemilih Variasi emoji, khususnya U+FE0E untuk teks dan U+FE0F untuk emoji, setelah setiap titik kode emoji.

Pewarisan sorotan CSS

Dengan pewarisan sorotan CSS, class semu sorotan CSS, seperti ::selection dan ::highlight, mewarisi propertinya melalui rantai highlight semu, bukan rantai elemen. Hasilnya adalah model yang lebih intuitif untuk pewarisan properti dalam sorotan.

Untuk mempelajari lebih lanjut, baca postingan blog Perubahan pewarisan untuk gaya pemilihan CSS yang ditulis oleh Stephen Chenney dari Igalia.

Peningkatan pada struktur gaya visual elemen <details> dan <summary>

Mendukung lebih banyak gaya CSS untuk struktur elemen <details> dan <summary> agar elemen ini dapat digunakan dalam lebih banyak kasus ketika widget pengungkapan atau widget akordeon di-build di web. Secara khusus, perubahan ini menghapus batasan yang mencegah penetapan properti tampilan pada elemen ini, dan menambahkan elemen pseudo ::details-content untuk menata gaya penampung untuk bagian yang diperluas dan diciutkan.

@page kotak margin

Menambahkan dukungan untuk kotak margin halaman, saat mencetak dokumen web, atau mengekspornya sebagai PDF.

Kotak margin @page memungkinkan Anda menentukan konten di area margin halaman, misalnya untuk memberikan header dan footer kustom, bukan menggunakan header dan footer bawaan yang dihasilkan oleh browser.

Kotak margin ditentukan menggunakan aturan at-rule di dalam aturan @page CSS. Tampilan dan konten kotak margin ditentukan dengan properti CSS di dalam at-rule, termasuk properti content. Penghitung juga didukung, untuk penomoran halaman. Spesifikasi menentukan dua nama penghitung khusus: page untuk nomor halaman saat ini dan pages untuk jumlah total halaman.

Sintaksis @property mendukung <string>

Dukungan untuk nama komponen sintaksis <string> untuk properti kustom terdaftar.

Mendukung currentcolor dalam sintaksis warna relatif

Mengizinkan warna relatif di CSS (menggunakan kata kunci from) untuk menggunakan currentcolor sebagai dasar. Hal ini memungkinkan Anda menetapkan warna komplementer, berdasarkan warna teks elemen, untuk batas, bayangan, atau latar belakang elemen tersebut.

Fitur ini juga mencakup kasus penggunaan saat fungsi warna disusun bertingkat dengan dependensi pada currentcolor, misalnya color-mix(in srgb, rgb(from currentcolor r g b), white)) atau rgb(from rgb(from currentcolor 1 g b) b g r).

Mendukung resource SVG eksternal untuk properti clip-path, fill, stroke, dan marker-*

Fitur ini menambahkan dukungan untuk referensi eksternal bagi jalur klip, penanda, dan server cat (untuk properti 'isi' dan 'goresan'). Misalnya, clip-path: url("resources.svg#myPath").

Web API

API Direct Sockets

Mengizinkan Aplikasi Web Terisolasi untuk membuat komunikasi protokol kontrol transmisi langsung (TCP) dan protokol datagram pengguna (UDP) dengan perangkat dan sistem jaringan serta mendengarkan dan menerima koneksi masuk.

Mengecualikan header Speculation-Rules dari pembatasan CSP

Memperbarui integrasi antara aturan spekulasi dan CSP sehingga CSP hanya berlaku untuk <script type=speculationrules>, dan bukan untuk header Speculation-Rules. Kebijakan skrip CSP dimaksudkan untuk melindungi dari injeksi skrip ke dalam HTML, dan model ancaman CSP tidak terkait dengan header HTTP. Hal ini memungkinkan deployment aturan spekulasi yang lebih mudah dari CDN dan server edge lainnya.

FedCM sebagai sinyal tepercaya untuk Storage Access API

Menyelaraskan FedCM dan Storage Access API dengan membuat FedCM sebelumnya memberikan alasan yang valid untuk menyetujui permintaan akses penyimpanan secara otomatis.

Saat pengguna memberikan izin untuk menggunakan identitasnya dengan penyedia identitas (IdP) pihak ketiga pada pihak tepercaya (RP), banyak IdP memerlukan cookie pihak ketiga agar berfungsi dengan benar dan aman. Proposal ini bertujuan untuk memenuhi persyaratan tersebut secara pribadi dan aman dengan memperbarui pemeriksaan izin Storage Access API (SAA) agar tidak hanya menerima pemberian izin yang diberikan oleh dialog akses penyimpanan, tetapi juga pemberian izin yang diberikan oleh prompt FedCM.

Properti utama mekanisme ini membatasi pemberian untuk kasus yang secara eksplisit diizinkan oleh RP dengan kebijakan izin FedCM, menerapkan kontrol per frame untuk RP, dan mencegah pengawasan pasif oleh IdP di luar kemampuan yang telah diberikan FedCM.

Nilai COOP noopener-allow-popups

Beberapa origin dapat berisi aplikasi yang berbeda dengan tingkat persyaratan keamanan yang berbeda. Dalam kasus tersebut, akan lebih baik jika skrip yang berjalan di satu aplikasi tidak dapat membuka dan membuat skrip halaman aplikasi dengan origin yang sama.

Dalam kasus seperti itu, dokumen dapat memastikan bahwa pembukanya tidak dapat menulis skripnya, meskipun dokumen pembuka berasal dari origin yang sama. Nilai Cross-Origin-Opener-Policy noopener-allow-popups memungkinkan dokumen menentukan perilaku tersebut.

Private Aggregation API: meningkatkan batas kontribusi menjadi 100 untuk pemanggil Protected Audience

Memungkinkan pelari skrip Protected Audience membuat hingga 100 kontribusi per laporan Agregasi Pribadi, dibandingkan dengan batas saat ini sebesar 20.

Agregasi Pribadi membatasi jumlah kontribusi histogram yang dapat disematkan dalam satu laporan agregat, sehingga menghapus kontribusi tambahan apa pun. Pemanggil Penyimpanan Bersama dapat mengatasi batas dengan memanggil operasi Penyimpanan Bersama lainnya. Namun, pemanggil Protected Audience tidak memiliki penyimpanan persisten, sehingga mereka kehilangan kontribusi berlebih di akhir lelang. Perlu diperhatikan bahwa perubahan ini bersifat netral terhadap privasi karena kontribusi API masih dibatasi oleh anggaran privasi yang sama.

Karena padding, setiap laporan Protected Audience akan memiliki payload yang lebih besar, meskipun tidak memerlukan batas kontribusi yang lebih besar. Kami memperkirakan bahwa laporan yang lebih besar ini akan meningkatkan biaya pengoperasian Layanan Agregasi.

Memilih relaksasi parser

Perubahan ini membuat parser HTML mengizinkan tag tambahan di <select> selain <option>, <optgroup>, dan <hr>.

Perubahan ini mendukung fitur <select> yang dapat disesuaikan, tetapi dikirimkan terlebih dahulu karena dapat dilakukan secara terpisah dan memiliki beberapa risiko kompatibilitas yang ingin mendapatkan masukan dari tim Chrome.

WebGPU: Jarak klip

Menambahkan fitur GPU opsional clip-distances yang memungkinkan penetapan jarak klip yang ditentukan pengguna dalam output shader vertex. Teknik ini sangat berguna untuk aplikasi yang perlu memangkas semua vertex dalam tampilan yang berada di luar bidang yang ditentukan pengguna, seperti banyak aplikasi CAD.

WebGPU: GPUCanvasContext getConfiguration()

Setelah GPUCanvasContext configure() dipanggil dengan kamus konfigurasi, Anda dapat menggunakan metode GPUCanvasContext getConfiguration() untuk memeriksa konfigurasi konteks kanvas. Hal ini mencakup anggota GPU device, format, usage, viewFormats, colorSpace, toneMapping, dan alphaMode. Seperti yang dibahas dalam masalah 4828, aplikasi web dapat menggunakannya untuk mendeteksi apakah kanvas HDR didukung di WebGPU.

WebHID di pekerja khusus

Mengaktifkan WebHID di dalam konteks pekerja khusus. Hal ini memungkinkan Anda melakukan I/O dan pemrosesan data yang berat dari perangkat HID di thread terpisah, sehingga membantu mengurangi dampak performa pada thread utama.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

API yang mengonfigurasi encoder WebRTC untuk menskalakan frame input jika lebih besar dari maxWidth dan maxHeight yang ditentukan. API ini mirip dengan scaleResolutionDownBy, kecuali bahwa batasan resolusi dinyatakan dalam istilah absolut (misalnya, 640x360) dan bukan dalam istilah relatif (misalnya, skalakan ke bawah sebesar 2), sehingga menghindari kondisi perlombaan yang terkait dengan perubahan ukuran frame input secara langsung.

Uji coba origin baru

Di Chrome 131, Anda dapat memilih untuk mengikuti uji coba origin baru berikut.

Statistik pemutaran untuk WebAudio

Fitur AudioContext.playoutStats memungkinkan aplikasi mengukur kualitas dan latensi pemutaran audio menggunakan WebAudio.

API Ringkas

JavaScript API untuk membuat ringkasan teks input, yang didukung oleh model bahasa AI.

Penghentian dan penghapusan

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

Rilis Chrome ini menghapus tiga fitur.

Menghapus properti CSS Anchor Positioning inset-area

Dengan resolusi Kelompok Kerja CSS untuk mengganti nama properti inset-area menjadi position-area, penghapusan ini akan membersihkan implementasi di Chromium untuk fitur yang mematuhi standar.

Menghapus kemampuan untuk menonaktifkan BeforeunloadEventCancelByPreventDefault

Fitur BeforeunloadEventCancelByPreventDefault diluncurkan di Chrome 117, tetapi ada kebijakan perusahaan yang memungkinkan tanda ini dinonaktifkan secara paksa. Kebijakan perusahaan akan dihapus di Chrome 131.

Menghapus metode requestAdapterInfo() GPUAdapter non-standar

Grup Kerja WebGPU memutuskan bahwa requestAdapterInfo() tidak praktis untuk memicu dialog izin sehingga mereka telah menghapus opsi tersebut dan menggantinya dengan atribut info GPUAdapter sehingga developer web dapat mendapatkan nilai GPUAdapterInfo yang sama secara sinkron.