WebKit weekly report #30

Blog post by PulkoMandy on Fri, 2014-05-02 06:51

Hello everyone,

Not so much exciting things this week...

Well, good news first, on wednesday I uploaded HaikuWebkit 1.3.1 packages. It should be more stable than the previous releases, and includes work from the last 3 weeks including some more bugfixes for audio/video support, working web socket support, and many smaller fixes.

As usual, the boring work on the testsuite continues, and I'm slowly processing the test results and investigating each failure.

The main problems I'm trying to solve currently are the slow rendering on some pages, the annoying flickering, and in some cases even missing parts of the drawing. I'm trying to change the way we handle our rendering, as there are different code paths in WebKit, and each port can use a different one. The settings we have seems to make anything that use 3d transforms invisible. Unfortunately, some websites try to use 3d transforms (actually, a transformation that does nothing) to trick the browser into using OpenGL to accelerate rendering of the page. This doesn't work too well for us. We have the choice of implementing these 3D transforms using app_server (and even implementing them to do nothing may be enough in most cases), but I haven't managed to get this to work yet.

I'm also working on improving our support for CSS gradients. They are used in many ways on some websites, which led to identifying some quirks of our own BGradient API. I'll be fixing those, as well.

Next up is shadow support, as we are completely ignoring them currently. While this doesn't create any big useability problems, most websites actually don't render as intended.


Re: WebKit weekly report #30

Very nice job.
It's may be time to find developer(s) (or you self ;-) ) for porting nvidia nouveau or/and AMD driver to haiku. We will need enough donations and interested developer(s) for this task.
What do you think? Will HaikuWebkit benefit from this?

Re: WebKit weekly report #30

It's not a problem of just the driver, but getting the complete OpenGL stack running in one way or another.

Yes, WebKit could make use of OpenGL to do the compositing, with hardware acceleration this could be faster than what we have now. But I think there are ways to get acceptable performance even without going that way.

I could work on this, but then, who will finish and continue maintaining WebKit and WebPositive? There are still a lot of things to do on them, too.

Re: WebKit weekly report #30

Well if you get 3d drivers working you'll be killing two birds with one stone. I Imagine it would work somewhat even with the software rasterizer. But OpenGL really is the next big thing after Package Management and Web+ after all its is sort of ridiculous to not have good OpenGL support on *the* Multimedia OS.

Assuming once 3d driver exist... the stubbed out functions in the app server will be dead code do we even want that?

Re: WebKit weekly report #30

multimedia's got almost nothing to do with opengl (which totally is supported in haiku btw, with hardware acceleration on the way). what's ridiculous is hounding a guy for not working to port a 3D graphics library when he's working on a web browser. what's also ridiculous is calling opengl to trick an os into rendering a page in hardware, but i understand folks tend to work under some ridiculous demands (like porting a 3D graphics library when working on a web browser).

Re: WebKit weekly report #30

Well, I think Alexander has built the opengl system so that the rasterizing end of the system is separate from the opengl stack. So as long as you plug into the opengl kit it should work, but iirc there is a issue of using newer mesa revisions on gcc2.

So, as long as you depend on mesa for webgl, all should be good, even if its not hardware accelerated and as those drivers come online, it will handle itself from their forward.

Re: WebKit weekly report #30

It's just an idea.
If Web+ has a stable state, with the HTML5 features, you could work 10% or 20% on Web+ to look for updates in webkit, to be up to date. The other 90% or 80% of your work you can use the time to begin port of nvidia or amd driver.

Re: WebKit weekly report #30

Also, before you start going crazy with that... My hardware here is Intel. There is still an endless list of things to improve in Web+ (support for adblock-like extensions, etc...). And I'd rather go hacking on the ARM port rather than OGL acceleration (and I'm actually mentoring that for GSoC).

Re: WebKit weekly report #30

One developer to two core parts of our OS.. Webkit and OpenGL...

do you hav