Beta Chrome 148

Dipublikasikan: 8 April 2026

Kecuali dinyatakan lain, perubahan berikut berlaku untuk rilis saluran beta Chrome terbaru untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut fitur ini dengan menggunakan link yang disediakan atau dengan membuka ChromeStatus.com. Chrome dalam versi beta mulai rilis ini. Anda dapat mendownload versi beta terbaru dari Google.com untuk desktop atau dari Google Play Store di Android.

CSS dan UI

Kueri penampung khusus nama di CSS

Sekarang Anda dapat membuat kueri penampung CSS hanya berdasarkan container-name tanpa menetapkan container-type pada elemen.

#container {
  container-name: --foo;
}
@container --foo {
  input { background-color: green; }
}
<div id="container">
  <div><input></div>
</div>

Memangkas teks yang meluap saat interaksi pengguna

Saat pengguna berinteraksi (misalnya, dengan mengedit atau menggunakan navigasi tanda sisipan) dengan teks yang memiliki setelan text-overflow: ellipsis, teks akan beralih sementara dari elipsis ke klip. Hal ini memungkinkan pengguna melihat dan berinteraksi dengan konten yang tersembunyi. Fitur ini berlaku untuk semua elemen yang dapat diedit dan tidak dapat diedit. Untuk kontrol formulir, seperti <textarea> dan <input>, perilaku ini sudah didukung.

Menetapkan dropEffect dengan benar untuk acara dragEnter, dragLeave, dan dragOver

Spesifikasi tarik lalu lepas mengharuskan atribut dropEffect objek dataTransfer memiliki nilai yang telah ditentukan sebelumnya pada dragEnter, dragOver, dan dragLeave. dragEnter dan dragOver harus memiliki dropEffect berdasarkan effectAllowed saat ini. dragLeave harus selalu memiliki none dropEffect. Saat ini, Chrome tidak mematuhi aturan ini. Mulai Chrome 148, Chrome akan mematuhi spesifikasi dan menetapkan nilai yang benar ke atribut ini.

Memuat lambat elemen video dan audio

Fitur ini menambahkan atribut loading ke elemen <video> dan <audio>. Hal ini memungkinkan developer menunda pemuatan resource media hingga elemen berada di dekat area tampilan dengan menggunakan loading="lazy". Hal ini cocok dengan perilaku pemuatan lambat yang ada untuk elemen <img> dan <iframe>, yang meningkatkan performa pemuatan halaman dan mengurangi penggunaan data.

Fungsi at-rule() CSS untuk deteksi fitur

Fitur ini menambahkan fungsi at-rule() ke @supports CSS, yang memungkinkan penulis mendeteksi dukungan untuk aturan @CSS.

Tambahkan kata kunci revert-rule

Kata kunci revert-rule mengembalikan susunan ke aturan sebelumnya, mirip dengan cara revert-layer mengembalikan susunan ke lapisan sebelumnya. Contoh:

div { color: green; }
div { color: revert-rule; /* Effectively green */ }

Hal ini sangat berguna dengan kondisi karena memungkinkan Anda menghilangkan aturan saat ini jika suatu kondisi tidak terpenuhi:

div {
  display: if(style(--layout: fancy): grid; else: revert-rule);
}

Dukung text-decoration-skip-ink: all

Fitur ini menambahkan dukungan untuk nilai all untuk properti CSS text-decoration-skip-ink. Properti text-decoration-skip-ink sudah mendukung auto dan none. Nilai all memperluasnya dengan menerapkan penghilangan tinta tanpa syarat ke semua glif, termasuk karakter CJK. Sebaliknya, auto tidak melewati karakter CJK karena melewati tinta cenderung menghasilkan hasil visual yang tidak diinginkan untuk skrip ideografik pada posisi garis bawah yang umum. Dengan text-decoration-skip-ink: all, penulis yang telah menyesuaikan text-underline-position atau text-underline-offset untuk menghindari bentrokan dengan glif CJK dapat secara eksplisit memilih untuk mengaktifkan fitur lewati tinta untuk karakter tersebut.

Web API

Melokalkan anggota manifes

