If you'd like to learn more about how a web browser project would organize its internal architecture, but are discouraged by the complexity of Chromium, Firefox, etc. I'd recommend source diving Ladybird (https://github.com/SerenityOS/ladybird), NetSurf (https://www.netsurf-browser.org/), or Dillo (https://www.dillo.org/).
* LibWeb (HTML, CSS, SVG, Web APIs): https://github.com/SerenityOS/serenity/tree/master/Userland/...
* LibJS (JS engine): https://github.com/SerenityOS/serenity/tree/master/Userland/...
* LibWasm (WASM interpreter): https://github.com/SerenityOS/serenity/tree/master/Userland/...
and the UI lives in https://github.com/SerenityOS/ladybird and can be built for Linux/Mac/Android.
* Blink (Google)
* WebKit2 (Apple and some folks, mainly WebKit2Gtk)
* Gecko (Mozilla)
Microsofts Trident is dead, they now use Blink.
Operas Presto is dead, they now use Blink.
KDEs KHTML (the predecessor of WebKit1) is dead.
Google is dominating, pushing through Android, all Googles-Services and Microsoft Edge. A reason to worry because Google controls the Web and the Engine. Furthermore implementing an entire new engine seems an enormous effort. For instance Microsoft only allows usage of Microsoft Teams Web with a webbrowser based upon Blink. So were back in 2002?WebKit features also WebKit2Gtk (Epiphany) and Qt5-webkit (Otter) with native integration. Both use the native toolkits, which is an advantage! Interaction with the open-source community around WebKit seems rather good and the engine is integrated by others. Gecko seems not to be integrated by others but by forks only? You remember when Chrome was considered slick and fast? Originally Chrome used the native toolkit on every platform. Now Chrome ships an own toolkit, similar to Firefox.
And? Maybe there is a new engine on the block:
https://github.com/SerenityOS/ladybird
PS: I think the Epiphany guys doing a nice job but need more developers. The upcoming release will support Web-Extensions.
I think it wants to implement all of JS eventually though.
Even though it doesn't require SerenityOS, even SerenityOS GUI apps can be ported to run on Linux, Andreas already has ported its Ladybird Browser that wraps SerenityOS LibWeb engine in a QT App [2] to Linux, his last video shows "Abstracting the event loop so Ladybird can be fast & responsive on Linux" [3]
[1] https://github.com/SerenityOS/jakt#usage