Firefox telah mulai menguji manifes Chrome versi ketiga

Mozilla telah mengumumkan bahwa mereka telah mulai menguji implementasi Firefox terhadap manifes Chrome versi ketiga, yang menentukan kemampuan dan sumber daya yang tersedia untuk add-on yang ditulis menggunakan WebExtensions API. Untuk menguji manifes versi ketiga di Firefox 101 beta, Anda harus menyetel parameter "extensions.manifestV3.enabled" ke true dan parameter "xpinstall.signatures.required" ke false di halaman about:config. Untuk menginstal add-on, Anda dapat menggunakan antarmuka about:debugging. Manifes versi ketiga dijadwalkan akan diaktifkan secara default pada akhir tahun ini.

Mulai versi 57, Firefox sepenuhnya beralih menggunakan WebExtensions API untuk mengembangkan add-on dan berhenti mendukung teknologi XUL. Transisi ke WebExtensions memungkinkan untuk menyatukan pengembangan add-on dengan platform Chrome, Opera, Safari dan Edge, menyederhanakan porting add-on antara browser web yang berbeda dan memungkinkan untuk sepenuhnya menggunakan mode multi-proses dari operasi (add-on WebExtensions dapat dijalankan dalam proses terpisah, diisolasi dari browser lainnya). Untuk menyatukan pengembangan add-on dengan browser lain, Firefox menyediakan kompatibilitas hampir penuh dengan manifes Chrome versi kedua.

Chrome saat ini sedang berupaya untuk berpindah ke manifes versi 2023, dan dukungan untuk versi XNUMX akan dihentikan pada Januari XNUMX. Karena manifes versi ketiga mendapat kecaman dan akan memecahkan banyak pemblokiran konten dan add-on keamanan, Mozilla telah memutuskan untuk meninggalkan praktik memastikan kompatibilitas penuh dengan manifes di Firefox dan menerapkan beberapa perubahan secara berbeda.

Ketidakpuasan utama dengan manifesto versi ketiga terkait dengan terjemahan ke mode baca-saja dari webRequest API, yang memungkinkan untuk menghubungkan penangan Anda sendiri yang memiliki akses penuh ke permintaan jaringan dan dapat mengubah lalu lintas dengan cepat. API ini digunakan di uBlock Origin dan banyak add-on lainnya untuk memblokir konten yang tidak pantas dan memberikan keamanan. Alih-alih API webRequest, versi ketiga manifes menawarkan API deklaratifNetRequest berkemampuan terbatas, yang menyediakan akses ke mesin pemfilteran bawaan yang secara independen memproses aturan pemblokiran, tidak mengizinkan penggunaan algoritme pemfilteran sendiri, dan tidak memungkinkan penetapan aturan rumit yang saling tumpang tindih tergantung pada kondisi.

Dalam implementasi manifes versi ketiga yang diusulkan di Firefox, API deklaratif baru untuk pemfilteran konten telah ditambahkan, tetapi tidak seperti Chrome, mereka tidak berhenti mendukung mode pemblokiran lama dari pengoperasian API webRequest. Fitur lain dari implementasi manifes baru di Firefox meliputi:

  • Manifes mendefinisikan penggantian halaman latar belakang dengan opsi Service Worker, yang berjalan sebagai proses latar belakang (Background Service Workers). Untuk memastikan kompatibilitas, Firefox akan menerapkan persyaratan ini, namun juga akan menawarkan mekanisme Halaman Acara baru, yang lebih familiar bagi pengembang web, tidak memerlukan pengerjaan ulang add-on secara menyeluruh, dan menghilangkan batasan yang terkait dengan penggunaan Service Worker . Halaman Peristiwa akan memungkinkan penambahan halaman latar belakang yang ada agar sesuai dengan persyaratan manifes versi ketiga, sambil mempertahankan akses ke semua kemampuan yang diperlukan untuk bekerja dengan DOM. Dalam implementasi manifes yang tersedia untuk pengujian di Firefox, saat ini hanya Halaman Acara yang didukung, dan dukungan untuk solusi berdasarkan Service Worker dijanjikan akan ditambahkan nanti. Apple mendukung proposal tersebut dan menerapkan Halaman Acara di Pratinjau Teknologi Safari 136.
  • Model permintaan izin granular baru - add-on tidak akan dapat diaktifkan untuk semua halaman sekaligus (izin β€œall_urls” telah dihapus), tetapi hanya akan berfungsi dalam konteks tab aktif, mis. pengguna perlu mengonfirmasi bahwa add-on berfungsi untuk setiap situs. Di Firefox, semua permintaan untuk mengakses data situs akan dianggap opsional, dan keputusan akhir mengenai pemberian akses akan dibuat oleh pengguna, yang akan dapat secara selektif memutuskan add-on mana yang akan memberikan akses ke data mereka di situs tertentu.
  • Perubahan dalam penanganan permintaan Lintas Asal - sesuai dengan manifes baru, skrip pemrosesan konten akan tunduk pada batasan izin yang sama seperti untuk laman utama tempat skrip ini disematkan (misalnya, jika laman tidak memiliki akses ke lokasi API, maka add-on skrip juga tidak akan menerima akses ini). Perubahan ini diterapkan sepenuhnya di Firefox.
  • API berbasis janji. Firefox sudah mendukung API ini dan akan memindahkannya ke namespace β€œchrome.*” untuk manifes versi ketiga.
  • Melarang eksekusi kode yang diunduh dari server eksternal (kita berbicara tentang situasi ketika add-on memuat dan mengeksekusi kode eksternal). Firefox sudah menggunakan pemblokiran kode eksternal, dan pengembang Mozilla telah menambahkan teknik pelacakan pengunduhan kode tambahan yang ditawarkan dalam manifes versi ketiga. Untuk skrip pemrosesan konten, kebijakan pembatasan akses konten terpisah (CSP, Kebijakan Keamanan Konten) disediakan.

Sumber: opennet.ru

Tambah komentar