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 masih dalam versi beta pada 16 Oktober 2024. Anda dapat mendownload versi terbarunya di Google.com untuk desktop atau di Google Play Store di Android.
CSS
Rilis ini menambahkan delapan fitur CSS baru.
CSS Anchor Positioning: anchor-scope
Properti anchor-scope memungkinkan pembatasan visibilitas nama penanda ke subpohon tertentu.
CSS font-variant-emoji
Properti CSS font-variant-emoji menyediakan cara untuk mengontrol antara
glyph 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 sorotan 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 struktur gaya elemen <details> dan <summary>
Struktur elemen <details> dan <summary> mendukung lebih banyak gaya CSS agar dapat digunakan dalam lebih banyak kasus di mana widget pengungkapan atau widget akordeon dibuat di web. Khususnya, perubahan ini
menghapus batasan yang mencegah penyetelan properti tampilan elemen ini, dan menambahkan elemen pseudo ::details-content untuk mengubah gaya penampung pada bagian yang diperluas dan diciutkan.
Kotak margin @page
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 menyediakan header dan footer kustom, bukan menggunakan header dan footer bawaan yang dihasilkan oleh browser.
Kotak margin ditentukan menggunakan aturan @ di dalam aturan CSS @page. Tampilan dan konten kotak margin ditentukan dengan properti CSS di dalam aturan @, termasuk properti content. Penghitung juga didukung untuk penomoran halaman. Spesifikasi ini menentukan dua nama penghitung khusus: page untuk nomor halaman saat ini dan pages untuk jumlah total halaman.
Sintaksis dukungan @property <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. Dengan begitu, Anda dapat menetapkan warna pelengkap, berdasarkan warna teks elemen, untuk batas, bayangan, atau latar belakang elemen tersebut.
Fitur ini juga mencakup kasus penggunaan saat fungsi warna disarangkan 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 aset SVG eksternal untuk properti clip-path, fill, stroke, dan marker-*
Fitur ini menambahkan dukungan untuk referensi eksternal untuk clip paths, markers, dan paint servers (untuk properti 'fill' dan 'stroke'). Misalnya,
clip-path: url("resources.svg#myPath").
Web API
Direct Sockets API
Memungkinkan Aplikasi Web Terisolasi membuat komunikasi Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) langsung dengan perangkat dan sistem jaringan serta memproses dan menerima koneksi masuk.
Mengecualikan header Speculation-Rules dari batasan 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
pen-deploy-an aturan spekulasi yang lebih mudah dari CDN dan server edge lainnya.
FedCM sebagai sinyal kepercayaan untuk Storage Access API
Menyesuaikan FedCM API dan Storage Access API dengan menjadikan pemberian FedCM sebelumnya sebagai alasan yang valid untuk menyetujui permintaan akses penyimpanan secara otomatis.
Saat pengguna memberikan izin untuk menggunakan identitasnya dengan penyedia identitas (IdP) pihak ketiga di 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 perintah akses penyimpanan, tetapi juga pemberian izin yang diberikan oleh perintah FedCM.
Properti utama mekanisme ini adalah membatasi pemberian izin 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 sudah diberikan FedCM.
Nilai COOP noopener-allow-popups
Beberapa origin dapat berisi aplikasi yang berbeda dengan tingkat persyaratan keamanan yang berbeda. Dalam kasus tersebut, sebaiknya cegah skrip yang berjalan di satu aplikasi agar tidak dapat membuka dan membuat skrip halaman aplikasi berasal dari origin yang sama.
Dalam kasus seperti ini, dokumen dapat memastikan pembukanya tidak dapat membuat skrip, meskipun dokumen pembuka berasal dari origin yang sama. Nilai
noopener-allow-popups Cross-Origin-Opener-Policy memungkinkan dokumen
menentukan perilaku tersebut.
Private Aggregation API: meningkatkan batas kontribusi menjadi 100 untuk pemanggil Protected Audience
Memungkinkan pelaksana skrip Protected Audience membuat hingga 100 kontribusi per laporan Private Aggregation, dibandingkan dengan batas saat ini yaitu 20.
Private Aggregation membatasi jumlah kontribusi histogram yang dapat disematkan dalam satu laporan agregat, dengan menghapus kontribusi tambahan. Pemanggil Shared Storage dapat mengatasi batas ini dengan memanggil operasi Shared Storage lainnya. Namun, pemanggil Protected Audience tidak memiliki penyimpanan persisten, sehingga mereka kehilangan kontribusi berlebih di akhir lelang. Perhatikan 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 laporan yang lebih besar ini akan meningkatkan biaya pengoperasian Layanan Agregasi.
Memilih pelonggaran 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 diluncurkan 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 setelan jarak klip yang ditentukan pengguna dalam output shader vertex. Teknik ini sangat berguna untuk aplikasi yang perlu memangkas semua verteks dalam adegan 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. Paket 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 berat dan pemrosesan data 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
daripada maxWidth dan maxHeight yang ditentukan. API ini mirip dengan
scaleResolutionDownBy, kecuali batasan resolusi dinyatakan dalam
istilah absolut (misalnya, 640x360) dan bukan istilah relatif (misalnya,
turunkan skala sebesar 2), sehingga menghindari kondisi persaingan terkait perubahan ukuran frame input
secara langsung.
Uji coba origin baru
Di Chrome 131, Anda dapat memilih untuk ikut serta dalam uji coba origin baru berikut.
Statistik pemutaran untuk WebAudio
Fitur AudioContext.playoutStats memungkinkan aplikasi mengukur
kualitas dan latensi pemutaran audio menggunakan WebAudio.
Summarizer API
API JavaScript untuk menghasilkan ringkasan teks input, yang didukung oleh model bahasa AI.
Penghentian penggunaan 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.
Hapus properti CSS Anchor Positioning inset-area
Dengan resolusi Kelompok Kerja CSS tentang penggantian nama properti inset-area menjadi
position-area, penghapusan ini membersihkan penerapan di Chromium untuk fitur yang sesuai dengan standar.
Menghapus kemampuan untuk menonaktifkan BeforeunloadEventCancelByPreventDefault
Fitur BeforeunloadEventCancelByPreventDefault diluncurkan di Chrome 117, tetapi ada kebijakan Enterprise yang memungkinkan tanda ini dinonaktifkan secara paksa. Kebijakan Enterprise akan dihapus di Chrome 131.
Menghapus metode GPUAdapter requestAdapterInfo() 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 bisa mendapatkan nilai
GPUAdapterInfo yang sama secara sinkron.