WebKit is basically made up of the following: 1. '''JavaScriptCore''': The JavaScript engine. This also includes the WTF library, which contains various utilities. This is completely cross-platform (though there are various platform-specific JIT backends). This can be used as a separate entity from the rest of WebKit. 2. '''WebCore:''' this is where most of the magic lives. All of the rendering logic, SVG support, transforms, network support, etc. is here. Each platform has specific logic here. Look in WebCore platform for the OS-specific and rendering (Skia, CG, Cairo) backends. 3. '''WebKit''': the front-end layer used by applications. Each GUI platform (windows, Cocoa, Gtk+, Qt) provides a different implementation of this. Generally, the goal is to make this a client to the WebCore layer, basically just 'shimming' WebCore to the specific Os/Platform that will be using WebKit. The remaining projects are autogenerated bindings to the DOM, etc. (Taken from [https://lists.webkit.org/pipermail/webkit-help/2009-July/000010.html Brent's email] to webkit-help)