So I got accepted into GSoC again! I’m going to be working on WebKit2. But what is WebKit2, or even WebKit, for that matter? Well, WebPositive uses WebKit to render its web pages. Currently, we use the WebKitLegacy API to communicate with WebKit. It would be nice to switch to the newer version: WebKit2. However, our port of WebKit2 still needs work. At present, it has lost its ability to even render any webpage at all! So, getting WebKit2 to work will be the primary goal of my GSoC project. If there’s time left, I might be able to integrate it into WebPositive.
Resuming the work on WebKit2 is more than welcome. But I believe that, at least in initial phase, the integration of WebKit2 into WebPositive should keep WebKit based browser also available. Something like:
WebPositive based on WebKit2, and
WebPositive Legasy based on WebKit
So, people have the choice and can watch the possible regressions. When WebKit2 based browser matures enough, of course, the legacy browser can be disconnected.
We will see, we arenot there yet. But the simplest way to achieve that is to use an older binary of WebPositive from the beta branch of Haiku. The WebKit2 version will be in nightly builds only for some time.
Just. curious, will any of this work address the issues of not being able to stream video and audio, from services like Youtube, Rumble and TuneIn?..Thanks!
These issues are primarily in the Media Kit, I believe (media websites that don’t need DRM should work in the QT/GTK browsers that don’t use the native Media Kit for instance)
It’s both. The media kit requires a lot of extra work to get streaming properly working. It’s doable, but the situation isn’t great, and it would be nice to make some fixes there.
The interfacing with WebKit is also not great, and can be improved a lot (for example to draw things more directly on screen). Most of this code is shared between WebKitLegacy and WebKit2, but with WebKit2, it may be possible to se it in a way that loading media doesn’t completely freeze the browser (which is what happens now). In that case, we may try fixing/enabling it again.