Fitur ini mendukung pelokalan anggota manifes, yang memungkinkan aplikasi menyesuaikan nama, deskripsi, ikon, dan pintasannya dengan bahasa dan wilayah pengguna. Developer memberikan nilai yang dilokalkan dalam manifes aplikasi web. Browser secara otomatis memilih resource yang sesuai berdasarkan setelan bahasa pengguna, yang memperkenalkan dukungan bahasa di berbagai pasar.

Mendukung Open Font Format avar2 untuk pembentukan teks dan rendering glyph

Tabel avar (Variasi Sumbu) versi 2 memungkinkan desainer font membuat font variabel dengan kontrol yang lebih baik atas interpolasi. Meskipun spesifikasi font variabel asli menangani sumbu secara independen, avar2 memungkinkan sumbu saling memengaruhi. Hal ini menghasilkan font yang lebih mudah digunakan oleh penulis konten dan memungkinkan penyimpanan yang ringkas.

Avar2 berfungsi dengan menggunakan konsep variasi font yang sama, tetapi memungkinkan Anda menerapkan nilai delta variabel ke sumbu desain itu sendiri. Anda dapat melakukannya di berbagai sumbu.

Misalnya, Anda dapat membuat penggeser meta yang mengontrol beberapa sumbu variasi sekaligus. Hal ini meringankan pengguna dari penyesuaian dan menemukan sudut yang berguna dari ruang desain font.

Avar2 memberi desainer font kontrol yang lebih baik atas ruang variasi yang dapat digunakan dari font mereka dan memungkinkan mereka mengoordinasikan penyesuaian sumbu desain di beberapa sumbu. Dengan menentukan hubungan antar-sumbu secara matematis dalam tabel versi 2 avar, font dapat mencapai desain yang kompleks dengan lebih sedikit master. Hal ini menghasilkan ukuran file yang lebih kecil karena interpolasi disimpan secara lebih efisien.

Mode UI Langsung Autentikasi Web

Mode baru untuk navigator.credentials.get() ini menyebabkan UI login browser ditampilkan kepada pengguna jika kunci sandi atau sandi untuk situs tersebut langsung diketahui oleh browser. Jika tidak, metode ini akan menolak promise dengan NotAllowedError jika tidak ada kredensial seperti itu. Dengan begitu, situs dapat menghindari menampilkan halaman login jika browser dapat menawarkan pilihan kredensial login yang kemungkinan berhasil. Hal ini tetap memungkinkan alur halaman login untuk kasus ketika tidak ada kredensial tersebut.

Dukungan Web Serial API di Android

Web Serial API menyediakan antarmuka untuk terhubung ke perangkat serial. Perangkat ini dapat terhubung melalui port serial di sistem pengguna atau melalui perangkat USB dan Bluetooth yang dapat dilepas yang mengemulasi port serial. API kini didukung di Android.

Pengguna, terutama di sektor pendidikan, hobi, dan industri, menghubungkan perangkat periferal ke komputer mereka yang memerlukan software kustom untuk mengontrolnya. Misalnya, robotika sering digunakan untuk mengajari pemrograman komputer dan elektronik di sekolah. Hal ini memerlukan software yang dapat mengupload kode ke robot atau mengontrolnya dari jarak jauh. Dalam lingkungan industri atau hobi, peralatan, seperti mesin penggiling, pemotong laser, atau printer 3D, dikontrol oleh program yang berjalan di komputer yang terhubung. Perangkat ini sering dikontrol oleh mikrokontroler kecil melalui koneksi serial.

Fitur linear_indexing WebGPU

Fungsi ini menambahkan dua nilai bawaan shader komputasi baru untuk meningkatkan pengalaman pengguna. Nilai ini diterapkan untuk semua backend (sebagai polyfill dari nilai bawaan yang ada).

Dukungan SharedWorker di Android

Untuk waktu yang lama, SharedWorker telah dinonaktifkan di Android karena kekhawatiran tentang siklus prosesnya yang tidak dapat diprediksi. Developer Chrome yakin bahwa instance SharedWorker dapat berakhir secara tiba-tiba tanpa memberi tahu pengguna atau developer web. Hal ini dianggap tidak dapat diterima.

