I’m working on WebKit on Windows these days. Sometimes I see someone asking about WebKit on Windows.

I’d summarize the current situation.

AppleWin port

AppleWin port is a upstream port. It uses the same components with Mac port, Core Graphics and Core Foundation, and etc. But, WebKitSupportLibrary.zip is not redistribute.

It supports only WebKit1. And, WebKit thread is not separated from UI thread. The browser becomes unresponsive while running JavaScript benchmarks.

Although iTunes for Windows is using both 32bit and 64bit version of AppleWin port, only 32bit version of WebKitSupportLibrary.zip and WebKitAuxiliaryLibrary.zip is publicly available at the moment. So, you can compile only 32bit version.

The latest built binary can be downloaded from Buildbot. iTunes needs to be installed on your PC.

32bit version of Windows JavaScriptCore is supporting only Low Level Interpreter C Loop, not supporting JIT. LLInt CLoop has the high stack consumption issue for MSVC. Theoretically, it’s possible to use 64bit version of WebKit.dll included in iTunes.

WinCairo port

WinCairo port is the only one redistributable upstream Windows port. It supports both WebKit1 and WebKit2, but it plans to remove WebKit1.

It supports only 64bit. Its JavaScriptCore supports LLInt Asm, baseline JIT and DFG JIT, but FTL JIT.

The latest built binary can be downloaded from Buildbot.

QtWebKit

QtWebKit a downstream port which supports WebKit1 and WebKit2.

In WebKit1, WebKit thread and UI thread are separated. It seems that Accelerated compositing doesn’t work on Windows.

WebKitGTK

WebKitGTK is a well maintained upstream port, but doesn’t support Windows. So, Cygwin and Cygwin/X are needed to run. Cygwin has epiphany and midori packages, but very old.

JavaFX WebKit

Arunprasad Rajkumar is working on it in June 2019. But I don’t know.

WPE WebKit

WPE WebKit is a well maintained upstream port, but doesn’t support Windows.

FTW port

FTW port is a new upstream Windows port which uses Direct2D.