Chrome 132 beta

Dipublikasikan: 13 November 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 132 adalah versi beta mulai 13 November 2024. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS

Rilis ini menambahkan dua fitur CSS baru.

CSS Anchor Positioning: mengizinkan anchor-size() di properti inset dan margin

Awalnya, anchor-size() hanya diizinkan dalam properti ukuran. Spesifikasi diubah untuk mengizinkan anchor-size() dalam inset dan margin juga.

Mode penulisan menyamping CSS

Dukungan kata kunci sideways-rl dan sideways-lr untuk properti CSS writing-mode. sideways-rl dan sideways-lr berguna untuk menulis teks non-CJK secara vertikal. Keduanya tidak memiliki perilaku yang menguntungkan untuk bahasa CJK, tidak seperti vertical-rl dan vertical-lr.

Web API

Merekam semua layar

Ambil semua layar yang saat ini terhubung ke perangkat menggunakan getAllScreensMedia().

Memanggil getDisplayMedia() beberapa kali memerlukan beberapa gestur pengguna, memberatkan pengguna dengan memilih layar berikutnya setiap kali, dan tidak menjamin kepada aplikasi bahwa semua layar telah dipilih. Metode getAllScreensMedia() meningkatkan semua aspek ini.

Fitur ini hanya tersedia di Desktop.

Peristiwa tombol dialog

Sebaiknya ketahui kapan elemen <dialog> terbuka dan tertutup, dan popover sudah memiliki ToggleEvent yang dikirim saat popover terbuka atau tertutup. Sebelumnya, untuk mendeteksi kapan <dialog> terbuka, Anda harus mendaftarkan pengamat mutasi untuk memeriksa apakah terbuka, tetapi ini cukup banyak pekerjaan jika peristiwa akan lebih mudah.

Perubahan ini menggabungkan ToggleEvent yang sama dengan yang dikirim popover, tetapi untuk elemen <dialog>: saat showModal atau show dipanggil, <dialog> akan mengirim ToggleEvent dengan newState=open. Saat <dialog> ditutup (menggunakan formulir, tombol, atau closewatcher), <dialog> harus mengirim ToggleEvent dengan newState=closed.

Pengambilan Elemen

Dengan MediaStreamTrack video yang diperoleh melalui cara yang sudah ada untuk memulai perekaman tab, Perekaman Elemen memungkinkan mutasi jalur untuk hanya merekam sub-pohon DOM yang dimulai dari Elemen tertentu.

API ini memiliki beberapa kemiripan dengan Region Capture API, tetapi memberikan fleksibilitas yang lebih besar untuk aplikasi, karena konten yang menutupi dan tertutup dikecualikan dari pengambilan.

Fitur otorisasi FedCM

Fitur ini memaketkan beberapa fitur yang dapat digunakan oleh Penyedia Identitas (IdP) untuk menerapkan alur otorisasi seperti mengizinkan pengguna memberikan akses ke kalender mereka kepada Pihak Penerima (RP). Khususnya:

  • IdP harus dapat menampilkan perintah kustom untuk izin (API kelanjutan).
  • RP memerlukan cara yang dapat diperluas untuk berkomunikasi dengan IdP tentang akses yang diinginkan (API parameter).
  • RP harus dapat menyesuaikan atau menyembunyikan teks yang merujuk ke IdP yang membagikan "nama, alamat email, dan foto profil" karena dalam situasi ini, mereka meminta informasi yang berbeda (API kolom).
  • IdP mungkin ingin menggunakan endpoint yang berbeda untuk menerapkan alur otorisasi (beberapa configURL).
  • Akun tertentu mungkin hanya memenuhi syarat untuk salah satu alur autentikasi dan otorisasi sehingga perlu ada cara untuk menampilkan akun yang berbeda dalam dua alur tersebut (API label akun).

FedCM Mode API dan Use Other Account API

Dua ekstensi baru untuk FedCM:

  • Mode: Mode active memungkinkan situs memanggil FedCM di dalam klik tombol (misalnya, mengklik tombol Login ke IdP), yang mengharuskan FedCM untuk menjamin bahwa FedCM akan selalu merespons dengan antarmuka pengguna yang terlihat. Memanggil FedCM API dalam mode aktif akan mengarahkan pengguna untuk login ke Penyedia Identitas (IdP) saat pengguna logout. Selain itu, karena mode aktif dipanggil dalam gestur pengguna eksplisit, UI juga lebih terlihat (misalnya, di tengah dan modal) dibandingkan dengan UI dari mode pasif (yang tidak memerlukan persyaratan gestur pengguna dan dapat dipanggil saat pemuatan halaman).
  • Gunakan Akun Lain: Dengan ekstensi ini, IdP dapat mengizinkan pengguna login ke akun lain.

Pengambilan: Request.bytes() dan Response.bytes()

Menambahkan metode bytes() ke antarmuka Request dan Response, yang menampilkan promise yang diselesaikan dengan Uint8Array. Meskipun Request dan Response memiliki metode arrayBuffer(), Anda tidak dapat membaca langsung dari buffering. Anda harus membuat tampilan seperti Uint8Array untuk membacanya. Metode bytes() meningkatkan ergonomi untuk mendapatkan isi Permintaan dan Respons.

Akses Sistem File untuk Android dan WebView

API ini memungkinkan developer membuat aplikasi canggih yang berinteraksi dengan aplikasi (non-Web) lain di perangkat pengguna menggunakan sistem file perangkat. Setelah pengguna memberikan akses aplikasi web, API ini memungkinkan aplikasi membaca atau menyimpan perubahan langsung ke file dan folder yang dipilih oleh pengguna. Selain membaca dan menulis file, API ini memberikan kemampuan untuk membuka direktori dan menghitung kontennya, serta menyimpan handle file dan direktori di IndexedDB untuk nantinya mendapatkan kembali akses ke konten yang sama.

Akses Sistem File dikirimkan di Desktop di Chrome 86, dengan Chrome 132, akses ini tersedia di Android dan WebView.

Mengabaikan Strict-Transport-Security untuk localhost

Header respons Strict-Transport-Security (STS) dapat menyebabkan masalah bagi server web localhost karena STS berlaku di seluruh host, di semua port. Hal ini menyebabkan masalah kompatibilitas bagi developer web yang melakukan pengujian secara lokal. Hal ini juga memengaruhi pengguna akhir yang menggunakan paket software yang biasanya memulai server web localhost karena alasan sementara. Misalnya, komunikasi token autentikasi dari login web ke paket software lokal. Jika satu pemroses lokal menetapkan Strict-Transport-Security pada respons localhost, pemroses tersebut akan diterapkan ke semua permintaan localhost berikutnya, terlepas dari portnya.

Chrome 132 menyelesaikan masalah ini dengan mengabaikan header Strict-Transport-Security pada respons dari URL localhost.

Penampung scroll yang dapat difokuskan keyboard

Peluncuran fitur ini (dari Chrome 130) dihentikan karena regresi aksesibilitas. Masalah ini telah diperbaiki dan fitur ini akan terus diluncurkan dengan Chrome 132.

Karakter pengganti daftar yang diizinkan default Kebijakan Izin Private State Token API

Akses ke Private State Token API dibatasi oleh fitur Kebijakan Izin. Chrome 132 memperbarui daftar yang diizinkan default untuk fitur private-state-token-issuance dan private-state-token-redemption dari self menjadi * (karakter pengganti).

PushMessageData::bytes()

Antarmuka PushMessageData meniru antarmuka Body, yang diubah awal tahun ini dengan metode bytes() baru, mengikuti prinsip bahwa API umumnya harus menjual buffering byte sebagai Uint8Arrays. Chrome 132 menyesuaikan kembali dengan antarmuka Body dengan menyediakan aksesor bytes() di antarmuka PushMessageData juga.

Kueri tersimpan di sharedStorage.selectURL

sharedStorage.selectURL() kini memungkinkan kueri disimpan dan digunakan kembali secara per halaman, dengan dua anggaran per pemuatan halaman ditagih saat pertama kali kueri tersimpan dijalankan, tetapi tidak untuk pemutaran berikutnya dari kueri tersimpan selama pemuatan halaman yang sama. Hal ini dilakukan dengan parameter savedQuery dalam opsi untuk selectURL() yang memberi nama kueri.

