In Firefox is begonnen met het testen van de derde versie van de Chrome-manifest.

Mozilla heeft aangekondigd te beginnen met het testen van de implementatie van de derde versie van het Chrome-manifest in Firefox, dat de mogelijkheden en bronnen definieert die beschikbaar zijn voor extensies geschreven met behulp van de WebExtensions API. Voor het testen van de derde versie van het manifest in de bètaversie van Firefox 101 moet de parameter "extensions.manifestV3.enabled" op true worden gezet en de parameter "xpinstall.signatures.required" op false op de pagina about:config. Voor het installeren van extensies kan de interface about:debugging worden gebruikt. Het standaard inschakelen van de derde versie van het manifest is gepland voor het einde van het jaar.

Vanaf versie 57 is Firefox volledig overgestapt op het gebruik van de WebExtensions API voor de ontwikkeling van extensies en is de ondersteuning voor de XUL-technologie stopgezet. De overstap naar WebExtensions heeft het mogelijk gemaakt om de ontwikkeling van extensies te uniformiseren met de platforms Chrome, Opera, Safari en Edge, het heeft het porteren van extensies tussen verschillende webbrowser vereenvoudigd en biedt de mogelijkheid om volledig gebruik te maken van de multiprocesmodus (WebExtensions-extensies kunnen in afzonderlijke processen draaien, geïsoleerd van de andere delen van de browser). Voor de uniformiteit van de extensieontwikkeling met andere browsers biedt Firefox bijna volledige compatibiliteit met de tweede versie van het Chrome-manifest.

Momenteel is Chrome bezig met de overgang naar de derde versie van het manifest, terwijl de ondersteuning voor de tweede versie in januari 2023 zal worden stopgezet. Aangezien de derde versie van het manifest onderwerp van kritiek is geworden en zal leiden tot verstoringen in de werking van veel extensies voor het blokkeren van ongewenste inhoud en het waarborgen van de veiligheid, heeft Mozilla besloten af te wijken van de praktijk om volledige compatibiliteit met het manifest in Firefox te waarborgen en bepaalde wijzigingen anders te implementeren.

De belangrijkste onvrede over versie drie van het manifest heeft te maken met de overstap naar een alleen-lezen modus voor de API webRequest, die het mogelijk maakte om eigen handlers aan te sluiten met volledige toegang tot netwerkverzoeken en die in realtime verkeer kon aanpassen. Deze API wordt toegepast in uBlock Origin en veel andere extensies voor het blokkeren van ongewenste inhoud en het waarborgen van de veiligheid. In plaats van de API webRequest is er in versie drie van het manifest een beperkt API declarativeNetRequest voorgesteld, dat toegang biedt tot de ingebouwde filterengine, die de blokkeringsregels zelfstandig verwerkt, geen eigen filteralgoritmen toestaat en geen complexe regels toestaat die elkaar kunnen overlappen afhankelijk van de voorwaarden.

In de door Firefox voorgestelde implementatie van de derde versie van het manifest is een nieuwe declaratieve API voor het filteren van inhoud toegevoegd, maar in tegenstelling tot Chrome is de ondersteuning voor de oude blokkeringsmodus van de webRequest API niet stopgezet. Onder andere kenmerken van de implementatie van het nieuwe manifest in Firefox:

  • In het manifest is de vervanging van achtergrondpagina's bepaald door de variant Service Workers, die als achtergrondprocessen (Background Service Workers) functioneren. Om de compatibiliteit in Firefox te waarborgen, zal deze vereiste worden geïmplementeerd, maar ook een nieuw mechanisme genaamd Event Pages worden voorgesteld, dat vertrouwd is voor webontwikkelaars, geen volledige herwerking van extensies vereist en de beperkingen van Service Workers wegneemt. Event Pages maakt het mogelijk om bestaande extensies met achtergrondpagina's aan de eisen van de derde versie van het manifest te voldoen, terwijl de toegang tot alle mogelijkheden die nodig zijn voor DOM-werkzaamheden behouden blijft. In de beschikbare testimplementatie van het manifest in Firefox worden momenteel alleen Event Pages ondersteund, en de ondersteuning voor de op Service Workers gebaseerde oplossing zal later worden toegevoegd. Dit voorstel is ondersteund door Apple, die Event Pages heeft geïmplementeerd in de release van Safari Technology Preview 136.
  • Het nieuwe gedetailleerde machtigingsaanvraagmodel – een extensie kan niet meer direct voor alle pagina's worden geactiveerd (de machtiging 'all_urls' is verwijderd), maar werkt alleen in de context van het actieve tabblad, wat betekent dat de gebruiker het gebruik van de extensie voor elke website moet bevestigen. In Firefox worden alle verzoeken om toegang tot sitegegevens beschouwd als optioneel, en de uiteindelijke beslissing over het verlenen van toegang wordt genomen door de gebruiker, die selectief kan beslissen welke extensie toegang krijgt tot zijn gegevens op die of gene site.
  • Wijzigingen in de afhandeling van Cross-origin verzoeken - volgens het nieuwe manifest zijn dezelfde machtigingsbeperkingen van toepassing op content-scripts als op de hoofdpagina waarin deze scripts zijn ingebed (bijvoorbeeld, als de pagina geen toegang heeft tot de API voor locatiebepaling, dan heeft het extensiescript ook geen toegang). Deze wijziging is volledig geïmplementeerd in Firefox.
  • API op basis van Promise. Firefox ondersteunt deze API al en voor de derde versie van het manifest zal deze worden verplaatst naar de namespace 'chrome.*'.
  • Verbod op het uitvoeren van code die van externe bronnen is geladen servers (het gaat om situaties waarin een extensie externe code laadt en uitvoert). In Firefox wordt al de blokkering van externe code toegepast en de ontwikkelaars van Mozilla hebben aanvullende technieken voor het volgen van code-downloads toegevoegd die zijn voorgesteld in de derde versie van het manifest. Voor contentverwerkingsscripts is er een aparte toegangsbeperkingsbeleid voor content (CSP, Content Security Policy) gepresenteerd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster