سيبدأ Mozilla في قبول الوظائف الإضافية بناءً على الإصدار الثالث من بيان Chrome

في 21 نوفمبر، سيبدأ دليل AMO (addons.mozilla.org) في قبول الوظائف الإضافية وتوقيعها رقميًا باستخدام الإصدار 109 من بيان Chrome. يمكن اختبار هذه الوظائف الإضافية في الإصدارات الليلية من Firefox. في الإصدارات المستقرة، سيتم تمكين دعم الإصدار 17 من البيان في Firefox 2023، المقرر إطلاقه في 2023 يناير XNUMX. سيتم الحفاظ على دعم النسخة الثانية من البيان في المستقبل المنظور، ولكن في نهاية عام XNUMX، وبعد تقييم ديناميكيات نقل الإضافات إلى النسخة الثالثة من البيان، هناك إمكانية إيقاف دعم النسخة الثانية من البيان سيتم النظر فيها.

يحدد بيان Chrome الإمكانيات والموارد المتاحة للامتدادات المكتوبة باستخدام WebExtensions API. بدءًا من الإصدار 57، تحول Firefox بالكامل إلى استخدام WebExtensions API لتطوير الوظائف الإضافية وتوقف عن دعم تقنية XUL. أتاح الانتقال إلى WebExtensions توحيد تطوير الوظائف الإضافية مع منصات Chrome وOpera وSafari وEdge، وتبسيط عملية نقل الوظائف الإضافية بين متصفحات الويب المختلفة وجعل من الممكن الاستخدام الكامل لوضع العمليات المتعددة العملية (يمكن تنفيذ الوظائف الإضافية لـ WebExtensions في عمليات منفصلة، ​​معزولة عن بقية المتصفح). لتوحيد تطوير الوظائف الإضافية مع المتصفحات الأخرى، يوفر Firefox التوافق الكامل تقريبًا مع الإصدار الثاني من بيان Chrome.

يعمل Chrome حاليًا على الانتقال إلى الإصدار 2024 من البيان، وسيتم إيقاف دعم الإصدار XNUMX في يناير XNUMX. الهدف الرئيسي من التغييرات التي تم إجراؤها في الإصدار الجديد هو تسهيل إنشاء وظائف إضافية آمنة وعالية الأداء، وزيادة صعوبة إنشاء وظائف إضافية غير آمنة وبطيئة. نظرًا لأن الإصدار الثالث من البيان قد تعرض لانتقادات شديدة وسيكسر العديد من حظر المحتوى والوظائف الإضافية للأمان، فقد قررت Mozilla الابتعاد عن التوافق الكامل مع البيان في Firefox وتنفيذ بعض التغييرات بشكل مختلف.

يرتبط عدم الرضا الرئيسي عن الإصدار الثالث من البيان بترجمة webRequest API إلى وضع القراءة فقط، مما جعل من الممكن توصيل معالجاتك الخاصة التي تتمتع بإمكانية الوصول الكامل إلى طلبات الشبكة ويمكنها تعديل حركة المرور بسرعة. يتم استخدام واجهة برمجة التطبيقات هذه في uBlock Origin والعديد من الوظائف الإضافية الأخرى لحظر المحتوى غير المناسب وتوفير الأمان. بدلاً من واجهة برمجة تطبيقات webRequest، يقدم الإصدار الثالث من البيان واجهة برمجة تطبيقات NetRequest ذات قدرة محدودة، والتي توفر الوصول إلى محرك تصفية مدمج يعالج قواعد الحظر بشكل مستقل، ولا يسمح باستخدام خوارزميات التصفية الخاصة به، ولا السماح بوضع قواعد معقدة تتداخل مع بعضها البعض حسب الظروف.

