Back

Manifest V3, webRequest, and ad blockers

88 points5 hoursvivaldi.com
worble4 hours ago

>As Vivaldi is built on the Chromium code, how we tackle the API change depends on how Google implements the restriction. The assurance is, whatever restrictions Google adds, in the end, we’ll look into removing them.

Is this not a serious wake up call for all these companies relying on Chromium? You are staking so much of your business on a giant conglomerate that does not care about you or your users, whose only aim to sweep up as much data from the web as possible to feed their ad machine.

londons_explore4 hours ago

It's not really a wake up call - at any time they could fork and go their own way.

Just right now, they prefer to not have to pay for 1000+ engineers to work on the codebase to keep up with the pace that Google manages.

kevincox3 hours ago

I'm not sure a lot of these browsers have the resources to fork Chromium and stay "profitable" or whatever their goal is. Microsoft probably could but they gave up on Edge when it was pretty feature complete so I'm guessing that they would really prefer not to maintain a browser by themselves. I'd bet that most of the other Chromium-based browsers would not be capable of financially maintaining a serious fork where some fundamental internal APIs have been changed.

rasz2 hours ago

Microsoft had a chance of winning back Browser war by announcing Blink fork with V2 and 100% backporting of all Google changes. But "Microsoft reported more than $10 billion in advertising revenue last year", so they were reluctant to get this easy win.

adam_arthur18 minutes ago

They could fork and alter only this part of the code and likely manage pulling from upstream with very few people.

Even easier if there's a shared open source fork. My company did it with 2 people

mort964 hours ago

I don't think it's a preference thing. I don't think Vivaldi, or Brave, or any other company whose main product is a browser, can have the income to pay 1000+ engineers to work on the codebase to keep up with the pace of Google.

Maybe it should at the very least be a wake up call to companies which can't afford the engineer-hours it takes to maintain a Chromium fork.

madamelic4 hours ago

There's enough of them and I am sure non-affiliated as well, they could likely scrape together enough engineering 'power' to maintain their own sane fork of Chromium.

They don't need to keep pace feature-wise. I don't need a featureful browser, I want a browser that performs well.

nemothekid29 minutes ago

>They don't need to keep pace feature-wise.

Last I looked into it; the problem wasnt with features. The Chrome code base is very dynamic and if you fall behind then it becomes very hard to pull upstream patches due to the pace at which things get refactored.

dblohm725 minutes ago

Former browser engineer here: Thank you for that second sentence. So many people forget that part!

fpoling2 hours ago

Mozilla (and Opera for that matter before) showed that one needed much smaller team to maintain a full-featured web engine. Plus a lot of Chromium complexity comes from the desire to make such big team manageable. So they split tightly coupled code into separated components worked on by different groups resulting in a lot of glue interfaces and wrapper classes.

dblohm723 minutes ago

Former Mozilla engineer here: The Firefox team isn't as small as you are implying, and they are always constrained by inadequate resources.

cjpearson2 hours ago

Out of curiosity, does Google really have that many engineers working on Chromium? According to Wikipedia, Mozilla has ~750 employees and only a subset of those are working on Firefox.

londons_explore26 minutes ago

The repository gets 500 commits per day. Assume the average engineer manages about 1 commit per day. Thats about 500 engineers working on it... [very rough, but ballpark correct].

And remember some people might be working on experiments/research/ideas that never make it into the repo.

And there are lots of libraries in other repos that kinda only exist for Chromium that Google also works on - eg. the Skia graphics library.

But... on top of those engineers will be UX designers, managers, HR, finance, chefs, and all the other people who make an organisation work.

I think 1000 is a good guess - maybe even 2000.

dblohm724 minutes ago

Former Mozilla employee here: A subset, yes, but also a majority. And it isn't enough.

perryizgr82 hours ago

IMO this is a great chance for Microsoft to take charge and try to get back in the browser game.

They should fork Chromium and sign up all the others (Brave, Vivaldi, Opera) to help maintain the code base. Of course MS can afford to pitch in the maximum amount of resources, both human and financial.

This way we will have a serious contender to Chrome in the industry and they can differentiate themselves meaningfully from Google's hegemony in the space.

But they won't do it, it's hard to ignore those sweet potential ad monies.

rasz2 hours ago

>Microsoft reported more than $10 billion in advertising revenue last year

zagrebian2 hours ago

> They should fork Chromium

Microsoft already did that. Edge uses Microsoft’s fork of Chromium.

londons_explore1 hour ago

Google made a faux-pas with this one...

Their stated goal is to improve the performance of the web request blocking API.

Their (unstated but suspected) goal is to neuter adblocking chrome extensions.

They should have made extensions get auto-disabled if they 'slow down web page loading too much'. Set the threshold for that to be say more than a 20% increase in page load time, but make the threshold decrease with time - eg. 10% in 2023, 5% in 2024, 2% in 2025, to finally 1% in 2026 etc.

Eventually, that would achieve both of Googles goals - since adblockers would be forced to shorten their lists of regex'es, neutering them, and performance would increase at the same time. Extension developers would have a hard time complaining, because critics will always argue they just have bloated inefficient code.

benjaminjosephw9 minutes ago

Ah, the boiling frog strategy. Effective but definitely evil.

Is "don't be evil" still part of the Google's official ethos?

westurner35 minutes ago

eWASM opcodes each have a real cost. It's possible to compile {JS, TypeScript, C, Python} to WASM.

What are some ideas for UI Visual Affordances to solve for bad UX due to slow browser tabs and extensions?

- [ ] UBY: Browsers: Strobe the tab tab or extension button when it's beyond (configurable) resource usage thresholds

- [ ] UBY: Browsers: Vary the {color, size, fill} of the tab tabs according to their relative resource utilization

- [ ] ENH,SEC: Browsers: specify per-tab/per-domain resource quotas: CPU, RAM, Disk, [GPU, TPU, QPU] (Linux: cgroups,)

ehsankia38 minutes ago

> Their (unstated but suspected) goal is to neuter adblocking chrome extensions.

Except they didn't. There's already 3-4 adblockers that work perfectly as far as blocking ads is concerned. They do lose more advanced features, but 99.9% of people with adblockers installed never ever touch those features.

To claim that this neuters adblocking is truly ridiculous. It also ignores that Safari has the exact same restrictions yet no one complains that Apple wanted to neuter ad blocking.

TingPing16 minutes ago

This isn't an advanced feature, it's just how to effectively block modern ads and ad networks will just rely on techniques that can't be blocked now.

hombre_fatal11 minutes ago

Is this speculation or has there actually been an analysis of how many ads are unblockable?

I’ve used a declarative ad blocker on iOS for years and haven’t seen ads in a long time, especially not on big websites like Youtube

Just sounds like a bunch of speculative hysteria tbh.

NayamAmarshe24 minutes ago

Brave will probably be the only remaining chromium-based browser to have a solid adblock system that's low level enough to not be affected by the manifest changes.

Vivaldi is great and all but they suck at privacy.

Source: https://privacytests.org

Raed6673 hours ago

It is hard to over-state the impact that MV3 will have on the current extension landscape!

This move is a blatant attack from Google on power-users, always in the name of "security" and performance.

rasz2 hours ago

Google announced that in order to achieve security we must get rid of all "remote code" execution avenues.

Really small print: "Remote code" being all code Remote to Google, as in code not residing on Google servers. User code sitting on Users disk in form of an extension installed Locally by the User into his "User Agent" is "Remote code" to Google.

svnpenn1 hour ago

> "Remote code" being all code Remote to Google, as in code not residing on Google servers. User code sitting on Users disk in form of an extension installed Locally by the User into his "User Agent" is "Remote code" to Google.

Replace Google with Mozilla, and you still have an accurate statement:

https://github.com/mozilla-mobile/fenix/issues/20647

hbn2 hours ago

I don't even think you can say adblockers are a "power user" feature. The web is so bloated and bad that it's virtually unusable without it.

I hope this gets found as the anti-competitive move that it is. They're taking advantage of their near-monopoly that they have in the browser space to force people to view more of their own ads. It's disgusting.

Raed6672 hours ago

Adblocking is the tip of the iceburg. Proxying, dev-tools that manipulate CORS, rule-based cosmetic filters etc... will also be impacted.

The other huge change that most people don't know about, is the move from a persistent background.js script to a sevice-worker will just make a number of use-cases impossible or very hacky

aeharding1 hour ago

> the move from a persistent background.js script to a sevice-worker will just make a number of use-cases impossible or very hacky

Yep.

Chrome is even crippling some of their own APIs, like chrome.tabCapture (not available in service workers, and in mv3 will be "foreground only")

AKA, if you want to use chrome.tabCapture in mv3, you have to run it in a tab. And because that tab can be closed at any time, you need to serialize megabytes of data to the chrome.storage api every few seconds.

Vinnl23 minutes ago

Yet lots of people seem to manage, e.g. by stating that adblockers will cease to function entirely.

Raed66719 minutes ago

I have tried both uBlock Minus[0] and AdguardMV3[1] and can confidently say that they're barely a shadow of their manifest-v2 versions.

[0] https://github.com/gorhill/uBlock/tree/master/platform/mv3

[1] https://github.com/AdguardTeam/AdGuardMV3

ktosobcy4 hours ago

Yeah... relying on Chromium and "don't be evil" Google definitely sounds like fun.

It's sad that Firefox engine is so difficult to embed and we could have seen more projects using it.

freediver2 hours ago

Fun facts:

There are as many project using Gecko as they are using WebKit (roughly). [1]

Browser framework that Firefox is built on is called Quantum. Other Quantum browsers are LibreWolf, Tor, Pale Moon etc..

Chrome and clones are based on Chromium.

Interestingly there is no browser framework available for WebKit rendering engine and every WebKit browser has to be built from scratch on top of WebKit.

Web rendering engine -> Browser framework -> Browser

Blink -> Chromium -> Chrome, Edge, ...

Gecko -> Quantum -> Firefox, LibreWolf, ...

WebKit -> -> Safari, Orion, ...

[1] https://twitter.com/vladquant/status/1492181669788356611/pho...

shadowgovt3 hours ago

The history of how Chromium got to such a dominant position is basically a history of Mozilla failing to see the next thing over the horizon.

gkbrk3 hours ago

Yes, it's due to Mozilla failing to keep up.

Possibly Google paying companies to bundle Chrome with their software installers had a part as well.

Perhaps putting a Chrome advertisement to the Google homepage and recommending an "upgrade" to all Google visitors played a part too. Maybe.

zaphar2 hours ago

When Chrome came out it was unambiguously:

* A safer browser. * A more performant browser.

Which was more than enough for most of us to recommend everyone switch. Much the same was as when Firefox first came out it was unambiguously:

* A safer browser. * A more performant browser.

Which was more than enough for most of us to recommend everyone switch. The switching cost of a browser is quite low. The next browser to meet the above criteria will experience a similar jump in users. The challenge is in actually delivering a browser that can do so. The web standards are massively complex for many reasons, some of them legitimate. The barrier for entry is going up over time and shows no sign of slowing down.

wolrah1 hour ago

I think the biggest boost to Chrome's initial success was the fact that it's capable of installing entirely within the user profile, so unless a corporate IT department has gone out of their way to lock a system down an unprivileged user can install it for themself.

Remember, Chrome was released in 2008. Internet Explorer, with almost 2/3 of the browser marketshare, was on version 7 at that time and a stupid number of corporate IT departments would continue to default to IE 6 rather than updating or fixing their ancient garbage applications for years to come.

Chrome provided a way for power users to have a non-shitty browser, which then blossomed from there as more and more web sites made use of modern browser capabilities and worked worse and worse in corporate-mandated IE instances.

Putting on my BOFH hat obviously I'm not the biggest fan of such "shadow IT" processes but I understand that they happen when needs and wants aren't being met and sometimes this is the most effective way to force a necessary change.

ldng29 minutes ago

It's not Mozilla failing to keep up, it's Mozilla growing an unhealthy, greedy and complacent middle-management fat.

acdha16 minutes ago

