Chrome 119 beta

Chrome 119 beta menghadirkan sintaksis warna relatif CSS, class pseudo baru, dan banyak lagi.

Kecuali jika dinyatakan lain, perubahan yang dijelaskan 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 119 dalam versi beta mulai 4 Oktober 2023. Anda dapat mendownload aplikasi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS

Rilis ini menambahkan empat fitur CSS baru.

Kelas semu CSS :user-valid dan :user-invalid

Class pseudo :user-invalid dan :user-valid masing-masing mewakili elemen dengan input yang salah atau benar, tetapi hanya setelah pengguna berinteraksi dengannya secara signifikan. Class ini mirip dengan :valid dan :invalid, tetapi dengan batasan tambahan, pseudo-class ini hanya cocok setelah pengguna berinteraksi dengan elemen.

Sintaksis Warna Relatif CSS (RCS)

Sintaksis warna relatif memungkinkan developer menentukan warna dengan mengubah parameter warna lain.

Misalnya: oklab(from magenta calc(l * 0.8) a b); menghasilkan magenta oklab yang 80% lebih ringan.

Nilai clip-path geometry-box CSS

Properti clip-path CSS kini mendukung nilai <geometry-box> untuk mengontrol kotak referensi klip, sehingga clip-path lebih mudah digunakan. Nilai kotak ini dapat digunakan bersama bentuk dasar (misalnya, clip-path: circle(50%) margin-box), atau dapat digunakan sendiri untuk diklip ke kotak yang ditentukan (misalnya, clip-path: content-box).

Nilai clip-path xywh() dan rect() CSS

Chrome kini mendukung nilai xywh() dan rect() dari properti clip-path, yang mempermudah penentuan klip persegi panjang atau persegi panjang membulat.

Web API

Karena cookie Chrome 104 yang baru dibuat atau yang diperbarui dengan tanggal habis masa berlaku, tanggal tersebut dibatasi tidak lebih dari 400 hari ke depan. Sekarang, batas yang sama ini akan berlaku secara surut untuk cookie yang sudah ada dalam penyimpanan. Tanggal habis masa berlaku cookie ini akan dibatasi tidak lebih dari 400 hari setelah Chrome 119+ dimulai untuk pertama kalinya dan melakukan migrasi database satu kali. Dampak perubahan ini tidak akan dirasakan oleh pengguna hingga setidaknya 400 hari setelah Chrome 119 dirilis, dan hanya untuk cookie yang sudah ada dan belum diupdate dalam periode tersebut.

DisplayMediaStreamOptions monitorTypeSurfaces

Saat getDisplayMedia() dipanggil, browser akan memberi pengguna pilihan platform tampilan: tab, jendela, atau monitor. Dengan menggunakan opsi monitorTypeSurfaces, aplikasi web kini dapat memberikan petunjuk ke browser jika memilih untuk menyertakan platform tampilan yang jenisnya adalah monitor di antara pilihan yang ditawarkan kepada pengguna.

Update fungsi Frame dengan Fence

Chrome 119 menyertakan peningkatan berikut untuk Frame dengan Fence.

Ada opsi format tambahan untuk makro ukuran iklan Protected Audience di Protected Audience API dalam Privacy Sandbox. Fitur keikutsertaan memungkinkan Anda membuat makro ukuran iklan yang memenangkan lelang ke dalam URL iklan, misalnya:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Agar lebih konsisten dengan jenis makro lain di Protected Audience, seperti yang digunakan oleh deprecatedReplaceInURN dan registerAdMacro, di Chrome 119, kami menambahkan kemampuan untuk menggunakan ${AD_WIDTH} dan ${AD_HEIGHT} sebagai format untuk makro selain format saat ini.

