Tanggal rilis stabil: 4 Februari 2025
Kecuali jika dinyatakan lain, perubahan berikut berlaku untuk rilis saluran stabil Chrome 133 untuk Android, ChromeOS, Linux, macOS, dan Windows.
HTML dan DOM
Nilai petunjuk atribut popover
Popover API menentukan perilaku untuk dua nilai atribut popover: otomatis dan manual. Fitur ini menjelaskan nilai ketiga, popover=hint
. Petunjuk, yang paling sering dikaitkan dengan perilaku jenis "tooltip", memiliki perilaku yang sedikit berbeda. Perbedaan utamanya adalah bahwa petunjuk berada di bawah otomatis saat membuka tumpukan popover bertingkat. Jadi, Anda dapat membuka popover petunjuk yang tidak terkait saat tumpukan popover otomatis yang ada tetap terbuka.
Contoh kanonisnya adalah pemilih <select>
terbuka (popover=auto
) dan tooltip yang dipicu pengarahan kursor (popover=hint
) ditampilkan. Tindakan tersebut tidak menutup pemilih <select>
.
Melacak bug #1416284 | Entri ChromeStatus.com
Peningkatan posisi anchor dan pemanggil popover
Menambahkan cara imperatif untuk menetapkan hubungan pemanggil antara popover dengan popover.showPopover({source})
. Mengaktifkan hubungan pemanggil untuk membuat referensi elemen anchor implisit.
Melacak bug #364669918 | Entri ChromeStatus.com
Popover yang disusun bertingkat di dalam pemanggil tidak boleh memanggilnya kembali
Dalam kasus berikut, mengklik tombol akan mengaktifkan popover dengan benar, tetapi mengklik popover itu sendiri setelah itu tidak akan menutup popover.
<button popovertarget=foo>Activate
<div popover id=foo>Clicking me shouldn't close me</div>
</button>
Sebelumnya, hal ini terjadi karena balon klik popover ke <button>
dan mengaktifkan pemanggil, yang mengalihkan popover ditutup. Hal ini kini telah diubah menjadi perilaku yang diharapkan.
Melacak bug #https://crbug.com/379241451 | Entri ChromeStatus.com
CSS
Fungsi attr()
lanjutan CSS
Mengimplementasikan penambahan ke attr()
yang ditentukan di CSS Level 5, yang memungkinkan jenis selain <string>
dan penggunaan di semua properti CSS (selain dukungan yang ada untuk konten pseudo-elemen).
MDN attr() | Melacak bug #246571 | Entri ChromeStatus.com | Spesifikasi
Pseudo-class :open
CSS
Class pseudo :open
cocok dengan <dialog>
dan <details>
saat berada dalam status terbuka, dan cocok dengan <select>
dan <input>
saat berada dalam mode yang memiliki pemilih dan pemilih ditampilkan.
Melacak bug #324293874 | Entri ChromeStatus.com | Spesifikasi
Kueri penampung status scroll CSS
Gunakan kueri penampung untuk menata gaya turunan penampung berdasarkan status scroll-nya.
Penampung kueri adalah penampung scroll, atau elemen yang terpengaruh oleh posisi scroll penampung scroll. Status berikut dapat dikueri:
stuck
: Penampung yang diposisikan melekat menempel ke salah satu tepi kotak scroll.snapped
: Penampung yang sejajar dengan snap scroll saat ini di-snap secara horizontal atau vertikal.scrollable
: Apakah penampung scroll dapat di-scroll ke arah yang dikueri.
Jenis penampung baru: scroll-state
memungkinkan penampung dikueri.
Melacak bug #40268059 | Entri ChromeStatus.com | Spesifikasi
CSS text-box
, text-box-trim
, dan text-box-edge
Untuk mencapai keseimbangan konten teks yang optimal, properti text-box-trim
dan text-box-edge, bersama dengan properti singkatan text-box, memungkinkan kontrol yang lebih baik terhadap perataan vertikal teks.
Properti text-box-trim
menentukan sisi yang akan dipangkas, di atas atau di bawah, dan properti text-box-edge
menentukan cara tepi harus dipangkas.
Properti ini memungkinkan Anda mengontrol spasi vertikal secara akurat menggunakan metrik font.
Melacak bug #1411581 | Entri ChromeStatus.com | Spesifikasi
Web API
Animation.overallProgress
Memberikan representasi yang mudah dan konsisten kepada developer tentang sejauh mana animasi telah berkembang di seluruh iterasinya dan terlepas dari sifat linimasanya. Tanpa properti overallProgress
, Anda perlu menghitung secara manual seberapa jauh animasi telah maju, dengan mempertimbangkan jumlah iterasi animasi dan apakah currentTime
animasi adalah persentase dari total waktu (seperti dalam kasus animasi yang didorong scroll) atau kuantitas waktu absolut (seperti dalam kasus animasi yang didorong waktu).
Melacak bug #40914396 | Entri ChromeStatus.com | Spesifikasi
Metode pause()
dari objek Atomics
Menambahkan metode pause()
ke objek namespace Atomics
, untuk memberi tahu CPU bahwa kode saat ini sedang mengeksekusi spinlock.
Entri ChromeStatus.com | Spesifikasi
Pelaporan hash CSP untuk skrip
Aplikasi web yang kompleks sering kali perlu melacak sub-resource yang didownload, untuk tujuan keamanan.
Secara khusus, standar industri dan praktik terbaik mendatang (misalnya, PCI-DSS v4) mewajibkan aplikasi web menyimpan inventaris semua skrip yang didownload dan dieksekusi.
Fitur ini dibuat berdasarkan CSP dan Reporting API untuk melaporkan URL dan hash (untuk CORS/asal yang sama) dari semua resource skrip yang dimuat dokumen.
Melacak bug #377830102 | Entri ChromeStatus.com
Pemindahan yang mempertahankan status DOM
Menambahkan primitif DOM (Node.prototype.moveBefore
) yang memungkinkan Anda memindahkan elemen di sekitar hierarki DOM, tanpa mereset status elemen.
Saat memindahkan, bukan menghapus dan menyisipkan, status berikut seperti berikut akan dipertahankan:
- Elemen
<iframe>
tetap dimuat. - Elemen aktif tetap menjadi fokus.
- Pop-up, layar penuh, dan dialog modal tetap terbuka.
- Transisi dan animasi CSS berlanjut.
Mengekspos atribut attributionsrc
di <area>
.
Menyelaraskan eksposur atribut attributionsrc
di <area>
dengan perilaku pemrosesan atribut yang ada, meskipun tidak diekspos.
Selain itu, sebaiknya dukung atribut di <area>
, karena elemen tersebut adalah platform navigasi kelas satu, dan Chrome sudah mendukungnya di platform lain <a>
dan window.open
.
Melacak bug #379275911 | Entri ChromeStatus.com | Spesifikasi
Antarmuka FileSystemObserver
Antarmuka FileSystemObserver
memberi tahu situs tentang perubahan pada sistem file. Situs mengamati perubahan pada file dan direktori, yang sebelumnya telah diberi izin oleh pengguna, di perangkat lokal pengguna, atau di Sistem File Bucket (juga dikenal sebagai Sistem File Pribadi Origin), dan diberi tahu tentang info perubahan dasar, seperti jenis perubahan.
Melacak bug #40105284 | Entri ChromeStatus.com
Beberapa peta impor
Peta impor saat ini harus dimuat sebelum modul ES dan hanya boleh ada satu peta impor per dokumen. Hal ini membuatnya rapuh dan berpotensi lambat digunakan dalam skenario kehidupan nyata: Setiap modul yang dimuat sebelum modul ini akan merusak seluruh aplikasi, dan di aplikasi dengan banyak modul, modul ini menjadi resource pemblokir yang besar, karena seluruh peta untuk semua kemungkinan modul harus dimuat terlebih dahulu.
Fitur ini memungkinkan beberapa peta impor per dokumen, dengan menggabungkannya secara konsisten dan deterministik.
Header Akses Penyimpanan
Menawarkan cara alternatif bagi penyematan yang diautentikasi untuk memilih ikut serta dalam cookie yang tidak dipartisi. Header ini menunjukkan apakah cookie yang tidak dipartisi (atau dapat) disertakan dalam permintaan jaringan tertentu, dan memungkinkan server mengaktifkan izin 'akses penyimpanan' yang telah diberikan. Memberikan cara alternatif untuk mengaktifkan izin 'storage-access' memungkinkan penggunaan oleh resource non-iframe, dan dapat mengurangi latensi untuk penyematan yang diautentikasi.
Melacak bug #329698698 | Entri ChromeStatus.com | Spesifikasi
Mendukung pembuatan ClipboardItem
dengan Promise<DOMString>
ClipboardItem
, yang merupakan input ke metode write()
papan klip asinkron, kini menerima nilai string selain Blob dalam konstruktornya. ClipboardItemData
dapat berupa Blob, string, atau Promise yang me-resolve ke Blob atau string.
Melacak bug #40766145 | Entri ChromeStatus.com | Spesifikasi
WebAssembly Memory64
Proposal memory64 menambahkan dukungan untuk memori WebAssembly linear dengan ukuran lebih besar dari 2^32 bit. API ini tidak memberikan petunjuk baru, tetapi memperluas petunjuk yang ada untuk mengizinkan indeks 64-bit untuk memori dan tabel.
Entri ChromeStatus.com | Spesifikasi
Web Authentication API: Metode PublicKeyCredential
getClientCapabilities()
Metode PublicKeyCredential
getClientCapabilities()
memungkinkan Anda menentukan fitur WebAuthn yang didukung oleh klien pengguna. Metode ini menampilkan daftar kemampuan yang didukung, yang memungkinkan developer menyesuaikan pengalaman dan alur kerja autentikasi berdasarkan fungsi spesifik klien.
Melacak bug #360327828 | Entri ChromeStatus.com | Spesifikasi
Algoritma X25519 dari Web Cryptography API
Algoritma "X25519" menyediakan alat untuk melakukan perjanjian kunci menggunakan fungsi X25519 yang ditentukan dalam [RFC7748]. ID algoritma "X25519" dapat digunakan di antarmuka SubtleCrypto untuk mengakses operasi yang diterapkan: generateKey, importKey, exportKey, deriveKey, dan deriveBits.
Melacak bug #378856322 | Entri ChromeStatus.com | Spesifikasi
Performa
Pembekuan dalam mode Penghemat Energi
Saat Penghemat Energi aktif, Chrome akan membekukan "grup konteks penjelajahan" yang telah disembunyikan dan disenyapkan selama lebih dari lima menit jika subgrup frame dengan origin yang sama di dalamnya melebihi batas penggunaan CPU, kecuali jika:
- Memberikan fungsi konferensi audio atau video (terdeteksi dengan mengidentifikasi mikrofon, kamera, atau tangkapan layar/jendela/tab atau RTCPeerConnection dengan RTCDataChannel 'terbuka' atau MediaStreamTrack 'live').
- Mengontrol perangkat eksternal (terdeteksi dengan penggunaan WebUSB, Web Bluetooth, WebHID, atau Web Serial).
- Menyimpan Kunci Web atau koneksi IndexedDB yang memblokir update versi atau transaksi pada koneksi lain.
- Pembekuan terdiri dari menjeda eksekusi. Ini ditentukan secara formal di Page Lifecycle API.
Batas penggunaan CPU akan dikalibrasi untuk membekukan sekitar 10% tab latar belakang saat Penghemat Energi aktif.
Melacak bug #325954772 | Entri ChromeStatus.com
Mengekspos renderTime
lintas-asal yang dipertajam dalam pengaturan waktu elemen dan LCP (terlepas dari Timing-Allow-Origin
)
Waktu elemen dan entri LCP memiliki atribut renderTime
, yang selaras dengan frame pertama tempat gambar atau teks di-paint.
Atribut ini saat ini dilindungi untuk gambar lintas-asal dengan mewajibkan header Timing-Allow-Origin
pada resource gambar. Namun, pembatasan tersebut mudah diatasi (misalnya, dengan menampilkan gambar dengan origin yang sama dan lintas origin dalam frame yang sama).
Karena hal ini menjadi sumber kebingungan, kami berencana untuk menghapus batasan ini, dan memperlambat semua waktu render sebesar 4 md jika dokumen tidak diisolasi lintas origin. Hal ini tampaknya cukup kasar untuk menghindari kebocoran informasi waktu decoding yang berguna tentang gambar lintas origin.
Melacak bug #373263977 | Entri ChromeStatus.com | Spesifikasi
Kembalikan responseStart
dan perkenalkan firstResponseHeadersStart
Dengan 103 Petunjuk Awal diaktifkan, respons memiliki dua stempel waktu:
- Saat Petunjuk Awal tiba (103)
- Saat header akhir tiba (misalnya 200)
- Saat Chrome 115 mengirimkan
firstInterimResponseStart
untuk memungkinkan pengukuran dua stempel waktu ini, kami juga mengubah artiresponseStart
(digunakan oleh Time to First Byte (TTFB)) menjadi "header akhir". Hal ini menyebabkan masalah kompatibilitas web dengan browser dan alat yang tidak membuat perubahan serupa untuk metrik yang umum digunakan ini.
Chrome 133 mengembalikan perubahan responseStart
ini untuk mengatasi masalah kompatibilitas ini dan sebagai gantinya memperkenalkan firstResponseHeadersStart
untuk memungkinkan situs mengukur waktu ke header akhir, sekaligus mempertahankan definisi TTFB asli.
Melacak bug #40251053 | Entri ChromeStatus.com | Spesifikasi
Rendering dan grafis
WebGPU: Format vertex 1 komponen (dan unorm8x4-bgra)
Menambahkan format vertex tambahan yang tidak ada dalam rilis awal WebGPU karena kurangnya dukungan atau versi macOS lama (yang tidak lagi didukung oleh browser apa pun). Format vertex 1 komponen memungkinkan aplikasi hanya meminta data yang diperlukan, sedangkan sebelumnya aplikasi harus meminta setidaknya dua kali lebih banyak untuk jenis data 8 dan 16-bit. Format unorm8x4-bgra membuat pemuatan warna vertex yang dienkode BGRA sedikit lebih mudah sekaligus mempertahankan shader yang sama.
Melacak bug #376924407 | Entri ChromeStatus.com
Uji coba origin
Memilih untuk tidak membekukan tab dalam mode Penghemat Energi
Uji coba pilihan tidak ikut ini memungkinkan situs memilih untuk tidak ikut dalam perilaku pembekuan pada Penghemat Energi yang disertakan dalam Chrome 133.
Uji Coba Origin | Melacak bug #325954772 | Entri ChromeStatus.com | Spesifikasi
Target Referensi untuk ARIA Lintas Root
Target Referensi adalah fitur untuk mengaktifkan penggunaan atribut IDREF seperti for
dan aria-labelledby
untuk merujuk ke elemen di dalam shadow DOM komponen, sekaligus mempertahankan enkapsulasi detail internal shadow DOM. Tujuan utama fitur ini adalah memungkinkan ARIA berfungsi di seluruh batas root bayangan.
Komponen dapat menentukan elemen dalam hierarki bayangannya untuk bertindak sebagai "target referensi". Jika komponen host adalah target IDREF seperti atribut for
label, target referensi akan menjadi target efektif label.
Root bayangan menentukan ID elemen target di dalam shadow DOM. Hal ini dilakukan di JavaScript dengan atribut referenceTarget
pada objek ShadowRoot
, atau dalam markup HTML menggunakan atribut shadowrootreferencetarget
pada elemen <template>
.
Uji Coba Origin | Entri ChromeStatus.com
Penghentian dan penghapusan
Menghentikan penggunaan batas WebGPU maxInterStageShaderComponents
maxInterStageShaderComponents limit
tidak digunakan lagi karena kombinasi
faktor. Tanggal penghapusan yang dimaksud di Chrome 135.
- Redundansi dengan
maxInterStageShaderVariables
: Batas ini sudah memiliki tujuan yang serupa, yaitu mengontrol jumlah data yang diteruskan di antara tahap shader. - Perbedaan kecil: Meskipun ada sedikit perbedaan dalam cara penghitungan kedua
batas tersebut, perbedaan ini bersifat kecil dan dapat dikelola secara efektif
dalam batas
maxInterStageShaderVariables
. - Penyederhanaan: Menghapus
maxInterStageShaderComponents
akan menyederhanakan antarmuka shader dan mengurangi kompleksitas bagi developer. Daripada mengelola dua batas terpisah dengan perbedaan yang halus, mereka dapat berfokus padamaxInterStageShaderVariables
yang lebih lengkap dan diberi nama yang sesuai.
Menghapus aturan lima menit <link rel=prefetch>
Sebelumnya, saat resource diambil sebelumnya menggunakan <link rel=prefetch>
, Chrome
mengabaikan semantik cache-nya (yaitu max-age
dan no-cache
) untuk penggunaan pertama
dalam waktu lima menit, untuk menghindari pengambilan ulang. Sekarang, Chrome menghapus kasus khusus ini
dan menggunakan semantik cache HTTP normal.
Artinya, developer web perlu menyertakan header penyimpanan dalam cache yang sesuai
(Cache-Control atau Expires) untuk melihat manfaat dari <link rel=prefetch>
.
Hal ini juga memengaruhi <link rel=prerender>
nonstandar.
Melacak bug #40232065 | Entri ChromeStatus.com
Menghapus pemicu halaman Selamat Datang Chrome dengan preferensi awal tab yang pertama kali dijalankan
Menyertakan chrome://welcome
di properti first_run_tabs
dari file initial_preferences
kini tidak akan berpengaruh. Halaman ini dihapus karena halaman tersebut redundan dengan Pengalaman Pengaktifan Pertama yang dipicu di platform desktop.