Chrome 138

Tanggal rilis stabil: 24 Juni 2025

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

CSS dan UI

Fungsi terkait tanda abs() dan sign() menghitung berbagai fungsi yang terkait dengan tanda argumennya.

Fungsi abs(A) berisi satu penghitungan A, dan menampilkan nilai absolut A, sebagai jenis yang sama dengan input: jika nilai numerik A positif atau 0⁺, hanya A lagi; jika tidak, -1 * A.

Fungsi sign(A) berisi satu perhitungan A, dan menampilkan -1 jika nilai numerik A negatif, +1 jika nilai numerik A positif, 0⁺ jika nilai numerik A adalah 0⁺, dan 0⁻ jika nilai numerik A adalah 0⁻. Jenis nilai yang ditampilkan adalah <number>, yang dibuat konsisten dengan jenis perhitungan input.

MDN Docs:abs() | Bug pelacakan #40253181 | Entri ChromeStatus.com | Spesifikasi

Notasi fungsional progres interpolasi: Fungsi CSS progress()

Notasi fungsional progress() menampilkan nilai <number> yang merepresentasikan posisi satu penghitungan (nilai progres) di antara dua penghitungan lainnya (nilai awal progres dan nilai akhir progres). Fungsi progress() adalah fungsi matematika.

Melacak bug #40944203 | Entri ChromeStatus.com | Spesifikasi

sibling-index() dan sibling-count() CSS

Fungsi sibling-index() dan sibling-count() dapat digunakan sebagai bilangan bulat dalam nilai properti CSS untuk menata elemen berdasarkan posisinya di antara elemen saudaranya, atau jumlah total elemen saudaranya. Fungsi ini dapat digunakan langsung sebagai nilai bilangan bulat, tetapi lebih menarik lagi di dalam ekspresi calc().

Melacak bug #40282719 | Entri ChromeStatus.com | Spesifikasi

Kata kunci ukuran stretch CSS

Kata kunci untuk properti ukuran CSS (misalnya, width dan height) yang memungkinkan elemen berkembang untuk mengisi ruang yang tersedia di blok penampungnya secara tepat. Nilai ini mirip dengan '100%', kecuali ukuran yang dihasilkan diterapkan ke kotak margin elemen, bukan kotak yang ditunjukkan oleh box-sizing. Dengan menggunakan kata kunci ini, elemen dapat mempertahankan marginnya sekaligus tetap berukuran sebesar mungkin. Versi -webkit-fill-available tanpa awalan.

Bug pelacakan #41253915 | Entri ChromeStatus.com | Spesifikasi

Variabel env CSS untuk skala font tingkat OS

Mengekspos skala font pilihan pengguna ke CSS. Tanpa ini, halaman tidak dapat mendeteksi apakah pengguna telah mengubah ukuran font pilihan mereka menggunakan preferensi Sistem Operasi. Variabel lingkungan CSS ini akan mencerminkan skala yang dipilih oleh pengguna.

Bug pelacakan #397737223 | Entri ChromeStatus.com | Spesifikasi

Perangkat

Serial web melalui Bluetooth di Android

Fitur ini memungkinkan halaman web dan aplikasi web terhubung ke port serial melalui Bluetooth di perangkat Android.

Chrome di Android kini mendukung Web Serial API melalui RFCOMM Bluetooth. Kebijakan Enterprise yang ada (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls, dan SerialBlockedForUrls) di platform lain diaktifkan dalam status future_on untuk Android. Semua kebijakan kecuali SerialAllowUsbDevicesForUrls akan diaktifkan setelah fitur ini diaktifkan. SerialAllowUsbDevicesForUrls akan diaktifkan pada peluncuran mendatang setelah Android menyediakan dukungan tingkat sistem untuk port serial berkabel.

Bug pelacakan #375245353 | Entri ChromeStatus.com | Spesifikasi

Viewport Segments Enumeration API

Viewport Segments API memungkinkan developer menyesuaikan tata letak web mereka untuk menargetkan perangkat foldable. Segmen area tampilan menentukan posisi dan dimensi area tampilan yang terpisah secara logis. Segmen area tampilan dibuat saat area tampilan dibagi oleh satu atau beberapa fitur hardware (seperti lipatan atau engsel di antara layar terpisah) yang berfungsi sebagai pemisah; segmen adalah wilayah area tampilan yang dapat diperlakukan sebagai berbeda secara logis oleh developer.

Melacak bug #1039050 | Entri ChromeStatus.com | Spesifikasi

JavaScript

Perbarui QuotaExceededError ke antarmuka turunan DOMException

Sebelumnya, saat platform web ingin memberi tahu Anda saat Anda telah melampaui kuota, platform tersebut akan menggunakan DOMException dengan properti name tertentu yang ditetapkan ke QuotaExceededError. Namun, hal ini tidak memungkinkan membawa informasi tambahan.

