Google backtracks on Chrome modifications that would have crippled ad blockers

By Catalin Cimpanu for Between the Lines | February 16, 2019 -- 19:34 GMT (11:34 PST) | Topic: Developer

Chrome Logo
Image: Google // Composition: ZDNet

A study analyzing the performance of Chrome ad blocker extensions published on Friday has proven wrong claims made by Google developers last month, when a controversy broke out surrounding their decision to modify the Chrome browser in such a way that would have eventually killed off ad blockers and many other extensions.

The study, carried out by the team behind the Ghostery ad blocker, found that ad blockers had sub-millisecond impact on Chrome's network requests that could hardly be called a performance hit.

Hours after the Ghostery team published its study and benchmark results, the Chrome team backtracked on their planned modifications.

At the root of Ghostery's benchmark into ad blocker performance stands Manifest V3, a new standard for developing Chrome extensions that Google announced last October.

The long-winded document contained many new rules about what Chrome functions and APIs an extension should use. One of the modifications was for extensions that needed to intercept and work with network requests. Google wanted extension developers to use the new DeclarativeNetRequest API instead of the older webRequest API.

This new API came with limitations that put a muzzle on the number of network requests an extension could access. It took some time before ad blocker developers caught on to what this meant, but when they did, all hell broke loose, with both extension developers and regular users accusing the browser maker of trying to kill third-party ad blockers for the detriment of Chrome's new built-in ad blocker (which wouldn't be impacted).

Chrome engineers justified the change by citing the performance impact of not having a maximum value for the number of network requests an extension could access.

But the Ghostery team disagreed with this assessment.

"This work [referring to the study] was motivated by one of the claims formulated in the Manifest V3 proposal of the Chromium project: 'the extension then performs arbitrary (and potentially very slow) JavaScript', talking about content-blockers' ability to process all network requests," said Cliqz, the company behind the Ghostery ad blocker.

"From the measurements, we do not think this claim holds, as all popular content-blockers are already very efficient and should not incur any noticeable slow-down for users," they added.

Their study --which analyzed the network performance of ad blockers such as uBlock Origin, Adblock Plus, Brave, DuckDuckGo and Cliqz'z Ghostery-- found sub-millisecond median decision times per request, showing quite the opposite of what the Chrome team claimed.

Ghostery benchmark results
Image: Cliqz // Composition: ZDNet

Following the publication of this study, Google engineers made it official on a Google Groups posting hours later, announcing a relaxation of the Manifest V3 changes that would have impacted ad blockers.

"Another clarification is that the webRequest API is not going to be fully removed as part of Manifest V3," said Chrome engineer Devlin Cronin [emphasis his].

"The extensions ecosystem on Chrome is vibrant and varied, and enables myriad use cases that would otherwise be impossible," Cronin added. "We are committed to preserving that ecosystem and ensuring that users can continue to customize the Chrome browser to meet their needs. This includes continuing to support extensions, including content blockers, developer tools, accessibility features, and many others. It is not, nor has it ever been, our goal to prevent or break content blocking."

Chrome's decision to ship the ad-blocker-breaking features was doomed from the start. Regular users have grown attached to their ad blockers, and for obvious reasons. Ad blockers may come with some sort of performance impact, but they also have benefits, which haven't gone unnoticed by end users.

A May 2018 study from the same Ghostery team found that pages tend to load up to twice as fast when using an ad blocker.

Another study released this week by software engineer Patrick Hulce showed that advertising code accounts for the largest chunk of the JavaScript execution tasks performed by a browser --giving users a good reason to block them.

Hulce study results
Image: Patrick Hulce

A DebugBear study from December 2018 also showed that ad blockers don't impact Chrome performance as much as people think, with other extensions bringing a bigger hit to CPU consumption, page download size, and user experience.

DebugBear study results
Image: DebugBear

More browser coverage: