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 masih dalam versi beta mulai 13 November 2024. Anda dapat mendownload versi terbarunya 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() dalam 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. Tidak seperti vertical-rl dan vertical-lr, keduanya tidak memiliki perilaku yang menguntungkan untuk bahasa CJK.

Web API

Merekam semua layar

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

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

Fitur ini hanya tersedia di Desktop.

Peristiwa pengaktifan/penonaktifan dialog

Berguna untuk mengetahui kapan elemen <dialog> dibuka dan ditutup, dan popover sudah memiliki ToggleEvent yang dikirim saat popover dibuka atau ditutup. Sebelumnya, untuk mendeteksi kapan <dialog> dibuka, Anda harus mendaftarkan pengamat mutasi untuk memeriksa apakah <dialog> terbuka. Namun, hal ini cukup merepotkan, padahal peristiwa akan lebih mudah.

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

Pengambilan Elemen

Mengingat video MediaStreamTrack yang diperoleh melalui cara yang sudah ada untuk memulai perekaman tab, Perekaman Elemen memungkinkan mengubah trek untuk hanya merekam subtree DOM yang dimulai pada Elemen tertentu.

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

Fitur otorisasi FedCM

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

  • IdP harus dapat menampilkan dialog kustom untuk izin (continuation API).
  • RP memerlukan cara yang dapat di-extend untuk berkomunikasi dengan IdP tentang apa yang ingin diaksesnya (API parameter).
  • RP harus dapat menyesuaikan atau menyembunyikan teks yang merujuk pada IdP yang membagikan "nama, alamat email, dan foto profil" karena dalam situasi ini mereka meminta informasi yang berbeda (Fields API).
  • 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 harus 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 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 yang eksplisit, UI juga lebih terlihat (misalnya, berpusat dan modal) dibandingkan dengan UI dari mode pasif (yang tidak memerlukan persyaratan gestur pengguna dan dapat dipanggil saat halaman dimuat).
  • Gunakan Akun Lain: Dengan ekstensi ini, IdP dapat mengizinkan pengguna untuk login ke akun lain.

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

Tambahkan 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 buffer. 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 lain (non-Web) di perangkat pengguna menggunakan sistem file perangkat. Setelah pengguna memberikan akses ke 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 isinya, serta menyimpan handle file dan direktori di IndexedDB untuk mendapatkan kembali akses ke konten yang sama di kemudian hari.

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

Mengabaikan Strict-Transport-Security untuk localhost

Strict-Transport-Security (STS) dapat menyebabkan masalah pada server web localhost karena STS diterapkan 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 untuk alasan sementara. Misalnya, komunikasi token autentikasi dari login web ke paket software lokal. Jika satu pemroses lokal menetapkan Strict-Transport-Security pada respons localhost, respons tersebut akan diterapkan ke semua permintaan localhost berikutnya, terlepas dari port-nya.

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 terus diluncurkan dengan Chrome 132.

Default daftar yang diizinkan wildcard Kebijakan Izin Private State Token API

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

PushMessageData::bytes()

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

Kueri tersimpan di sharedStorage.selectURL

sharedStorage.selectURL() kini memungkinkan kueri disimpan dan digunakan kembali berdasarkan per halaman, dengan dua anggaran per muatan halaman dikenai biaya saat kueri tersimpan dijalankan pertama kali, tetapi tidak untuk menjalankan kueri tersimpan berikutnya selama muatan halaman yang sama. Hal ini dilakukan dengan parameter savedQuery di opsi untuk selectURL() yang memberi nama kueri.

Menampilkan pengecualian untuk popover dan dialog dalam dokumen nonaktif

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

WebAuthn Signal API

Memungkinkan pihak tepercaya WebAuthn untuk mengirimkan 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 Chrome desktop.

WebGPU: Pencampuran 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 set lengkap penggunaan yang diwarisi. Menambahkan kolom penggunaan pada 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 tanda 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 terlepas dari 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 dengan cepat dalam file JavaScript. Informasi akan dienkode sebagai komentar ajaib.

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 dua fitur.

navigator.storage dijadikan EventTarget untuk Peristiwa Tekanan Penyimpanan, yang tidak pernah melewati fase prototipe. Kode tidak terpakai ini sedang dihapus dan akibatnya, navigator.storage tidak akan lagi memperpanjang EventTarget.

Menghapus API Layar Penuh HTMLVideoElement Berawalan

API layar penuh HTMLVideoElement berawalan tidak digunakan lagi dari Chrome

API tersebut diganti dengan Element.requestFullscreen() API, yang pertama kali diluncurkan tanpa awalan di Chrome 71, pada tahun 2018. Pada tahun 2024, sebagian besar browser telah mendukung API tanpa awalan selama beberapa tahun.

Chrome 132 menghapus hal berikut dari HTMLVideoElement:

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

Metode ini kini hanya menjadi alias untuk API modern. Penggunaannya terus menurun dari tahun ke tahun.