Baru-baru ini, kami mengumumkan perubahan pada jadwal penghentian penggunaan Manifes V2. Meskipun kami tetap berkomitmen kuat pada Manifes V3, kami mengakui masih ada banyak pekerjaan yang perlu kami lakukan.
- Sebelum mengumumkan jadwal baru penghentian, kami telah selesai mengatasi kesenjangan platform yang diprioritaskan dan menutup bug kritis yang didokumentasikan di halaman ini.
- Kami memberi developer waktu untuk membuat build, dengan menjamin setidaknya enam bulan antara pengumuman linimasa dan eksperimen yang tertunda untuk menghapus dukungan Manifes V2.
Menutup kesenjangan platform
Kami berkomitmen untuk menutup kesenjangan berikut sebelum mengumumkan linimasa penghentian penggunaan Manifes V2 yang baru:
Masalah dikumpulkan berdasarkan masukan dari partner, laporan bug, dan developer. Kami akan melanjutkan upaya berkelanjutan kami untuk meningkatkan stabilitas dan performa platform ekstensi secara keseluruhan.
Saat ini tidak ada masalah terbuka yang dianggap sebagai celah platform yang kritis.
Masalah berikut telah ditangani baru-baru ini:
- Dukungan untuk Penanganan file di ChromeOS sebagai pengganti
chrome.fileBrowserHandler
[Chrome 120]. - Dukungan Skrip Pengguna: Mengizinkan pendaftaran skrip konten dengan kode arbitrer menggunakan userScripts API baru [Chrome 120].
- Keepalive pekerja layanan yang kuat tambahan untuk operasi tertentu yang memerlukan waktu lebih dari lima menit.
- Ditambahkan di Chrome 116 untuk
permissions.request()
,desktopCapture.chooseDesktopMedia()
,identity.launchWebAuthFlow()
, danmanagement.uninstall()
. - Ditambahkan di Chrome 118 untuk
chrome.debugger
- Ditambahkan di Chrome 116 untuk
- Meningkatkan jumlah kumpulan aturan statis dan aktif untuk Declarative Net Request (DNR). Kumpulan aturan statis yang diaktifkan meningkat dari 10 menjadi 50 dan total kumpulan aturan statis dari 50 menjadi 100 [Chrome 120].
- Perluas fungsi Dokumen di luar layar untuk mendukung lebih banyak alasan terkait penggunaan dokumen di balik layar. Menambahkan
GEOLOCATION
di Chrome 116. - Meningkatkan dukungan untuk
chrome.tabCapture
API [Chrome 116]:- Mendukung pemanggilan
getMediaStreamId()
dari pekerja layanan. - Mendukung untuk mendapatkan
MediaStream
dari ID aliran data dalam dokumen di luar layar.
- Mendukung pemanggilan
- Memperpanjang masa aktif pekerja layanan saat ada koneksi
WebSocket
yang aktif [Chrome 116].
Pertanyaan umum (FAQ) terkait Manifes V3
T: Apakah kami berencana untuk mendukung Service Worker persisten?
J: Salah satu alasan utama untuk bermigrasi dari skrip latar belakang ke pekerja layanan adalah model pemrograman berbasis peristiwa yang lebih hemat memori yang berasal dari sifat efemeral pekerja layanan. Akibatnya, kami tidak berencana untuk mendukung pekerja layanan yang persisten. Namun, untuk memenuhi kebutuhan khusus developer ekstensi, kami akan terus melakukan banyak peningkatan pada pekerja layanan. Pada khususnya:
- Semua peristiwa ekstensi dan panggilan API akan memperpanjang masa aktif pekerja layanan.
- Kasus penggunaan tertentu seperti pesan native akan membuat pekerja layanan ekstensi tetap aktif selama lebih dari 5 menit.
T: Apakah ada cara untuk mengakses DOM di pekerja layanan?
J: Kami mengikuti pendekatan yang diambil oleh Platform Web untuk tidak menyertakan akses DOM dalam pekerja web (yang mencakup pekerja layanan). Untuk mendukung kasus penggunaan yang memerlukan akses DOM latar belakang dari pekerja layanan, kami telah memperkenalkan kemungkinan untuk mendelegasikan pekerjaan latar belakang ke Dokumen offscreen berumur pendek yang menyediakan akses DOM penuh.
T: Apakah ada cara untuk mendukung kode jarak jauh di Manifes V3?
J: Untuk membuat Ekstensi Chrome lebih aman, kami akan terus melarang eksekusi kode arbitrer yang dihosting dari jarak jauh di ekstensi Chrome. Namun, ini bukan berarti kami melarang semua jenis eksekusi kode dinamis. Kami masih mendukung berbagai opsi untuk mengeksekusi kode secara dinamis di ekstensi Chrome:
- Dukungan untuk
eval()
di ekstensi DevTools - Dukungan untuk skrip pengguna.
- Mengeksekusi kode yang dihosting dari jarak jauh dalam iframe sandbox
- File konfigurasi yang dihosting jarak jauh yang dapat ditafsirkan saat runtime di paket ekstensi. Namun, kemungkinan jalur eksekusi harus ditentukan sebelumnya.
T: Ekstensi Manifes V2 Saya mengandalkan webRequestBlocking yang tidak didukung di Manifes V3. Bagaimana cara agar saya dapat terus memberikan fungsi yang sama di Manifes V3?
J: Kami yakin bahwa sebagian besar kasus penggunaan pemblokiran permintaan dapat diselesaikan dengan declarativeNetRequest
API baru, yang memiliki manfaat tambahan untuk menghindari overhead performa komunikasi antar-proses, mengeksekusi kode pada setiap permintaan, atau memerlukan proses ekstensi aktif pada saat permintaan. Namun, untuk kasus penggunaan perusahaan (atau pendidikan) yang kompleks, pemblokiran permintaan dinamis masih didukung.
Apakah kami melewatkan sesuatu? Harap beri tahu kami.