https://react.dev/blog/2025/10/01/react-19-2#performance-tra...
1,128 karma · joined September 28, 2013
sam at samuelmaddock dot com
@SamuelMaddock
https://react.dev/blog/2025/10/01/react-19-2#performance-tra...
Loom does this while the video is being recorded to give you the link as fast as possible.
Prior to the group being formed, most discussion regarding MV3 occurred on the Chrome Extensions Google Group [0]. While feedback was accepted and open there, I hadn't seen the Chrome team acting on it to make changes. That's where most of my pessimism on the situation comes from.
I believe the Chrome team's main motivation is removing any functionality in MV3 which would have the possibility of reducing performance in normal browsing. I personally don't have much hope that they'll be backpedaling on any changes.
[0] https://groups.google.com/a/chromium.org/g/chromium-extensio...
Many ongoing changes are being made in extensions and the web in general to improve security while reducing capabilities in existing applications.
At this point, for more complex use cases such as one of my own, the only hope is building your own web browser with complete control over its systems. I've changed focus to improving Electron for this reason.
Ideally, I'd like to see MV3 continue supporting the persistent context use case as well as maintaining webRequest blocking support.
Hopefully Google and others are receptive to some of the proposals made in the issues. I recognize the value of reintroducing the persistent capabilities to the SW model.
I've been working towards implementing greater support for Chrome extensions in Electron which has involved reading and interacting with Chromium code [0].
- Using service workers instead of a hidden background webpage is more idiomatic for web developers.
- Forced non-persistent extensions guides developers to a better implementation which relies on less resources.
*The deprecation of webRequest's blocking behavior is what's most concerning. The implementation in Manifest V2 requires sending a message back and forth between processes with JS processing for each network request which seems to be in part why they redesigned it.
However, that optimization costs so much for innovative ad blocking technologies as gorhill of uBlock Origin has mentioned. When ad blocking begins requiring new methods of detection or filtering, it'll now be up to Chromium maintainers to implement support for it in the new declarativeNetRequest API. This is a tradeoff of performance for reduced flexibility where it is absolutely needed.
https://blog.samuelmaddock.com/posts/the-end-of-indie-web-br...
The risk doesn't seem worth it to use such a workaround for a serious project though.
[0] https://source.chromium.org/chromium/chromium/src/+/master:t...
Building something on top of the Chromium project is still building a browser. You're right that it's not building a rendering engine and JavaScript interpreter though.
The problem isn't the closed source nature of Widevine CDM, but rather that access to use it is rather difficult to come by.
DRM goes against the concept of an Open Web in which anyone can build a web browser without asking permission.
This is a closed source, downstream effort which means no modifications can be made to Electron itself. All changes must make it upstream to show up in this fork. When asked whether they would eventually merge it upstream, they didn't provide a clear answer [1].
I also wrote a followup blog post with more detail on the current state of DRM options on the web [2]. Spoilers: it's not great.
Regardless of all of these problems, I still hold an interest in browser development and have been working towards making Electron a viable option for building a browser [3].
[0] https://github.com/castlabs/electron-releases
[1] https://github.com/castlabs/electron-releases/discussions/24
[2] https://blog.samuelmaddock.com/posts/the-end-of-indie-web-br...
Despite a fair amount of folks disliking Electron for replacing traditional desktop apps, I find it's a great fit for building unique web browsers.
I believe there's a lot of opportunity for making interesting web browsers, but building and maintaining them by forking something like Chromium or Firefox is a ton of work.
With Electron, it's possible to create something interesting with a team of one.
- Keep changes limited in scope for easier review.
- Open the process to the wider public for inspection.
- Transparent revision history.
Google shouldn't wield the power to decide which browsers are worthy enough to access the larger internet they have control over. It's antithetical to the open web.
- Beaker https://github.com/beakerbrowser/beaker/issues/1749
- Min https://github.com/minbrowser/min/issues/868
- Agregore https://github.com/AgregoreWeb/agregore-browser/issues/65
From what I can tell, it's really any browser not well known by Google.
Want to sign in to Google? Use one of the selected browsers with a significant, existing market share.
But first though, are you actually human? Let's see if your browser is compatible with our reCAPTCHA service. [0]
Oh, you wanted to watch something on Netflix? I hope your browser is approved by Google for DRM playback. [1]
[0] https://twitter.com/bcrypt/status/1320410639244746753
[1] https://blog.samuelmaddock.com/posts/the-end-of-indie-web-br...