Firefox’s decline has been in progress for a long time, starting when Google deployed billions of dollars of Chrome ads and pushing users of Gmail, YouTube, etc. to switch, and as people moved onto mobile devices where Firefox couldn’t run (iOS) or was at a disadvantage competing with the OS developer (everything else). Don’t forget things like the video wars where Google made a promise to drop H.264 support in the name of openness, let Firefox suffer the compatibility hit, and then retracted that promise.

Mozilla has made some bad decisions but we should acknowledge that a fair fraction of them were also flailing around trying to recover from those competitors’ actions. I don’t think Firefox OS would have happened if, for example, iOS allowed a real browser market.

causi1 hour ago

Personally I'd split it into two eras. The first is "Chrome arises as a faster browser and then gimps performance of Google services like Youtube on non-Chrome browsers" which lost Firefox half its market share. The second era is "Mozilla waters-down the essence of Firefox by vainly trying to recapture Chrome's market share while ignoring what its core userbase actually liked about Firefox."

folkrav46 minutes ago

How did Mozilla "water-down" their own essence? Is it about that old XUL debate again?

+1
causi27 minutes ago
shadowgovt1 hour ago

Did Google gimp performance on their services or did Mozilla not spend the resources to keep up?

I can confirm that Google didn't wasn't testing on Firefox first as of the early-to-mid 2010s, but that was an efficiency-of-testing decision; how much should a company spend on testing a browser with a sub-10% market share?

causi1 hour ago

For example, they created a Youtube redesign which relied on a deprecated API that only Chrome implemented. It was deliberate and resulted in a 500% slowdown for Firefox and Edge users. It was and is a systematic campaign to use Google properties to damage the user experience of competing browsers.

danielheath3 hours ago

"Failing to see" is one explanation. "Struggling to keep pace" is another; there's really quite a lot of work involved in keeping up with web standards.

pygy_2 hours ago

And, surprisingly, Google has more employees on WICG (the W3C standards incubator) than all other relevant parties added together.

+1
shadowgovt2 hours ago
+1
piva002 hours ago
JohnTHaller1 hour ago

Don't forget all the shady bundleware installers that tricked people into installing Chrome via Adobe Flash, Avast, etc. https://imgur.com/gallery/WWZxj

solarkraft2 hours ago

It's not even that. They had innovative things (arguably before the world was ready) and cancelled them.

dblohm722 minutes ago

> It's sad that Firefox engine is so difficult to embed and we could have seen more projects using it.

Not on Android, it isn't. https://geckoview.dev

djbusby4 hours ago

Or that Rust based renderer they were working on.

solarkraft2 hours ago

As far as I'm aware they integrated Servo into Firefox piece by piece.

thedanbob5 hours ago

Glad to hear it. I’ve been using Vivaldi as my main browser for a while now and I’d hate to give it up, but if it’s a choice between Vivaldi and a fully functioning ad blocker I’m probably choosing the latter.

riidom4 hours ago

Yes, same for me. On my work laptop I use Firefox, and tried it for a few weeks without adblocker, then I gave up.

I'd love to keep Vivaldi, and when there are problems with adblocking, I will give it a patient try to see how bad it actually is, but leaving the chromium world is absolutely an option here.

Wonder how Firefox' market share will be influenced by this, in general.

bloopernova3 hours ago

I'm curious why you used Firefox without ublock origin?

terramex4 hours ago

Sure, Vivaldi's AdBlocker might not be impacted a lot, but it does not matter because it is terrible anyway and it triggers every "adblock detection script" I've ever seen. While I like rest of the browser it is unusable without customised uBlock Origin.

I was hoping some company would fork Chromium before Manifest V3 change and apply patches from mainline as necessary but it seems less and less likely with every day. If Vivaldi manages to patch out Google's changes and keep uBlock working as it is now they will have me as their user until heat death of the universe.

londons_explore4 hours ago

I'm familiar with the Chromium codebase, and maintaining the Manifest web request V2 API wouldn't be a tricky patch to maintain.

Even if Google rips it all out and the supporting infrastructure, a full rewrite from scratch wouldn't be too tricky. It's just a bunch of RPC calls to the right extension process from the network stack.

