Mozilla ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠ»Π° ΠΏΠ»Π°Π½Ρ‹ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π² Firefox Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии манифСста Chrome

Компания Mozilla ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΏΠ»Π°Π½ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Firefox Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии манифСста Chrome, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΌ прСдоставляСмыС дополнСниям возмоТности ΠΈ рСсурсы. Π’Ρ€Π΅Ρ‚ΡŒΡ вСрсия манифСста стала ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ ΠΈΠ·-Π·Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ для блокирования Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ обСспСчСния бСзопасности.

Π’ Firefox Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ всС возмоТности ΠΈ ограничСния Π½ΠΎΠ²ΠΎΠ³ΠΎ манифСста, Π² Ρ‚ΠΎΠΌ числС Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ API для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (declarativeNetRequest), Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Chrome Π² Firefox Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старого Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ API webRequest, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½ΠΎΠ²Ρ‹ΠΉ API Π½Π΅ станСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ потрСбностям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… API webRequest. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с дополнСниями Chrome Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ совмСстимости с дополнСниями, завязанными Π½Π° API webRequest.

Напомним, Ρ‡Ρ‚ΠΎ основноС Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΎ Π½ΠΎΠ²Ρ‹ΠΌ манифСстом связано с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния API webRequest, позволявшСго ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ собствСнныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ сСтСвым запросам ΠΈ способныС Π½Π° Π»Π΅Ρ‚Ρƒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ API примСняСтся Π² uBlock Origin ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… дополнСниях для блокирования Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ обСспСчСния бСзопасности. ВмСсто API webRequest ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ своим возмоТностям API declarativeNetRequest, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ доступ ΠΊ встроСнному Π΄Π²ΠΈΠΆΠΊΡƒ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΌΡƒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° Π² зависимости ΠΎΡ‚ условий.

Π’ Firefox ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии манифСста Chrome планируСтся ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ для тСстирования Π² ΠΊΠΎΠ½Ρ†Π΅ 2021 Π³ΠΎΠ΄Π°, Π° Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ манифСста Π½Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ 2022 Π³ΠΎΠ΄Π°. Из особСнностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ манифСста Π² Firefox выдСляСтся:

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ API declarativeNetRequest, Π½ΠΎ с сохранСниСм возмоТности использования старого API webRequest.
  • ИзмСнСниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Cross-origin запросов — Π² соотвСтствии с Π½ΠΎΠ²Ρ‹ΠΌ манифСстом Π½Π° скрипты ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Ρ‚Π΅ ΠΆΠ΅ ограничСния ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ для основной страницы, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ эти скрипты Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли страница Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступа ΠΊ API ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ мСстополоТСния, Ρ‚ΠΎ ΠΈ скрипт дополнСния Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ этот доступ). Π§Π°ΡΡ‚ΡŒ связанных с ограничСниями сross-origin запросов ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡƒΠΆΠ΅ доступна для тСстирования Π² Π½ΠΎΡ‡Π½Ρ‹Ρ… сборках Firefox (развиваСтся, ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Fission, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² about:preferences#experimental) ΠΈ планируСтся для повсСмСстного внСдрСния Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π΅ 2021 Π³ΠΎΠ΄Π°.
  • Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ страницы Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Service workers, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов. ИзмСнСниС ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ для Π½Π°Ρ‡Π°Π»Π° тСстирования.
  • API Π½Π° основС Promise. Firefox ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ API Π² пространствС ΠΈΠΌΡ‘Π½ «browser.*» ΠΈ для Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии манифСста пСрСнСсёт Π΅Π³ΠΎ Π² пространство ΠΈΠΌΡ‘Π½ «chrome.*».
  • Новая гранулированная модСль запроса ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ — Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ смоТСт Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ сразу для всСх страниц (ΡƒΠ±Ρ€Π°Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠ΅ «all_urls»), Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Ρ‚.Π΅. ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ потрСбуСтся ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ дополнСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сайта. Компания Mozilla Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ усилСниСм контроля доступа, Π½ΠΎ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ самим ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ Π»ΠΈ дополнСниям Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ.
  • Π—Π°ΠΏΡ€Π΅Ρ‚ выполнСния ΠΊΠΎΠ΄Π°, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ с Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСрвСров (Ρ€Π΅Ρ‡ΡŒ ΠΏΡ€ΠΎ ситуации, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ выполняСт внСшний ΠΊΠΎΠ΄). Π’ Firefox ΡƒΠΆΠ΅ примСняСтся Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° внСшнСго ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Mozilla Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ отслСТивания Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии манифСста. Для скриптов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ограничСния доступа ΠΊ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ (CSP, Content Security Policy), Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ API userScripts ΠΈ contentScripts Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Service worker.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru