bsclifton
Joined 12 years ago
Joined 12 years ago
Disclaimer in case it's not obvious: I am a Brave employee
What you'll notice more often is a folder we have called `chromium_src`. This directory mirrors the directory structure for Chromium under `src` and the build system will look for matches. If there's a file with the same name under `chromium_src`, it'll prefer that one. That file then does what it needs to differently and then includes the original file.
This approach helps keep things much more lightweight - but it has challenges too. If code fails to apply (file that `chromium_src` is matching gets renamed, etc) it can be hard to detect. This is where you'd want to have a test to catch that.
Another person shared - but here's a link to our patching documentation: https://github.com/brave/brave-browser/wiki/Patching-Chromiu...
You'll notice the actual patching itself is introduced with the caveat:
> When other options are exhausted, you can patch the code directlyYou can leave a comment if it's something you'd like to see as an option
We (Brave Software) do all of our company work on GitHub and have over 10k issues in our main repo. Lots of us falling under `Ideas Person` for opening issues tracking bugs/feature requests/etc. No shame in working in the public
> We fixed an issue where OS functionality could be improperly redirected when microsoft-edge: links are invoked.
There are also some paid options which show - when you try to change the handler for `microsoft-edge:` (you can't pick an app; but you can pick Microsoft Store). `Search Bar Connector` for 1.69 and `Search Deflector` for $1.69
Guessing these are broke too. If it really is a "bug", why did Microsoft approve those applications?
Worth noting that in order to offer a toggle, we'd need to get around the default protection (same as Firefox w/ setting default browser). People can only currently use this by going to the `Defaults` handler in Windows and replacing Edge themselves
For the no-cost option, enabling Brave Rewards helps Brave to cover the costs of video infrastructure
We have a pretty comprehensive patching system which you can read more about here: https://github.com/brave/brave-browser/wiki/Patching-Chromiu...
There is a small team of folks here constantly working on rebasing the next Chromium version on Brave. They fight these deviations and try to minimize the patching as much as possible- so future versions are easier and easier. We even have some clever UI patching for the Polymer pages
There definitely have been challenges - for example, with Chromium 69, the network delegates were moved over to NetworkService which broke our shields code. But I'm really proud of the work done to minimize things. For a long time, the team rebasing Chromium was just one person... and we've always delivered Chromium upgrades and updates to Brave users within 24-48 hours of Google's stable channel