Having finally built up the motivation to sort this site out, I now need to start thinking about what to actually blog about. I’ve decided that the plan is to write about my experiences with hacking WebKit and developing WebKit .NET, and whatever else interesting comes to mind. So, welcome to what will hopefully be the first post of many!
I thought I’d start off simple with a guide to using the nightly builds of WebKit with WebKit .NET, which is something that a surprising number of people have asked me about. These are builds of the ‘official’ Apple WebKit port for Windows. Before continuing, let me reiterate the differences between this and the Cairo-based WebKit port.
The Apple port unfortunately requires certain libraries that are non-redistributable, in particular, CoreGraphics.dll and CFNetwork.dll, though luckily these come bundled with the Safari browser. The Cairo port, developed by Brent Fulgham, uses the open source Cairo and cURL libraries instead, and is therefore fully redistributable. It is this port that is distributed with WebKit .NET releases. It lags a bit behind in terms of feature support, so it is sometimes necessary to fall back to the Apple port in order to try out new features. To get started:
Download the latest build of WebKit .NET from http://webkitdotnet.sourceforge.net/downloads.php. Extract the following files to a directory somewhere:
- WebKitBrowserTest.exe (optional)
Download the latest nightly build of WebKit from http://nightly.webkit.org/. Extract the following to the same directory as above:
Download and install Safari from http://www.apple.com/safari/download/, if you haven’t already.
%ProgramFiles%/Common Files/Apple/Apple Application Support (or
%ProgramFiles(x86)%/Common Files/Apple/Apple Application Support if you’re running Win64). Copy everything except the files listed above into your WebKit directory. Note that depending on the version of Safari, and other Apple software you have installed, some of these files may not be required by WebKit. I’ll publish a precise list of dependencies at some later point.
And, you’re done. Run WebKitBrowserTest.exe to make sure that everything is working as intended.