ومن مميزات تنفيذ البيان الجديد في فايرفوكس:

  • تمت إضافة واجهة برمجة تطبيقات تعريفية جديدة لتصفية المحتوى، ولكن على عكس Chrome، لم يتم إيقاف دعم وضع الحظر القديم لواجهة برمجة التطبيقات webRequest.
  • يحدد البيان استبدال صفحات الخلفية بخيار عمال الخدمة، الذي يعمل كعمليات خلفية (عمال خدمة الخلفية). لضمان التوافق في المستقبل، سيدعم Firefox عمال الخدمة، ولكن حاليًا يتم استبدالهم بآلية صفحات الأحداث الجديدة، وهي مألوفة أكثر لمطوري الويب، ولا تتطلب إعادة صياغة كاملة للوظائف الإضافية، وتزيل القيود المرتبطة بـ استخدام عمال الخدمة. ستسمح صفحات الأحداث لإضافات صفحات الخلفية الحالية بالتوافق مع متطلبات الإصدار الثالث من البيان، مع الحفاظ على الوصول إلى جميع الإمكانات اللازمة للعمل مع DOM.
  • نموذج طلب الإذن التفصيلي الجديد - لن يكون من الممكن تنشيط الوظيفة الإضافية لجميع الصفحات مرة واحدة (تمت إزالة إذن "all_urls")، ولكنها ستعمل فقط في سياق علامة التبويب النشطة، أي. سيحتاج المستخدم إلى التأكد من أن الوظيفة الإضافية تعمل لكل موقع. في Firefox، سيتم اعتبار جميع طلبات الوصول إلى بيانات الموقع اختيارية، وسيتم اتخاذ القرار النهائي بشأن منح الوصول من قبل المستخدم، الذي سيكون قادرًا على تحديد الوظيفة الإضافية بشكل انتقائي لمنح الوصول إلى بياناته على موقع معين.

    لإدارة الأذونات، تمت إضافة زر "Unified Extensions" جديد إلى الواجهة، والذي يمكن اختباره بالفعل في الإصدارات الليلية من Firefox. يوفر الزر وسيلة للتحكم المباشر في المواقع التي يمكن لكل وظيفة إضافية الوصول إليها — ويمكن للمستخدم منح وإلغاء وصول الوظيفة الإضافية إلى أي موقع. تنطبق إدارة الأذونات فقط على الوظائف الإضافية المستندة إلى الإصدار الثالث من البيان؛ وبالنسبة للوظائف الإضافية المستندة إلى الإصدار الثاني من البيان، لا يتم تنفيذ التحكم الدقيق في الوصول إلى المواقع.

    سيبدأ Mozilla في قبول الوظائف الإضافية بناءً على الإصدار الثالث من بيان Chrome
  • التغيير في التعامل مع الطلبات عبر الأصل - وفقًا للبيان الجديد، ستخضع البرامج النصية لمعالجة المحتوى لنفس قيود الأذونات كما هو الحال بالنسبة للصفحة الرئيسية التي تم تضمين هذه البرامج النصية فيها (على سبيل المثال، إذا لم يكن للصفحة حق الوصول إلى location API، فإن الوظائف الإضافية للبرنامج النصي لن تحصل أيضًا على هذا الوصول). تم تنفيذ هذا التغيير بالكامل في Firefox.
  • واجهة برمجة التطبيقات المستندة إلى الوعد. يدعم Firefox واجهة برمجة التطبيقات هذه، وبالنسبة للإصدار الثالث من البيان، فإنه سينقله إلى مساحة الاسم "chrome.*".
  • منع تنفيذ التعليمات البرمجية التي تم تنزيلها من خوادم خارجية (نحن نتحدث عن المواقف التي يتم فيها تحميل الوظيفة الإضافية وتنفيذ تعليمات برمجية خارجية). يستخدم Firefox حظر التعليمات البرمجية الخارجية وقد أضاف مطورو Mozilla تقنيات إضافية لتتبع تنزيل التعليمات البرمجية المقدمة في الإصدار الثالث من البيان. بالنسبة للبرامج النصية لمعالجة المحتوى، يتم توفير سياسة منفصلة لتقييد الوصول إلى المحتوى (CSP، سياسة أمان المحتوى).

المصدر: opennet.ru

إضافة تعليق