Firefox បានចាប់ផ្តើមសាកល្បងកំណែទីបីនៃ Chrome manifest

Компания Mozilla объявила о начале тестирования реализации в Firefox третьей версии манифеста Chrome, определяющей возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Для тестирования третьей версии манифеста в бета-версии Firefox 101 на странице about:config следует установить параметр «extensions.manifestV3.enabled» в значение true, а параметр «xpinstall.signatures.required» в значение false. Для установки дополнений можно использовать интерфейс about:debugging. Включение третьей версии манифеста по умолчанию запланировано на конец года.

Начиная с версии 57 Firefox полностью перешёл на использование API WebExtensions для разработки дополнений и прекратил поддержку технологии XUL. Переход на WebExtensions позволил унифицировать разработку дополнений с платформами Chrome, Opera, Safari и Edge, упростил портирование дополнений между различными web-браузерами и дал возможность полноценно использовать многопроцессный режим работы (дополнения WebExtensions могут выполняться в отдельных процессах, изолированно от остальных частей браузера). Для унификации разработки дополнений с остальными браузерами в Firefox обеспечивается почти полная совместимость со второй версией манифеста Chrome.

В настоящее время в Chrome ведётся работа по переходу на третью версию манифеста, а поддержка второй версии будет прекращена в январе 2023 года. Так как третья версия манифеста стала объектом критики и приведёт к нарушению работы многих дополнений для блокирования нежелательного контента и обеспечения безопасности, компания Mozilla решила отойти от практики обеспечения полной совместимости с манифестом в Firefox и реализовать иначе некоторые изменения.

ការមិនពេញចិត្តចម្បងជាមួយកំណែទីបីនៃ manifesto គឺទាក់ទងនឹងការបកប្រែទៅជារបៀបអានបានតែ webRequest API ដែលធ្វើឱ្យវាអាចភ្ជាប់អ្នកដោះស្រាយផ្ទាល់របស់អ្នកដែលមានសិទ្ធិចូលដំណើរការពេញលេញទៅនឹងសំណើបណ្តាញ និងអាចកែប្រែចរាចរណ៍បានភ្លាមៗ។ API នេះត្រូវបានប្រើនៅក្នុង uBlock Origin និងកម្មវិធីបន្ថែមជាច្រើនទៀតដើម្បីទប់ស្កាត់មាតិកាមិនសមរម្យ និងផ្តល់សុវត្ថិភាព។ ជំនួសឱ្យ webRequest API កំណែទីបីនៃ manifest ផ្តល់នូវ declarativeNetRequest API ដែលមានសមត្ថភាពមានកំណត់ ដែលផ្តល់នូវការចូលប្រើម៉ាស៊ីនត្រងដែលភ្ជាប់មកជាមួយដែលដំណើរការដោយឯករាជ្យនូវច្បាប់ទប់ស្កាត់ មិនអនុញ្ញាតឱ្យប្រើក្បួនដោះស្រាយតម្រងផ្ទាល់ខ្លួនរបស់វា និងមិន អនុញ្ញាតឱ្យកំណត់ច្បាប់ស្មុគស្មាញដែលត្រួតលើគ្នាអាស្រ័យលើលក្ខខណ្ឌ។

В предложенной в Firefox реализации третьей версии манифеста добавили новый декларативный API фильтрации контента, но в отличие от Chrome не стали прекращать поддержку старого блокирующего режима работы API webRequest. Среди других особенностей реализации нового манифеста в Firefox:

  • В манифесте определена замена фоновых страниц на вариант Service Workers, работающий в виде фоновых процессов (Background Service Workers). Для обеспечения совместимости в Firefox будет реализовано данное требование, но дополнительно предложен новый механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM. В доступной для тестирования в Firefox реализации манифеста пока поддерживаются только Event Pages, а поддержку решения на базе Service Workers обещают добавить позднее. Предложение поддержала компания Apple и реализовала Event Pages в выпуске Safari Technology Preview 136.
  • គំរូសំណើការអនុញ្ញាតជាក្រឡាថ្មី - កម្មវិធីបន្ថែមនឹងមិនអាចធ្វើឱ្យសកម្មសម្រាប់ទំព័រទាំងអស់ក្នុងពេលតែមួយបានទេ (ការអនុញ្ញាត "all_urls" ត្រូវបានដកចេញ) ប៉ុន្តែនឹងដំណើរការតែក្នុងបរិបទនៃផ្ទាំងសកម្ម ពោលគឺឧ។ អ្នកប្រើប្រាស់នឹងត្រូវបញ្ជាក់ថាកម្មវិធីបន្ថែមដំណើរការសម្រាប់គេហទំព័រនីមួយៗ។ នៅក្នុង Firefox សំណើទាំងអស់ដើម្បីចូលប្រើទិន្នន័យគេហទំព័រនឹងត្រូវបានចាត់ទុកថាជាជម្រើស ហើយការសម្រេចចិត្តចុងក្រោយលើការផ្តល់សិទ្ធិចូលប្រើប្រាស់នឹងធ្វើឡើងដោយអ្នកប្រើប្រាស់ដែលនឹងអាចជ្រើសរើសដោយជ្រើសរើសនូវកម្មវិធីបន្ថែមណាមួយដើម្បីផ្តល់សិទ្ធិចូលប្រើទិន្នន័យរបស់ពួកគេនៅលើគេហទំព័រជាក់លាក់មួយ។
  • ការផ្លាស់ប្តូរក្នុងការដោះស្រាយសំណើឆ្លងប្រភពដើម - អនុលោមតាមការបង្ហាញថ្មី ស្គ្រីបដំណើរការមាតិកានឹងស្ថិតនៅក្រោមការរឹតបន្តឹងការអនុញ្ញាតដូចគ្នាចំពោះទំព័រមេដែលស្គ្រីបទាំងនេះត្រូវបានបង្កប់ (ឧទាហរណ៍ ប្រសិនបើទំព័រនោះមិនមានសិទ្ធិចូលប្រើ ទីតាំង API បន្ទាប់មកកម្មវិធីបន្ថែមស្គ្រីបនឹងមិនទទួលបានការចូលប្រើនេះទេ)។ ការផ្លាស់ប្តូរនេះត្រូវបានអនុវត្តយ៉ាងពេញលេញនៅក្នុង Firefox ។
  • API на основе Promise. Firefox уже поддерживает данный API и для третьей версии манифеста перенесёт его в пространство имён «chrome.*».
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox уже применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់