Google явно си припомни принципа Don’t be evil и се отказа от планираните промени в API на браузъра Chromium, заради което външният софтуер за блокиране на реклами става нефункционален, а редица приложения спират да работят.

Решението е взето след публикуването на изследване, което показа с колко външните блокатори на реклами забавят работата на браузъра. Оказа се, че забавянията са толкова нищожни, че няма причина за въвеждането на нов API. Няколко часа след появата на това изследване, един от разработчиците на Chromium официално съобщи решението за отлагане въвеждането на новия програмен интерфейс.

Да си припомним, че конфликтът възникна заради новите програмни интерфейси declarativeNetRequest API (виж Manifest V3), които спират възможността за пълноценно използване на webRequest API. Разширенията използват първия API, за да блокират рекламите в реално време още при зареждането на уеб страницата. С новия API разширенията могат само да преглеждат тези събития, но не и да ги блокират. На програмистите бе предложено да използват declarativeNetRequest API, с който да съобщават на браузъра събитията, които искат да блокират. Това уж трябваше да увеличи скоростта на зареждане на страниците, понеже блокаторите на реклами вече няма да бавят основния поток и дори ще се повиши информационната безопасност.

Първи вдигна тревога създателят на uBlock Origin и uMatrix Реймънд Хил (Raymond Hill). Той заяви, че неговите разширения за блокиране на рекламите „не могат да съществуват“, ако тези промени бъдат въведени. Подобни песимистични изказвания направиха и създателите на други подобни разширения, включително F-Secure, NoScript и Ermes Cyber Security. Така например, NoScript ще си работи в средата на Firefox, но но няма как да бъде прехвърлен в Chrome.

Реймънд Хил обърна внимание, че declarativeNetRequest API е най-обикновена реализация на енджин за филтриране на реклами с твърде ограничени възможности. Той има лимит от 30 000 ограничения, които са недостатъчни да поберат дори и един от популярните списъци EasyList. Реймънд Хил забеляза и че в новия API не се поддържат редица други възможности, като например блокиране на мултимедийни елементи с над указан размер, изключване изпълнението на JavaScript чрез въвеждането на директивите Content-Security-Policy, както и изтриването заглавията на изходящите текстови бисквитки.

Google твърдеше, че промените са необходими за 1) безопасност и 2) за работата на бъдещия интегриран в Chromium блокатор на реклами. Google възнамеряваше да вгради в браузъра собствен блокатор, понеже външният софтуер за тяхното блокиране увеличава времето за показване на страниците. Но публикуваното на 15 февруари тази година официално изследване Adblockers Performance Study изцяло опроверга тази теза.

Изследването бе направено от разработчиците на блокатора на реклами Ghostery и германският стартъп Cliqz. Не е ясно по какъв начин са подбирани разширенията за филтриране, но същността на изследването е пределно ясна: външният софтуер за блокиране на рекламите на практика въобще не забавя зареждането и показването на уеб страниците.

Сравнението показа, че „най-популярните разширения за блокиране на реклами са изключително ефективни, тяхното средно време за вземане на решения е под 1 милисекунда, а тяхната работа не води до разходи, забележими за потребителите„. Но има и нещо друго. Проведеното малко преди това изследване The Tracker Tax показа, че приложенията за блокиране на рекламите всъщност значително ускоряват зареждането на уеб страниците – в редица случаи над два пъти.

Девлин Кронин, специалист от екипа на Google каза, че това е само временно решение. След като Manifest V3 бъде доработен, той ще бъде предложен за обсъждане, след което ще бъдат взети предвид всички забележки и искания на разработчиците.