Der Schepp

Running WebKit on Windows

Safari 5.1, back in 2010, was the last WebKit browser that somebody released for the Windows platform. Since then debugging things in WebKit came down to either buying a whole Mac or using a remote Safari in Browserstack.

Funnily enough, the WebKit kept pumping out nightly builds for Windows together with those for the other platforms. It's just that Apple didn't want to invest anymore time in providing a browser UI around it. But it is still perfectly possible to get WebKit on Windows to start, with almost all the engine features of the newest Safari.

There are two ways to do so: a manual and an automated one.

Alexander Skachkov was kind enough to describe all required steps of the manual way in a blog post three years ago. The only update from my side would be to not install Cygwin and Apple iTunes, as both are monsters, but instead to download the so-called "WebkitForWindows WebKitRequirements" as ZIP and to put the content of their bin64 folder into the one with the same name of your WebKit-Cairo folder. Afterwards you run MiniBrowser.exe and should be greeted with a spartan browser window.

But you probably don't wanna jump through the hoops of manual installation, especially not each and everytime you need to upgrade WebKit. The automated way is to use "Playwright". Playwright is basically what Puppeteer is for Chrome, but for Chrome, Firefox and Safari at the same time. All you need to get going is npm. Then you run it like this:

npx playwright wk

The wk parameter indicating that you wanna use WebKit. Then you are greeted with this window:

A pretty spartan WebKit window, running on Windows, showing the WebKit project page

Giving it a spin on tells me that it trails Safari by quite a bit (492 vs 416 points). But the areas affected are basically due to proprietary things or the missing browser chrome and OS integration around it:

Looking though the list, only the missing video codec support is a bummer. The rest it pretty much irrelevant for the average site.

Have fun!


← Home