Chrome 136

Tanggal rilis stabil: 29 April 2025

Kecuali jika dinyatakan lain, perubahan berikut berlaku untuk rilis saluran stabil Chrome 136 untuk Android, ChromeOS, Linux, macOS, dan Windows.

HTML dan DOM

Dukungan bahasa untuk CanvasTextDrawingStyles

Elemen DOM <canvas>, seperti semua elemen DOM, menerima atribut lang yang digunakan untuk menentukan perlakuan khusus bahasa untuk pemilihan font (jika font memiliki glyph khusus lokalitas). Browser mematuhi atribut ini. Namun, saat OffscreenCanvas dibuat, tidak ada cara untuk menetapkan informasi lokalitas, yang mungkin menghasilkan status saat kanvas di luar layar menghasilkan hasil yang dirender yang berbeda dari kanvas tempat outputnya digunakan. Fitur ini menambahkan atribut IDL lang ke CanvasTextDrawingStyles untuk memberi developer kontrol langsung atas bahasa untuk gambar dan metrik teks.

Melacak bug #385006131 | Entri ChromeStatus.com | Spesifikasi

CSS dan UI

Properti dynamic-range-limit

Memungkinkan halaman membatasi kecerahan maksimum konten HDR.

Melacak bug #1470298 | Entri ChromeStatus.com | Spesifikasi

Untuk menghilangkan kebocoran histori penjelajahan pengguna, elemen anchor diberi gaya sebagai :visited hanya jika telah diklik sebelumnya dari situs tingkat teratas dan origin frame.

Ada pengecualian untuk "self-link", yaitu link ke halaman situs sendiri dapat diberi gaya sebagai :visited meskipun belum pernah diklik sebelumnya di situs tingkat teratas dan origin frame yang sama. Pengecualian ini hanya diaktifkan di frame atau subframe tingkat teratas yang memiliki origin yang sama dengan frame tingkat teratas. Manfaat privasi masih dapat dicapai karena situs sudah mengetahui subhalaman mana yang telah dikunjungi pengguna, sehingga tidak ada informasi baru yang terekspos. Pengecualian ini adalah pengecualian yang diminta komunitas yang meningkatkan pengalaman pengguna.

Melacak bug #1448609 | Entri ChromeStatus.com | Spesifikasi

print-color-adjust tanpa awalan

Properti print-color-adjust memungkinkan Anda menyesuaikan warna di halaman web yang dicetak. Ini sama dengan -webkit-print-color-adjust yang sudah didukung Chrome, tetapi dengan nama standar.

Versi dengan awalan -webkit- tidak dihapus.

Dokumen MDN | Melacak bug #376381169 | Entri ChromeStatus.com | Spesifikasi

Mengganti nama jenis string attr() menjadi raw-string

Grup Kerja CSS telah memutuskan untuk mengganti jenis string attr() dengan raw-string.

Oleh karena itu, mulai Chrome 136, attr(data-foo string) menjadi attr(data-foo raw-string).

Melacak bug #400981738 | Entri ChromeStatus.com | Spesifikasi

Penggantian var() yang tidak bergantung pada jenis

Bagian penggantian dari fungsi var() tidak memvalidasi terhadap jenis properti kustom yang dirujuk.

Melacak bug #372475301 | Entri ChromeStatus.com

Web API

Mengirim peristiwa klik ke pointer yang direkam

Jika pointer diambil saat peristiwa pointerup dikirim, peristiwa click kini dikirim ke target yang diambil, bukan ancestor umum terdekat peristiwa pointerdown dan pointerup sesuai spesifikasi Peristiwa UI.

Untuk pointer yang tidak direkam, target click tidak berubah.

Melacak bug #40851596 | Entri ChromeStatus.com | Spesifikasi

Petunjuk kompilasi eksplisit dengan komentar ajaib

Memungkinkan lampiran informasi tentang fungsi mana yang harus diuraikan dan dikompilasi dengan cepat dalam file JavaScript.

Informasi tersebut dienkode sebagai komentar ajaib.

Melacak bug #13917 | Entri ChromeStatus.com | Spesifikasi

Menyertakan pemicu navigasi ke dalam kunci partisi cache HTTP

Skema kunci cache HTTP Chrome diperbarui untuk menyertakan boolean is-cross-site-main-frame-navigation guna mengurangi serangan kebocoran lintas situs yang melibatkan navigasi tingkat atas.

Secara khusus, hal ini akan mencegah serangan lintas situs saat penyerang dapat memulai navigasi tingkat atas ke halaman tertentu, lalu membuka resource yang diketahui dimuat oleh halaman tersebut untuk menyimpulkan informasi sensitif menggunakan waktu pemuatan. Perubahan ini juga meningkatkan privasi dengan mencegah situs berbahaya menggunakan navigasi untuk menyimpulkan apakah pengguna telah mengunjungi situs tertentu sebelumnya.

Melacak bug #398784714 | Entri ChromeStatus.com | Spesifikasi

Protected Audience: helper konversi teks

