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
activememungkinkan 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 bukan lagi EventTarget
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.