You'd still have the downsides that Google is trying to get rid of (extensions can delay requests making the browser slow, and extensions aren't multithreaded so all web requests have to be funnelled through a single javascript thread in the extension). But we've lived with those downsides for 10+ years - I think we can keep them.

tyingq4 hours ago

>extensions can delay requests making the browser slow

There's an older UBO wiki post showing, with their default set of rules, the onBeforeRequest() processing adds about 130ms of latency per request on an older i5 machine. It does also show that a less performance focused ad blocker adds around 420ms.

https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-effic...

Of course, then you can subtract whatever performance issues loading all those ads would have caused. That math often ends up in favor of the ad blocker, even if it's not a particularly efficient one.

londons_explore1 hour ago

0.13 ms per request is loads when you consider a typical web page (facebook homepage) has about 700 requests now, and due to the single-threaded nature of javascript they all need to be processed sequentially. Ie. thats 91 milliseconds seconds of pegging one core, just for one extension, for loading one page.

It's also probably an underestimate, because it doesn't include the IPC time within Chrome, which involves at least two context switches, and the associated cache rewarming.

Granted, extensions could be better implemented - for example, for URL blocking, there should be a bloom filter for allowing stuff so that the whole list doesn't need to be checked.

hunkins2 hours ago

Having built something that had to use the netRequest API due to new extensions being forced into MV3, I can attest to it being viciously limited and complex.

Ads will win if MV3 is mass adopted and enforced. Time to set-up Pi-hole.

jerrygoyal1 hour ago

not just ad blocking, user scripts are going away too.

Next year is going to be the year of Firefox. Mozilla team intend to keep these APIs around.

drcongo3 hours ago

> Vivaldi comes with [...] a built-in Mail and Calendar

Why? Why on earth would anyone want those built into their web browser?

zamalek13 minutes ago
selykg3 hours ago

Vivaldi is sort of the spiritual successor to Opera and Opera had those things built in and by the sounds of it, some people really enjoyed that.

Just because you might not be interested does not mean others aren't.

drcongo3 hours ago

I get that, but that doesn't really answer the "why". I also wouldn't buy a fridge that had a built-in toaster.

infinityplus12 hours ago

How about a gaming console with a built-in chicken warmer? https://landing.coolermaster.com/kfconsole/

drcongo2 hours ago

Now we're talking.

rickstanley2 hours ago

Your "why" is exactly what selykg answered. To paraphrase: there are some people that would like the convenience to have calendar and e-mail client in their browser, just because it's already there and maybe intersects with the workflow. A niche? Maybe, but there's always someone.

drcongo46 minutes ago

I guess the thing that's baffling me then is how they got there in the first place.

Terretta2 hours ago

> I also wouldn't buy a fridge that had a built-in toaster.

Storing food and transforming food are not the same activity.

However, "trivection" ovens that use 3 kinds of eat and also microwave or toast are increasingly popular, because people very much like one thing that does several related things. (EDIT: Same story as the water + ice you agreed with below.)

"Get my stuff that's online" or "do things online" is one of those same-headspace things large percentages of boomers grew up doing in one place (AOL, then Mozilla suite, Opera, etc.), and "portals" perpetuated today by Google and Microsoft except as web apps in browsers (Edge, Chrome) trying to be the portal wrapping the web apps, which the same people tend to hate.

So Vivaldi gives the "one place" that works "one way" but doesn't feel like a weird web app you accidentally close a tab and lose everything.

majou2 hours ago

How about a water dispenser and ice machine?

Mail and Calendar apps are mostly used from the browser now anwyay.

drcongo2 hours ago

Cold water and ice being dispensed from a thing that makes things cold? Makes sense.

unethical_ban2 hours ago

Why not?

lemoncookiechip3 hours ago

Pretty much every browser that isn't Chrome or Edge, has put out a similar message to Vivaldi's team. If that's not enough for Google to get their **** together, and stop pretending like they're doing this for the good of the end-user, I dunno what is.

stevenhubertron2 hours ago

I use Vivaldi with NextDNS and LuLu blocking a layer up so between the 3 I get great blocking and love Vivaldi.