Menampilkan pengecualian untuk popover dan dialog dalam dokumen yang tidak aktif

Sebelumnya, memanggil showPopover() atau showModal() pada popover atau dialog yang berada dalam dokumen yang tidak aktif akan gagal secara diam-diam. Tidak ada pengecualian yang akan ditampilkan, tetapi karena dokumen tidak aktif, tidak ada popover atau dialog yang akan ditampilkan. Mulai Chrome 132, situasi ini kini menampilkan InvalidStateError.

WebAuthn Signal API

Memungkinkan pihak tepercaya WebAuthn untuk memberikan sinyal informasi tentang kredensial yang ada kembali ke penyedia penyimpanan kredensial, sehingga kredensial yang salah atau dicabut dapat diperbarui atau dihapus dari UI penyedia dan sistem.

Pelajari lebih lanjut Signal API untuk kunci sandi di desktop Chrome.

WebGPU: Penggabungan tekstur float 32-bit

Fitur GPU float32-blendable membuat tekstur GPU dengan format r32float, rg32float, dan rgba32float dapat digabungkan.

WebGPU: Mengekspos GPUAdapterInfo dari GPUDevice

Atribut adapterInfo GPUDevice mengekspos GPUAdapterInfo yang sama dengan objek GPUAdapter.

WebGPU: Penggunaan tampilan tekstur

Menambahkan kolom opsional ke pembuatan tampilan tekstur WebGPU untuk meminta subset flag penggunaan dari tekstur sumber.

Secara default, penggunaan tampilan tekstur diwarisi dari tekstur sumber, tetapi ada format tampilan yang mungkin tidak kompatibel dengan kumpulan lengkap penggunaan yang diwarisi. Menambahkan kolom penggunaan ke pembuatan tampilan tekstur memungkinkan pengguna meminta subset penggunaan tekstur sumber yang valid dengan format tampilan dan spesifik untuk penggunaan tampilan tekstur yang diinginkan.

Implementasi WebGPU juga dapat mengoptimalkan pembuatan resource tingkat rendah dan meningkatkan performa saat menggunakan tampilan dengan flag penggunaan yang lebih khusus.

Uji coba origin baru

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

Document-Isolation-Policy

Document-Isolation-Policy memungkinkan dokumen mengaktifkan crossOriginIsolation untuk dirinya sendiri, tanpa harus men-deploy COOP atau COEP, dan apa pun status crossOriginIsolation halaman. Kebijakan ini didukung oleh isolasi proses. Selain itu, subresource lintas asal non-CORS dokumen akan dimuat tanpa kredensial atau harus memiliki header CORP.

Petunjuk Kompilasi Eksplisit dengan Komentar Ajaib

Fitur ini memungkinkan Anda melampirkan informasi tentang fungsi mana yang harus diuraikan dan dikompilasi secara eager dalam file JavaScript. Informasi akan dienkode sebagai komentar ajaib.

Penghentian dan penghapusan

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

Rilis Chrome ini menghapus dua fitur.

navigator.storage dibuat menjadi EventTarget untuk Peristiwa Tekanan Penyimpanan, yang tidak pernah melewati fase prototipe. Kode mati ini sedang dihapus dan akibatnya, navigator.storage tidak akan lagi memperluas EventTarget.

Menghapus API Layar Penuh HTMLVideoElement yang Telah Ditentukan

API layar penuh HTMLVideoElement berawalan tidak digunakan lagi di Chrome

Keduanya diganti oleh Element.requestFullscreen() API, yang pertama kali dikirim tanpa awalan di Chrome 71, pada tahun 2018. Mulai tahun 2024, sebagian besar browser telah memiliki dukungan untuk API tanpa awalan selama beberapa tahun.

Chrome 132 menghapus hal berikut dari HTMLVideoElement:

  • Atribut webkitSupportsFullscreen.
  • Atribut webkitDisplayingFullscreen.
  • Metode webkitEnterFullscreen().
  • Metode webkitExitFullscreen(). Perhatikan kapitalisasi "S" yang berbeda di FullScreen.
  • Metode webkitEnterFullScreen().
  • Metode webkitExitFullScreen().

Metode ini kini hanya merupakan alias untuk API modern. Penggunaannya menurun secara bertahap selama bertahun-tahun.