BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Mozilla Will Continue to Support Existing Ad Blockers, Partially Implementing Extension Manifest V3

Mozilla Will Continue to Support Existing Ad Blockers, Partially Implementing Extension Manifest V3

This item in japanese

Bookmarks

Mozilla will continue to support existing browser extensions which prevent ads from being displayed, unlike Google, which in its draft Extensions Manifest v3, proposes changes to the extensions mechanism which may break browser-based ad-blockers.

Google proposed in early 2019 an update to its Extensions Manifest v2, with a view to alleviating security and privacy issues related to its Chrome browser extensions. The manifest defines the scope of capabilities of Chrome extensions.

Google points at the fact that, with Extensions Manifest V2’s Web Request API, any extension can silently have access to all of a user’s Chrome traffic data. 42% of malicious extensions reportedly do exploit the API for ill-intended purposes.

A notable change, thus, in the draft Extensions Manifest v3, is that extensions would no longer be allowed to leverage the blocking capabilities of the Web Request API, and would instead use a stricter Declarative Net Request API. With the new manifest, extensions can only monitor browser connections, but are no longer able to modify the content of the data before it is displayed.

Popular extensions like uBlock Origin and Ghostery make extensive use of the Web Request API to intercept ads and trackers before they are downloaded on the host computer. Other extensions, like Tampermonkey, are likely to be affected by the API changes.

In response to the initial comments from extension developers and its own testing, Google adjusted some of the parameters of the V3 API, but the overall change proposal remains mostly stable. Google states:

[The new manifest] has been a controversial change since the Web Request API is used by many popular extensions, including ad blockers. We are not preventing the development of ad blockers or stopping users from blocking ads. Instead, we want to help developers, including content blockers, write extensions in a way that protects users’ privacy.

Mozilla’s Caitlin Neiman, community manager for Mozilla Add-ons (extensions), announced that Firefox will continue to support the blocking webRequest API:

We have no immediate plans to remove blocking webRequest and are working with add-on developers to gain a better understanding of how they use the APIs in question to help determine how to best support them.
[…] Once Google has finalized their v3 changes and Firefox has implemented the parts that make sense for our developers and users, we will provide ample time and documentation for extension developers to adapt.

Neiman emphasized that, while maintaining compatibility with Chrome is important for their extension developers and Firefox users, Mozilla is under no obligation to implement all the changes brought by Google’s proposal. As a matter of fact, Mozilla’s equivalent WebExtensions API already departs in several areas from the Extensions Manifest v2. 

Mozilla however will implement parts of the Extension Manifest V3 and acknowledges the need for increased extension security. As a matter of fact, a week ago, Mozilla removed Ad-Blocker, an extension guilty of violating security rules by running remote code.

Some users have reacted positively to the news, while others noted with interest that Mozilla’s decision to not discontinue the blocking API was framed as temporary.

While Chromium-based browser makers seemingly have less leeway, some of them have expressed their intent to continue to facilitate ad-blocking capabilities.

Brave and Opera, two Chromium-based browsers, include ad-blocking functionality by default and the functionality will continue to operate as usual, regardless of the new Manifest file for extensions.

Vivaldi, another Chromium-based browser, explained that it will seek a work-around:

For the time being, Google’s implementation [of the Extension Manifest V3] is not final and will likely change. It’s also possible the alternative API will eventually cover the use cases of the webRequest API.
The good news is that whatever restrictions Google adds, at the end we can remove them. Our mission will always be to ensure that you have the choice.

Extension Manifest V3 may ship in a stable version of Chrome in early 2020. The Chrome team currently strives to finalize a Developer Preview of Manifest v3.

Mozilla will provide ongoing updates about occurring breaking changes on the add-ons blog.

Rate this Article

Adoption
Style

BT