Namun, diskusi baru-baru ini di GitHub menunjukkan bahwa sifat siklus proses SharedWorker yang tidak dapat diprediksi mungkin tidak menjadi masalah yang signifikan seperti yang diperkirakan sebelumnya. Berdasarkan hal ini, Chrome mengaktifkan kembali SharedWorker di Android sekaligus menyelidiki perilaku ini untuk memastikan pengalaman yang stabil dan andal.

Masa aktif yang lebih lama untuk pekerja bersama

Update ini menambahkan opsi baru, extendedLifetime: true, ke konstruktor SharedWorker. Tindakan ini meminta agar pekerja bersama tetap aktif meskipun setelah semua klien saat ini dibongkar. Kasus penggunaan utamanya adalah memungkinkan halaman melakukan pekerjaan asinkron yang memerlukan JavaScript setelah halaman dibongkar, tanpa perlu mengandalkan pekerja layanan.

Prompt API

Prompt API memberi developer web akses langsung ke model bahasa AI di perangkat yang disediakan browser. Desain API menawarkan kontrol terperinci, yang selaras dengan bentuk API cloud. Hal ini memungkinkan Anda meningkatkan kualitas situs secara progresif dengan interaksi model yang disesuaikan untuk kasus penggunaan individual. Hal ini melengkapi API model bahasa berbasis tugas (misalnya, Summarizer API) serta berbagai API dan framework untuk inferensi di perangkat yang digeneralisasi dengan model ML yang disediakan developer. Implementasi awal mendukung input teks, gambar, dan audio, serta batasan respons yang memastikan teks yang dihasilkan sesuai dengan format ekspresi reguler dan Skema JSON yang telah ditentukan sebelumnya.

Hal ini mendukung berbagai kasus penggunaan. Misalnya, model ini dapat membuat teks gambar, melakukan penelusuran visual, mentranskripsikan audio, mengklasifikasikan peristiwa suara, membuat teks yang mengikuti petunjuk tertentu, dan mengekstrak informasi atau insight dari materi sumber multimodal.

API ini telah dikirimkan di Ekstensi Chrome. Maksud ini melacak pengiriman di web. Kebijakan Enterprise, GenAILocalFoundationalModelSettings, tersedia untuk menonaktifkan download model dasar yang membuat API ini tidak tersedia. Admin perusahaan juga dapat menetapkan kebijakan BuiltInAIAPIsEnabled untuk memblokir penggunaan Built-In AI API sekaligus tetap mengizinkan fitur GenAI di perangkat lainnya.

Log dukungan bahasa:

  • Chrome 139 dan yang lebih lama hanya mendukung bahasa Inggris ('en')
  • Chrome 140 menambahkan dukungan untuk bahasa Spanyol dan Jepang ('es' dan 'ja')

Mendapatkan kemampuan Konfirmasi Pembayaran Aman

Fitur ini menambahkan metode statis baru ke Payment Request API yang memungkinkan developer web mendapatkan kemampuan penerapan Secure Payment Confirmation browser. Hal ini membantu developer web mengetahui kemampuan yang tersedia untuk Konfirmasi Pembayaran Aman. Mereka kemudian dapat memutuskan apakah akan menggunakan Konfirmasi Pembayaran Aman dengan kemampuan tersebut.

Aturan ContextJ IDNA

IDNA adalah mekanisme untuk karakter non-ASCII dalam nama domain. Mengenkode URL seperti http://네이버.한국/ sebagai http://xn--950bt9s8xi.xn--3e0b707e/ (pengalihan ke naver.com).

Spesifikasi URL menetapkan flag CheckJoiners, yang mengaktifkan aturan ContextJ di IDNA2008. Hal ini melarang penggunaan ZWNJ (U+200C ZERO WIDTH NON-JOINER) dan ZWJ (U+200D ZERO WIDTH JOINER) di sebagian besar tempat dalam URL. Penerapan ini meneruskan opsi UIDNA_CHECK_CONTEXTJ ke ICU, tempat aturan ini diterapkan.

Menggunakan kembali gambar no-store pada penetapan ulang same-src

Fitur ini memungkinkan penggunaan ulang gambar yang tersedia dalam dokumen yang sama melewati pemuatan ulang Cache-Control: no-store saat nilai src yang sama ditetapkan ulang ke elemen <img>. Sebelumnya, Blink mengambil ulang gambar meskipun sudah didekode dan tersedia dalam dokumen. Hal ini sesuai dengan perilaku Gecko dan WebKit yang ada.

Tambahkan kolom contentType ke Resource Timing

Fitur ini menambahkan kolom contentType ke PerformanceResourceTiming untuk menyimpan string yang sesuai dengan jenis konten resource yang diambil, seperti yang ditampilkan oleh server.

Menekan peristiwa pointer saat mulai menarik

Menurut spesifikasi HTML, saat penarikan dimulai, agen pengguna harus mengirim peristiwa yang sesuai ke sumber penarikan untuk menunjukkan bahwa aliran peristiwa penunjuk telah berakhir dan tidak boleh mengharapkan peristiwa lagi dari penunjuk ini. Kode ini diimplementasikan sebagian untuk peristiwa mouse dan sepenuhnya diimplementasikan untuk tarikan sentuh di Android. Dengan fitur ini, Chrome bertujuan untuk sepenuhnya memenuhi persyaratan spesifikasi ini di semua platform lainnya. Praktisnya, ini berarti bahwa setelah penarikan dimulai, sumber penarikan akan menerima peristiwa pointercancel, pointerout, dan pointerleave untuk menunjukkan bahwa aliran peristiwa saat ini telah selesai.

WebRTC Datachannel: Selalu negosiasikan saluran data

Fitur ini menerapkan ekstensi WebRTC, alwaysNegotiateDataChannels, yang menentukan cara aplikasi menegosiasikan saluran data dalam penawaran SDP sebelum membuat saluran data. Bagian ini juga menegosiasikan bagian data m= sebelum bagian audio atau video m dan menggunakannya sebagai 'bagian m= yang ditandai penawar' untuk [BUNDLE].

Artinya, jika Anda membuat RTCPeerConnection dengan alwaysNegotiateDataChannels: true, lalu memanggil createOffer(), penawaran dengan m-line aplikasi di SDP akan dibuat. Contoh:

  const pc = new RTCPeerConnection({
    alwaysNegotiateDataChannels: true});
  const offer = await pc.createOffer();

Jika Anda juga menambahkan transceiver audio dan saluran data, penawaran akan menegosiasikan saluran media aplikasi, diikuti dengan saluran media audio di SDP:

  const pc = new RTCPeerConnection({
    alwaysNegotiateDataChannels: true});
  pc.addTransceiver('audio');
  pc.createDataChannel('somechannel');
  const offer = await pc.createOffer();

Uji coba origin baru

Di Chrome 148, Anda dapat memilih untuk mengikuti uji coba origin baru berikut.

Login Gabungan Agentik

Serangkaian ekstensi FedCM untuk membantu browser yang memiliki kemampuan agen secara aman melogin pengguna ke situs menggunakan akun federasi mereka.

Daftar yang Diizinkan untuk Koneksi

Daftar Izin Koneksi adalah fitur yang dirancang untuk memberikan kontrol eksplisit atas endpoint eksternal dengan membatasi koneksi yang dimulai melalui Fetch API atau API platform web lainnya dari dokumen atau pekerja. Implementasi yang diusulkan mendistribusikan daftar endpoint yang diotorisasi dari server melalui header respons HTTP. Sebelum agen pengguna membuat koneksi apa pun atas nama halaman, agen mengevaluasi tujuan berdasarkan daftar yang diizinkan ini. Koneksi ke endpoint terverifikasi diizinkan, sedangkan koneksi yang gagal mencocokkan entri dalam daftar akan diblokir.

Waktu Container

Container Timing API memungkinkan Anda memantau kapan bagian DOM yang diberi anotasi ditampilkan di layar dan telah menyelesaikan paint awal. Anda dapat menandai subbagian DOM dengan atribut containertiming (mirip dengan elementtiming untuk Element Timing API) dan menerima entri performa saat bagian tersebut telah digambar untuk pertama kalinya. API ini memungkinkan Anda mengukur waktu berbagai komponen di halaman Anda.

Skrip modul CSS deklaratif

Skrip Modul CSS Deklaratif adalah ekstensi dari Skrip Modul CSS berbasis skrip yang ada. Stylesheet deklaratif memungkinkan developer membagikan stylesheet deklaratif dengan root shadow, termasuk root shadow deklaratif. Developer dapat menentukan modul gaya inline dengan <style type="module" specifier="foo"> dan menerapkan modul deklaratif ke shadow DOM deklaratif dengan mereferensikan specifier atau URL, seperti <template shadowrootmode="open" shadowrootadoptedstylesheets="foo">.

HTML dalam kanvas

HTML-in-canvas adalah API baru yang memungkinkan Anda menyesuaikan elemen DOM render langsung ke tekstur kanvas atau WebGL / WebGPU sambil mempertahankan interaktivitas dan aksesibilitas konten. Elemen ini memiliki tiga bagian: atribut untuk mengaktifkan elemen kanvas (layoutsubtree), metode untuk menggambar elemen turunan (2d: drawElementImage, webgl:texElementImage2D, webgpu: copyElementImageToTexture), dan cara untuk memperbarui transformasi elemen dengan benar di layar untuk interaktivitas.

Durasi gaya Long Animation Frames

Fitur ini menambahkan informasi styleDuration dan forcedStyleDuration ke Long Animation Frame API. Hal ini memungkinkan developer membedakan waktu gaya dan tata letak.

OpaqueRange

OpaqueRange merepresentasikan rentang teks aktif dalam nilai kontrol formulir (misalnya, <textarea> atau <input> teks), sehingga developer dapat menggunakan teks nilai dengan API seperti rentang.

Hal ini memungkinkan operasi seperti getBoundingClientRect(), getClientRects(), dan penggunaan dengan CSS Highlights API untuk UI seperti saran inline, sorotan, dan popover yang di-anchor. Hal ini mempertahankan enkapsulasi dengan hanya mengekspos offset nilai (dan menampilkan null untuk startContainer dan endContainer), sehingga endpoint DOM dan struktur internal tidak diekspos.

Mem-parsing petunjuk pemrosesan di HTML

Petunjuk pemrosesan (sintaksis: <?target data>) adalah konstruksi DOM yang ada, yang ditampilkan dalam XML. Konstruksi ini memungkinkan objek node yang bukan elemen memiliki makna semantik untuk pemrosesan dokumen. Misalnya, Anda dapat menggunakannya untuk menunjukkan rentang streaming atau penyorotan tanpa memerlukan elemen DOM baru dan mengubah struktur DOM sejauh menyangkut CSS. Anda juga dapat menggunakannya sebagai direktif untuk parser HTML tentang cara melakukan buffering dan streaming.

Permissions Policy: focus-without-user-activation

Kebijakan ini memberi penyemat kontrol atas fokus terprogram dari konten yang disematkan melalui kebijakan izin focus-without-user-activation. Jika kebijakan ditolak untuk frame, panggilan fokus terprogram (element.focus(), autofocus, window.focus(), dialog.showModal(), dan fokus popover) akan diblokir kecuali jika dipicu oleh aktivasi pengguna. Fokus yang dimulai pengguna, seperti mengklik atau menekan tab, tidak pernah terpengaruh. Anda dapat menetapkan kebijakan melalui header respons HTTP Permissions-Policy atau atribut iframe allow. Delegasi fokus didukung. Frame induk yang memiliki fokus dapat secara terprogram meneruskan fokus ke iframe turunan, meskipun jika kebijakan ditolak oleh turunan. Setelah mendapatkan fokus, frame dapat memindahkan fokus dalam subpohonnya sendiri.

Parameter sampling API perintah

Fitur ini menambahkan parameter pengambilan sampel ke Prompt API. Parameter ini mengontrol cara pengambilan sampel token dari model, yang memberi developer kontrol atas kreativitas atau keacakan output. Selain itu, kode ini menambahkan atribut ke instance LanguageModel untuk membaca nilai yang ditetapkan. Class ini juga menambahkan fungsi LanguageModel statis untuk mendapatkan nilai default dan maksimum dari parameter ini. Implementasi pertama menambahkan parameter temperature dan topK.

Elemen penginstalan HTML aplikasi web

Fitur ini memungkinkan situs secara deklaratif meminta pengguna untuk menginstal aplikasi web. Elemen ini secara opsional menerima dua atribut, yang memungkinkan Anda menginstal konten dari origin yang berbeda.