Hal ini mengusulkan penghapusan "QuotaExceededError" dari daftar nama DOMException bawaan, dan sebagai gantinya membuat nama class QuotaExceededError dari daftar DOMException bawaan dan memiliki properti opsional tambahan quota dan requested. Kami mengusulkan agar semua instance spesifikasi yang memunculkan DOMException"QuotaExceededError"DOMException diupgrade untuk memunculkan QuotaExceededError. Untuk saat ini, spesifikasi tersebut akan membiarkan properti quota dan requested pada nilai defaultnya, yaitu null, tetapi pada akhirnya dapat diupgrade untuk menyertakan data tersebut, jika berguna untuk kasus penggunaannya (dan bukan, misalnya, kebocoran privasi).

Entri ChromeStatus.com | Spesifikasi

Web API

Translator API

API JavaScript untuk menyediakan kemampuan penerjemahan bahasa ke halaman web. Browser makin sering menawarkan penerjemahan bahasa kepada penggunanya. Kemampuan terjemahan tersebut juga dapat berguna bagi developer web. Hal ini terutama berlaku ketika kemampuan penerjemahan bawaan browser tidak dapat membantu. Kebijakan perusahaan (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model dasar yang akan membuat API ini tidak tersedia.

MDN Docs | Bug pelacakan #322229993 | Entri ChromeStatus.com | Spesifikasi

Language Detector API

API JavaScript untuk mendeteksi bahasa teks, dengan beberapa tingkat keyakinan.

Suplemen penting dari penerjemahan adalah deteksi bahasa. Hal ini dapat dikombinasikan dengan penerjemahan, misalnya, mengambil input pengguna dalam bahasa yang tidak dikenal dan menerjemahkannya ke dalam bahasa target tertentu. Kebanyakan browser saat ini sudah memiliki kemampuan deteksi bahasa, dan kami ingin menawarkannya kepada developer web melalui API JavaScript sebagai pelengkap API penerjemahan. Kebijakan Enterprise (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model dasar yang akan membuat API ini tidak tersedia.

Dokumen MDN | Entri ChromeStatus.com | Spesifikasi

Summarizer API

Summarizer API adalah API JavaScript untuk menghasilkan ringkasan teks input, yang didukung oleh model bahasa AI. Browser dan sistem operasi makin diharapkan mendapatkan akses ke model bahasa. Dengan mengekspos model bawaan ini, setiap situs tidak perlu lagi mendownload model bahasa multi-gigabyte mereka sendiri, atau mengirim teks input ke API pihak ketiga. Summarizer API secara khusus mengekspos API tingkat tinggi untuk berinteraksi dengan model bahasa guna meringkas input untuk berbagai kasus penggunaan (GitHub), tanpa bergantung pada model bahasa tertentu. Kebijakan Enterprise (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model dasar yang akan membuat API ini tidak tersedia.

MDN Docs | Bug pelacakan #351744634 | Entri ChromeStatus.com | Spesifikasi

Meloloskan < dan > dalam atribut pada serialisasi

Meloloskan < dan > dalam nilai atribut saat serialisasi.

Tindakan ini mengurangi risiko serangan XSS mutasi, yang terjadi saat nilai atribut ditafsirkan sebagai token tag awal setelah diserialisasi dan diuraikan ulang.

Entri ChromeStatus.com | Spesifikasi

Crash Reporting API: is_top_level dan visibility_state

Fitur ini menambahkan kolom string is_top_level dan visibility_state ke isi API pelaporan error yang dikirim ke endpoint pelaporan default untuk laporan error.

Entri ChromeStatus.com | Spesifikasi

Aktifkan peristiwa pushsubscriptionchange saat berlangganan kembali

Aktifkan peristiwa pushsubscriptionchange di pekerja layanan saat asal yang langganan push-nya ada di masa lalu, tetapi dicabut karena perubahan izin (dari diizinkan menjadi ditolak/default), diberi kembali izin notifikasi.

Peristiwa akan dipicu dengan oldSubscription dan newSubscription yang kosong.

Melacak bug #407523313 | Entri ChromeStatus.com | Spesifikasi

Multimedia

Menambahkan dukungan untuk metadata orientasi frame video ke WebCodecs

Memperkenalkan nilai rotation: int dan flip: bool ke berbagai antarmuka terkait video di WebCodecs sehingga developer dapat bekerja dengan sumber frame yang memiliki orientasi (Misalnya, kamera Android, media tertentu).

Antarmuka VideoFrame meningkatkan kemampuan untuk membuat VideoFrames dengan rotasi dan pembalikan arbitrer serta pengakses untuk informasi ini pada objek VideoFrame.

Objek VideoDecoderConfig mendapatkan kolom rotasi dan balik yang dipancarkan pada objek VideoFrame yang didekode secara otomatis.

Class VideoEncoder mendapatkan mekanisme untuk meneruskan informasi rotasi dan pembalikan dari encode() ke VideoDecoderConfig yang ditampilkan sebagai bagian dari EncodedVideoChunkMetadata. Jika encode() dipanggil dengan frame yang memiliki orientasi berbeda, pengecualian tidak fatal akan ditampilkan. configure() dapat digunakan untuk mereset orientasi yang diizinkan.

Melacak bug #40243431 | Entri ChromeStatus.com | Spesifikasi

Performa

Menambahkan prefetchCache dan prerenderCache ke header Clear-Site-Data

Dua nilai baru untuk header Clear-Site-Data guna membantu developer menargetkan penghapusan cache pra-render dan pengambilan data terlebih dahulu: "prefetchCache" dan "prerenderCache".

Bug pelacakan #398149359 | Entri ChromeStatus.com | Spesifikasi

Aturan spekulasi: kolom target_hint

Hal ini memperluas sintaksis aturan spekulasi untuk memungkinkan developer menentukan kolom target_hint.

Kolom ini memberikan petunjuk untuk menunjukkan target yang dapat dijelajahi tempat halaman yang telah di-pra-render akan diaktifkan. Misalnya, saat _blank ditentukan sebagai petunjuk, halaman yang dipra-render dapat diaktifkan untuk halaman yang dapat dijelajahi yang dibuka oleh window.open(). Kolom ini tidak berpengaruh pada pengambilan data terlebih dahulu.

Spesifikasi memungkinkan kolom ini menerima string apa pun yang valid sebagai nama target atau kata kunci yang dapat dijelajahi sebagai nilai, tetapi peluncuran ini hanya mendukung satu string "_self" atau "_blank". Jika petunjuk tidak ditentukan, petunjuk akan diperlakukan seperti "_self" ditentukan.

Bug pelacakan #40234240 | Entri ChromeStatus.com | Spesifikasi

Keamanan

Kebijakan Integritas untuk skrip

Subresource-Integrity (SRI) memungkinkan developer memastikan bahwa aset yang ingin mereka muat memang aset yang mereka muat. Namun, saat ini tidak ada cara bagi developer untuk memastikan bahwa semua skrip mereka divalidasi menggunakan SRI.

Header Integrity-Policy memberi developer kemampuan untuk menegaskan bahwa setiap resource dari jenis tertentu perlu diperiksa integritasnya. Jika resource jenis tersebut dicoba dimuat tanpa metadata integritas, upaya tersebut akan gagal dan memicu laporan pelanggaran.

Entri ChromeStatus.com | Spesifikasi

Service Worker

Dukungan ServiceWorker untuk Pengambilan Data Aturan Spekulasi

Fitur ini memungkinkan pengambilan data yang dikontrol ServiceWorker, yaitu pengambilan data aturan spekulasi ke URL yang dikontrol oleh Service Worker. Sebelumnya, pengambilan data dibatalkan setelah terdeteksi adanya Service Worker yang mengontrol, sehingga navigasi berikutnya ke target pengambilan data disajikan melalui jalur tanpa pengambilan data. Fitur ini akan memungkinkan permintaan pengambilan data melalui handler pengambilan Service Worker, dan respons yang diintersepsi Service Worker akan di-cache dalam cache pengambilan data, sehingga navigasi berikutnya dapat disajikan langsung oleh cache pengambilan data. Gunakan kebijakan Enterprise PrefetchWithServiceWorkerEnabled untuk mengontrol fitur ini.

Melacak bug #40947546 | Entri ChromeStatus.com | Spesifikasi

Penghentian penggunaan dan penghapusan

WebGPU: Menghentikan penggunaan atribut GPUAdapter isFallbackAdapter

Menghentikan penggunaan atribut boolean GPUAdapter isFallbackAdapter dari WebGPU, yang bersifat redundan dengan atribut boolean GPUAdapterInfo isFallbackAdapter.

Penghapusan yang akan datang ini merupakan perubahan yang sedikit merusak karena dukungan untuk adapter penggantian belum diterapkan di browser mana pun, sehingga kedua atribut isFallbackAdapter secara konsisten menampilkan nilai salah (falsy).

Melacak bug #409259074 | Entri ChromeStatus.com | Spesifikasi

Penghentian penghapusan rentang asinkron untuk Ekstensi Sumber Media

Standar Sumber Media sejak lama telah diubah untuk melarang perilaku yang ditentukan secara ambigu yang melibatkan penghapusan rentang asinkron:

  • SourceBuffer.abort() tidak lagi membatalkan operasi SourceBuffer.remove().
  • Setelan MediaSource.duration tidak lagi dapat memangkas media yang saat ini di-buffer.

Pengecualian kini ditampilkan dalam kedua kasus ini.

Safari dan Firefox telah lama menerapkan perilaku ini, sementara Chromium menjadi satu-satunya browser yang masih menggunakan perilaku lama. Penghitung penggunaan menunjukkan bahwa sekitar 0,001%-0,005% pemuatan halaman mengalami perilaku yang dihentikan ini. Jika situs mengalami masalah ini, pemutaran mungkin akan terganggu.

Penggunaan abort() untuk pembatalan penghapusan makin meningkat, sehingga sebaiknya proses penghentian ini diselesaikan sebelum muncul lebih banyak penggunaan yang tidak kompatibel.

Melacak bug #40474569 | Entri ChromeStatus.com | Spesifikasi