Skrip bidding dan penskoran Protected Audience yang berinteraksi dengan WebAssembly harus mengonversi data berjenis string ke (dan dari) array byte secara efisien (misalnya, untuk meneruskan string ke dalam dan ke luar WebAssembly dengan ArrayBuffer "memori"). Hal ini memberikan dua fungsi mandiri, protectedAudience.encodeUtf8, dan protectedAudience.decodeUtf8 untuk melakukan tugas ini dengan urutan magnitudo yang lebih efisien daripada melakukannya di JavaScript.

Entri ChromeStatus.com

RegExp.escape

RegExp.escape adalah metode statis yang mengambil string dan menampilkan versi yang di-escape yang dapat digunakan sebagai pola di dalam ekspresi reguler.

Contoh:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.
console.log(ourLongText.replace(re));

Entri ChromeStatus.com | Spesifikasi

Aturan spekulasi: kolom tag

Hal ini memungkinkan developer menambahkan kolom tag ke aturan spekulasi. Kolom opsional ini dapat digunakan untuk melacak sumber aturan spekulasi. Misalnya, untuk memperlakukannya secara berbeda di server perantara. Semua tag yang terkait dengan spekulasi akan dikirim dengan header Sec-Speculation-Tags.

Melacak bug #381687257 | Entri ChromeStatus.com | Spesifikasi

Memperbarui ProgressEvent untuk menggunakan jenis ganda untuk loaded dan total

ProgressEvent memiliki atribut loaded dan total yang menunjukkan progres, dan jenisnya sekarang adalah unsigned long long.

Dengan fitur ini, jenis untuk kedua atribut ini diubah menjadi double, yang memberi developer kontrol lebih besar atas nilai. Misalnya, developer kini dapat membuat ProgressEvent dengan total 1 dan loaded bertambah dari 0 menjadi 1 secara bertahap. Hal ini selaras dengan perilaku default elemen HTML <progress> jika atribut maksimum dihilangkan.

Entri ChromeStatus.com | Spesifikasi

Privasi dan keamanan

Laporan Kebijakan Izin untuk iframe

Memperkenalkan jenis pelanggaran baru yang disebut "Potensi pelanggaran Kebijakan Izin", yang hanya akan melihat Kebijakan Izin (termasuk kebijakan khusus laporan) dan atribut allow yang ditetapkan di iframe untuk mendeteksi konflik antara Kebijakan Izin yang diterapkan versus izin yang di-propagate ke iframe.

Melacak bug #40941424 | Entri ChromeStatus.com | Spesifikasi

Mengurangi sidik jari dalam informasi header Accept-Language

Mengurangi jumlah informasi yang ditampilkan string nilai header Accept-Language dalam permintaan HTTP dan di navigator.languages. Daripada mengirim daftar lengkap bahasa pilihan pengguna di setiap permintaan HTTP, Chrome kini mengirim bahasa yang paling disukai pengguna di header Accept-Language.

Melacak bug #1306905 | Entri ChromeStatus.com

Identitas

Update FedCM

Memungkinkan FedCM menampilkan beberapa penyedia identitas dalam dialog yang sama, dengan menempatkan semua penyedia dalam panggilan get() yang sama. Hal ini memberikan cara mudah bagi developer untuk menampilkan semua penyedia identitas yang didukung kepada pengguna.

Chrome 136 juga menghapus dukungan untuk menambahkan akun lain dalam mode pasif FedCM. Fitur ini memungkinkan tombol gunakan akun lain ditampilkan bersama akun IdP lain di pemilih. Fitur ini saat ini tidak digunakan, dan percakapan UX telah membuat kami yakin bahwa jika hal ini didukung, alur akan menjadi lebih rumit tanpa memberi banyak manfaat. Fitur ini akan tetap berfungsi dalam mode aktif FedCM.

Melacak bug #1348262 | Entri ChromeStatus.com | Spesifikasi

Pembuatan bersyarat autentikasi web (upgrade kunci sandi)

Permintaan pembuatan kondisional WebAuthn memungkinkan situs mengupgrade kredensial sandi yang ada menjadi kunci sandi.

Melacak bug #377758786 | Entri ChromeStatus.com | Spesifikasi

Gambar dan media

AudioContext Status Terganggu

Menambahkan status "interrupted" ke AudioContextState. Status baru ini memungkinkan Agen Pengguna menjeda pemutaran selama akses audio eksklusif (VoIP) atau saat penutup laptop ditutup.

Melacak bug #374805121 | Entri ChromeStatus.com | Spesifikasi

Kontrol platform yang diambil

Web API yang memungkinkan aplikasi web:

  1. Meneruskan peristiwa roda ke tab yang direkam.
  2. Membaca dan mengubah tingkat zoom tab yang diambil.

Melacak bug #1466247 | Entri ChromeStatus.com | Spesifikasi

CapturedSurfaceResolution

Mengekspos rasio piksel platform yang diambil saat berbagi layar.

Fitur ini membantu aplikasi menghemat resource sistem atau menyesuaikan kompromi kualitas atas bandwidth sesuai dengan resolusi fisik dan logis permukaan yang diambil.

Melacak bug #383946052 | Entri ChromeStatus.com | Spesifikasi

Dukungan codec H265 (HEVC) di WebRTC

Setelah perubahan ini, HEVC akan bergabung dengan VP8, H.264, VP9, dan AV1 sebagai codec yang didukung di WebRTC. Dukungan akan dapat dikueri menggunakan MediaCapabilities API.

Melacak bug #391903235 | Entri ChromeStatus.com | Spesifikasi

Update dukungan Codec H26x untuk MediaRecorder

MediaRecorder API Chromium kini mendukung encoding HEVC, memperkenalkan string codec hvc1.*, dan menambahkan codec baru (hev1.* dan avc3.*) yang mendukung video resolusi variabel dalam MP4.

Dukungan untuk encoding platform HEVC ditambahkan di WebCodecs di Chromium M130. Sebagai lanjutan, dukungan telah ditambahkan ke MediaRecorder API di Chromium. API ini kini mendukung jenis muxer MP4 dan Matroska dengan spesifikasi jenis mime HEVC dan H.264 yang berbeda. Encoding HEVC hanya didukung jika perangkat dan sistem operasi pengguna menyediakan kemampuan yang diperlukan.

Entri ChromeStatus.com

Gunakan DOMPointInit untuk getCharNumAtPosition, isPointInFill, isPointInStroke

Perubahan ini membuat kode Chromium sesuai dengan spesifikasi W3C terbaru untuk SVGGeometryElement dan SVGPathElement dalam hal penggunaan DOMPointInit melalui SVGPoint untuk getCharNumAtPosition, isPointInFill, isPointInStroke.

Melacak bug #40572887 | Entri ChromeStatus.com | Spesifikasi

WebGPU: Atribut GPUAdapterInfo isFallbackAdapter

Atribut boolean GPUAdapterInfo isFallbackAdapter menunjukkan apakah adaptor memiliki batasan performa yang signifikan sebagai imbalan atas kompatibilitas yang lebih luas, perilaku yang lebih dapat diprediksi, atau privasi yang lebih baik. Perhatikan bahwa adaptor penggantian mungkin tidak ada di semua sistem.

Melacak bug #403172841 | Entri ChromeStatus.com | Spesifikasi

Perubahan browser

Scrollbar yang lancar

Fitur ini memodernisasi scrollbar Chromium (overlay dan non-overlay) di Windows dan Linux agar sesuai dengan bahasa desain Fluent Windows 11.

Scrollbar Fluent non-overlay akan diaktifkan secara default di Linux dan Windows. Perubahan ini juga berlaku untuk Linux karena desain scrollbar Linux Chromium secara historis telah diselaraskan dengan yang dikirimkan di Windows. Cara mengekspos scrollbar Fluent overlay yang diaktifkan masih diputuskan.

Melacak bug #1292117 | Entri ChromeStatus.com

Uji coba origin

Audio Output Devices API: setDefaultSinkId()

Fitur ini menambahkan setDefaultSinkId() ke MediaDevices, yang memungkinkan frame level teratas mengubah perangkat output audio default yang digunakan oleh subframe-nya.

Uji Coba Origin | Entri ChromeStatus.com | Spesifikasi

Mengaktifkan aplikasi web untuk memahami pengaturan waktu performa bimodal

Aplikasi web mungkin mengalami distribusi bimodal dalam performa pemuatan halaman, karena faktor di luar kendali aplikasi web. Contoh:

  • Saat pertama kali diluncurkan (skenario "cold start"), agen pengguna harus menjalankan banyak tugas inisialisasi yang mahal yang bersaing untuk mendapatkan resource di sistem.
  • Ekstensi browser dapat memengaruhi performa situs. Misalnya, beberapa ekstensi menjalankan kode tambahan di setiap halaman yang Anda kunjungi, yang dapat meningkatkan penggunaan CPU dan mengakibatkan waktu respons yang lebih lambat.
  • Jika mesin sibuk melakukan tugas yang intensif, hal ini dapat menyebabkan pemuatan halaman web menjadi lebih lambat.

Kolom confidence baru pada objek PerformanceNavigationTiming akan memungkinkan developer untuk mengetahui apakah pengaturan waktu navigasi mewakili aplikasi web mereka.

Uji Coba Origin | Melacak bug #1413848 | Entri ChromeStatus.com | Spesifikasi

Pembaruan penerapan rendering teks Kanvas

Ini bukan perubahan yang ditampilkan di web.

Implementasi CanvasRenderingContext2D measureText(), fillText(), dan strokeText() mengalami perubahan drastis. Hal ini dapat memengaruhi performa, jadi sebaiknya jalankan uji coba origin agar aplikasi yang banyak menggunakan kanvas dapat mencoba penerapan baru.

Uji Coba Origin | Melacak bug #389726691 | Entri ChromeStatus.com

Penghentian dan penghapusan

Hapus HTMLFencedFrameElement.canLoadOpaqueURL()

Metode HTMLFencedFrameElement canLoadOpaqueURL() diganti dengan navigator.canLoadAdAuctionFencedFrame() pada tahun 2023, dan memanggilnya telah menghasilkan peringatan konsol penghentian penggunaan sejak mengarah ke API baru. Metode ini dihapus dari Chrome 136.

Entri ChromeStatus.com