Beacon otomatis sekarang akan dikirim ke semua URL terdaftar. Sebelumnya, hanya tujuan yang ditentukan saat memanggil setReportEventDataForAutomaticBeacons() yang akan menerima beacon otomatis, meskipun tujuan yang disebut registerAdBeacon() untuk "reserved.top_navigation" di workletnya. Sekarang, setiap tujuan yang memanggil registerAdBeacon() untuk "reserved.top_navigation" akan mendapatkan beacon otomatis, tetapi hanya tujuan yang ditentukan dalam setReportEventDataForAutomaticBeacons() yang akan mendapatkan data beacon otomatis bersama dengan beacon. Parameter "once" di setReportEventDataForAutomaticBeacons() kini akan menentukan apakah data dikirim sekali, bukan menentukan apakah seluruh beacon dikirim sekali.

Margin scroll Intersection Observer

Properti scrollMargin Intersection Observer memungkinkan developer untuk mengamati target di dalam penampung scroll bertingkat yang saat ini terpotong oleh container scroll. Hal ini dicapai dengan memperluas clipping rect container sebesar scrollMargin saat menghitung persimpangan.

Container scroll yang dapat difokuskan keyboard

Fitur ini meningkatkan aksesibilitas dengan membuat container scroll dapat difokuskan menggunakan navigasi fokus berurutan. Sebelumnya, tombol tab tidak memfokuskan scroller kecuali tabIndex secara eksplisit disetel ke 0 atau lebih. Dengan membuat scroller dapat difokuskan secara default, pengguna yang tidak dapat (atau tidak ingin) menggunakan mouse akan dapat memfokuskan konten yang terpotong menggunakan tombol tab dan panah pada keyboard. Perilaku ini hanya diaktifkan jika scroller tidak berisi turunan apa pun yang dapat difokuskan keyboard.

Pembatasan Akses Jaringan Pribadi untuk otomotif

Menerapkan (bukan hanya memperingatkan) pembatasan Akses Jaringan Pribadi di Chrome untuk Android Automotive (jika BuildInfo::is_automotive). Ini termasuk permintaan preflight Akses Jaringan Pribadi untuk subresource, dan Akses Jaringan Pribadi untuk Pekerja.

Membaca atribut perangkat Chrome

Device Attributes Web API adalah subset Managed Device Web API, yang memberi aplikasi web kemampuan untuk mengkueri informasi perangkat. Misalnya, ID perangkat, nomor seri, dan lokasi.

Ganti markup yang menggantung pada nama target menjadi _blank

Perubahan ini mengganti nama target yang dapat dinavigasi (yang biasanya ditetapkan berdasarkan atribut target) menjadi _blank, jika berisi markup yang menggantung (misalnya \n dan <). Yang memperbaiki pengabaian dalam mitigasi injeksi markup yang menggantung.

Fitur media preferensi pengguna Sec-CH-Prefers-Reduced-Transparencys header Client Hints

Header fitur media preferensi pengguna User Hints menentukan kumpulan header HTTP Client Hints seputar fitur media preferensi pengguna seperti yang ditetapkan oleh Media Queries Level 5. Jika digunakan sebagai Petunjuk Klien Penting, header ini memungkinkan server membuat pilihan cerdas terkait, misalnya, CSS yang disisipkan. Sec-CH-Prefers-Reduced-Transparency mencerminkan preferensi prefers-reduced-transparency pengguna, dan tersedia mulai Chrome 119.

Karakter tanda baca host URL yang mematuhi standar

Buat penanganan karakter tanda baca host URL sesuai dengan standar URL. Contoh:

