Tuesday, 22 January 2019

Chrome May Get Faster Ad Blocking While Breaking uBlock Origin

Ad blocker uBlock Origin “can no longer exist” if a proposed change to Chrome goes through. That’s according to Raymond Hill, the developer of uBlock Origin and uMatrix, in a comment on Chromium’s bug tracker.

As spotted by The Register, Google engineers are proposing this change in the Chromium project’s bug tracker. Chromium is the open-source browser that forms the basis for Google Chrome, Opera, and soon Microsoft Edge.

Don’t worry, though: This won’t break ad blockers entirely. Instead, Google engineers are taking permissions away from browser extensions. Right now, ad blockers and other extensions use the “webRequest” API to listen for events during web page loads and block them.

If the proposed change goes through, extensions won’t be able to block events with this API. Extensions can only watch these events, and that should speed up page load times. Chrome won’t have to wait for extensions to weigh in while loading a page.

Ad blockers must use the “declarativeNetRequest” API to tell Chrome what they want to block. Chrome itself does the blocking without waiting for extensions to respond, and this should be faster. However, declarativeNetRequest uses an Adblock Plus-style filtering system.

Raymond Hill notes that, if this change goes through, ad blocker uBlock Origin and content filter uMatrix can’t do anything special:

If this (quite limited) declarativeNetRequest API ends up being the only way content blockers can accomplish their duty, this essentially means that two content blockers I have maintained for years, uBlock Origin (“uBO”) and uMatrix, can no longer exist.

Beside causing uBO and uMatrix to no longer be able to exist, it’s really concerning that the proposed declarativeNetRequest API will make it impossible to come up with new and novel filtering engine designs, as the declarativeNetRequest API is no more than the implementation of one specific filtering engine, and a rather limited one (the 30,000 limit is not sufficient to enforce the famous EasyList alone).

Read the remaining 4 paragraphs



Source: How-To Geek