The priorities are set by people who will be doing the work. Mine are simple and unambitious due to lack of time:
- Merge upstream changes from WebKit regularly, so whoever works on it starts from a reasonably up to date base and not a several years outdated one,
- Fix build issues while doing this, by doing the minimal needed adjustments,
- Try to not introduce too many regressions, and fix them when they inevitably happen.
In that context, my next tasks are not enabling extensions or content filtering or anything else. My next tasks are:
- Upstreaming our changes (this reduces the work in the “mergin” part)
- Fixing the webkit test suite on Haiku (this should help a lot with the “no regressions” part
At the extreme, anything else (videos support, web extensions, content blocking, webkit2 port) means there will be more code to maintain and, in the current situation, just makes my job harder.
Now, this is not a reason to block everything. As x512 pointed out, this has been the situation for the last 10 years, in which I have not done much but this basic maintenance. That is already a lot of work. I believe switching to another web engine does not change that: the maintenance, just keeping it running and up to date over time, is a lot of work. Maybe some other people can do it better and more efficiently than I do. Maybe with WebKit or maybe with another engine. I would not complain about that, it would be less work for me.
But, what I have seen so far, and multiple times, is people putting the initial work on the “new and exciting” part of porting a new web browser or engine to Haiku, and then not doing the maintenance part. Usually with very good reasons, so I do not blame them. The old Firefox 2 port was abandoned because Firefox was moving too fast and permanently changing its dependencies at the time. The Qt WebKit port was abandoned because Qt switched to QWebEngine. Ladybird is in a situation where the initial port was done while it was part of Serenity OS, and the new Ladybird after the split seems to be taking a quite different direction from the original project. I am not sure what happened to the QWebEngine port, but I think Google’s hostility to non-mainstream operating systems would prevent any hope of upstreaming there. I don’t know what happened or is happening with GTKWebKit (I have not seen an update in a while) and Firefox (the port is still pretty new, we’ll see how it goes).
I know of another engine that has been kept up to date with upstream over the years: NetSurf. In that case, mmu_man did the initial port of the engine but I’ve been doing the maintenance since then. Fortunately for me, it is not nearly as active as other projects and has few dependencies. This means my only work is checking that things are still working every few years when they make a release.
So, work on whatever you would like to see. Just make it happen. But maybe think a little bit in the long term and how the thing will live, how much time it will cost you or someone else to keep it running.