Sebelum:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( adalah karakter yang dilarang, tetapi Chrome salah mengizinkannya.

Sesudah:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Mode kecepatan bit WebCodecs AudioEncoder

Beberapa codec audio mendukung penetapan mode kecepatan bit encoder audio. Fitur ini menambahkan tanda "bitrateMode" dengan nilai default "variable" ke AudioEncoderConfig WebCodec, yang mencerminkan opsi konfigurasi dan default yang sudah ada untuk VideoEncoderConfig.

Dengan tanda ini, developer dapat memilih antara encoding audio dengan kecepatan bit variabel atau kecepatan bit konstan. Implementasi encoder codec tertentu mungkin memiliki terminologi yang sedikit berbeda (misalnya, CBR vs VBR untuk Opus), tetapi semuanya harus dipetakan ke konsep umum kecepatan bit "konstan" versus "variabel".

Kedua opsi tersebut memiliki pengaruh sebagai berikut:

  • variable: memungkinkan encoder audio meningkatkan atau menurunkan kecepatan bit sesuai dengan konten audio yang dienkode, guna mempertahankan bandwidth/ukuran biner, dengan tetap mempertahankan kualitas target. Misalnya, encoder dapat menurunkan kecepatan bit saat mengenkode senyap, dan kembali ke kecepatan bit penuh saat mengenkode ucapan.
  • konstan : memaksa encoder audio untuk mempertahankan kecepatan bit yang sama, terlepas dari konten audionya. Ini dapat berguna ketika konsumsi bandwidth yang dapat diprediksi lebih disukai.

Mulai Chrome 119, tanda ini akan memengaruhi dua codec di Chromium: Opus dan AAC.

Enkapsulasi kunci X25519Kyber768 untuk TLS

Lindungi traffic TLS Chrome saat ini terhadap kriptoanalisis kuantum di masa mendatang dengan men-deploy algoritma perjanjian kunci yang tahan terhadap kuantum Kyber768. Ini adalah perjanjian kunci hybrid X25519 + Kyber768 berdasarkan standar IETF. Spesifikasi dan peluncuran ini berada di luar cakupan W3C. Perjanjian kunci ini akan diluncurkan sebagai penyandian TLS, dan harus transparan kepada pengguna.

Uji coba origin sedang berlangsung

Di Chrome 119, Anda dapat ikut serta dalam uji coba origin baru berikut.

Membuka pop-up sebagai jendela layar penuh

Uji coba origin baru ini menambahkan parameter windowFeatures fullscreen ke window.open() JavaScript API. Hal ini memungkinkan pemanggil untuk langsung membuka pop-up ke layar penuh pada tampilan yang akan berisi pop-up (berdasarkan screenX dan screenY). Dengan demikian, developer tidak perlu mentransisikan pop-up secara manual ke layar penuh, yang mungkin memerlukan sinyal aktivasi pengguna baru.

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.

Rilis Chrome ini menghapus empat fitur.

Hapus Web SQL

Sebelumnya kami telah mengumumkan penghentian dan penghapusan Web SQL. Fitur ini sepenuhnya dihapus mulai Chrome 119. Uji coba origin terbalik memungkinkan developer terus menggunakan WebSQL hingga Chrome 123.

Menghapus Sanitizer API

Sanitizer API bertujuan untuk membangun pembersih HTML yang mudah digunakan, selalu aman, dan dikelola browser ke dalam platform. Chrome meluncurkan versi awal Chrome 105, berdasarkan draf spesifikasi yang berlaku saat itu. Namun, setelah diadakan diskusi lanjutan, bentuk API yang diusulkan berubah secara substansial.

Agar dapat terus menggunakan API yang ada saat ini, kami menghapus implementasi saat ini. Kami berharap dapat mengimplementasikan kembali Sanitizer API saat spesifikasi yang diusulkan kembali stabil.

Hapus data: URL di SVGUseElement

Menetapkan data: URL di SVGUseElement dapat menyebabkan XSS. Hal ini juga menyebabkan pengabaian Jenis Tepercaya. Oleh karena itu, kami berencana untuk menghentikan dan menghapus dukungan untuknya.

Menghapus atribut shadowroot non-standar untuk shadow DOM deklaratif

Atribut shadowrootmode standard-track, yang mengaktifkan Shadow DOM deklaratif, dikirimkan pada Chrome 111. Atribut shadowroot non-standar lama akan dihapus di Chrome 119. Tersedia jalur migrasi yang mudah: ganti shadowroot dengan shadowrootmode.