Mozilla akan mulai menerima add-on berdasarkan manifesto Chrome versi ketiga

Pada tanggal 21 November, direktori AMO (addons.mozilla.org) akan mulai menerima dan menandatangani add-on secara digital menggunakan manifes Chrome versi 109. Pengaya ini dapat diuji di Firefox versi malam. Dalam rilis stabil, dukungan untuk manifes versi 17 akan diaktifkan di Firefox 2023, yang dijadwalkan pada 2023 Januari XNUMX. Dukungan untuk manifesto versi kedua akan dipertahankan di masa mendatang, tetapi pada akhir tahun XNUMX, setelah menilai dinamika pengalihan penambahan ke manifesto versi ketiga, kemungkinan penghentian dukungan untuk manifesto versi kedua akan dipertimbangkan.

Manifes Chrome menentukan kemampuan dan sumber daya yang tersedia untuk ekstensi yang ditulis menggunakan WebExtensions API. 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 2024, dan dukungan untuk versi XNUMX akan dihentikan pada Januari XNUMX. Tujuan utama dari perubahan yang dilakukan pada versi baru ini adalah untuk mempermudah pembuatan add-on yang aman dan berkinerja tinggi, serta mempersulit pembuatan add-on yang tidak aman dan lambat. Karena manifes versi ketiga mendapat kecaman dan akan memecahkan banyak pemblokiran konten dan add-on keamanan, Mozilla telah memutuskan untuk tidak sepenuhnya kompatibel 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.

Di antara fitur penerapan manifes baru di Firefox:

  • API pemfilteran konten deklaratif baru telah ditambahkan, namun tidak seperti Chrome, dukungan untuk mode pemblokiran lama API webRequest belum dihentikan.
  • Manifes mendefinisikan penggantian halaman latar belakang dengan opsi Service Worker, yang berjalan sebagai proses latar belakang (Background Service Workers). Untuk memastikan kompatibilitas di masa depan, Firefox akan mendukung Service Worker, namun saat ini mereka digantikan oleh 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 Pekerja Layanan. 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.
  • 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.

    Untuk mengelola izin, tombol “Ekstensi Terpadu” baru telah ditambahkan ke antarmuka, yang sudah dapat diuji di Firefox versi malam. Tombol ini menyediakan sarana untuk secara langsung mengontrol situs mana yang dapat diakses oleh setiap add-on—pengguna dapat memberikan dan mencabut akses add-on ke situs mana pun. Manajemen izin hanya berlaku untuk add-on berdasarkan manifes versi ketiga; untuk add-on berdasarkan manifes versi kedua, kontrol akses terperinci ke situs tidak dilakukan.

    Mozilla akan mulai menerima add-on berdasarkan manifesto Chrome versi ketiga
  • 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 mendukung API ini dan untuk manifes versi ketiga akan memindahkannya ke namespace “chrome.*”.
  • Melarang eksekusi kode yang diunduh dari server eksternal (kita berbicara tentang situasi ketika add-on memuat dan mengeksekusi kode eksternal). Firefox 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