I think it's time for Microsoft to rethink their decision to base Edge on Chromium.
It's a painful decision, to be sure, but the Microsoft team has to make a decision here: fork or adhere. The immediate benefit of forking and not following Chromium on this change is obvious. However, the cost of the fork will grow over time and it will be in Google's interest to deprecate and replace all of the infrastructure that supports the webRequest API to make it maximally painful to maintain the functionality in a fork.
On the other hand, had Microsoft decided to base Edge on Gecko, they wouldn't be working off a forked codebase whose owner has a perverse incentive to make the fork as painful and expensive as possible.
How many engineer hours, months, years are going to be wasted just shoring up features like this?
Why wouldn't they just patch that part of the code? I'm seriously surprised though Microsoft didn't build an adblock in IE much earlier, that would have stopped google in the tracks.
That part of the code doesn't exist in a vacuum, and it's baked in at a rather low level in the browser. That's how it can block requests! In JavaScript!
Google will begin by deprecating the webRequest block API (that's in progress). Then they will begin deprecating the code that supports it.
Then they will begin removing and deleting the "unnecessary" code. Then, at some point in the future, they may make other breaking changes to the webRequest flow that assume that requests cannot be blocked. Each time Google writes new code that assumes webRequests cannot be blocked, Microsoft must patch that code too.
With each successive change, Microsoft will be forced to make a choice:
1. Support both Google's webRequest API and the Microsoft's, at increasing cost with every merge and rebase where Google has cut off or altered another piece of functionality
2. Adopt Google's API and break ad blockers
Google has a profit motive in shrinking the ad blocking market, and therefore they have a perverse incentive to make their browser worse for users, and more expensive for any forks that want to maintain ad blocking functionality.
Google Chrome Enterprise didn't exist when Manifest version 2 was introduced (and version 1 deprecated), so it's difficult to guess what will happen this time around. But if the policy now is the same as then, here's what will occur:
Chrome will deprecate in a release, approximately 1 year later Chrome will block updating of any extensions using the old manifest, and after approximately 18 months they will remove any extensions from the Web Store that have not updated, and approximately 2 years after the deprecation later the code to support the manifest will be removed.
It's a painful decision, to be sure, but the Microsoft team has to make a decision here: fork or adhere. The immediate benefit of forking and not following Chromium on this change is obvious. However, the cost of the fork will grow over time and it will be in Google's interest to deprecate and replace all of the infrastructure that supports the webRequest API to make it maximally painful to maintain the functionality in a fork.
On the other hand, had Microsoft decided to base Edge on Gecko, they wouldn't be working off a forked codebase whose owner has a perverse incentive to make the fork as painful and expensive as possible.
How many engineer hours, months, years are going to be wasted just shoring up features like this?