[https://trac.webkit.org/browser/trunk/Source Source] is basically made up of the following: == [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore JavaScriptCore] == === [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/wtf Web Template Framework ] === WTF is an internal library, which contains various utilities used as part of the JavaScriptCore and WebCore. Example of such classes are [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/wtf/Vector.h Vector], [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/wtf/HashMap.h HashMap], [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/wtf/RefCounted.h RefCounted] (classes to that implements multiple ownership), [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/wtf/RefPtr.h RefPtr], etc... === [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/yarr YARR!] or Yet Another Regex Runtime === This is a faster replacement for our regexp engine. === JavaScriptCore === The JavaScript engine. 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. JSC is split in different directories inside the directory. Those directories include [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/dfg dfg], [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/assembler assembler] and [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/jit jit]. The [https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/API API] directory contains the JavaScriptCore C API. == [https://trac.webkit.org/browser/trunk/Source/WebCore 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. == [https://trac.webkit.org/browser/trunk/Source/WebKit 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) ------- The WebKit source tree also contains the following project: == [https://trac.webkit.org/browser/trunk/Source/JavaScriptGlue JavaScriptGlue] == This is a legacy component needed for compatibility with some older Mac OS X software. It will eventually be retired and should not receive any new development. (Information taken from [https://bugs.webkit.org/show_bug.cgi?id=31618#c2 a Bugzilla comment by Darin])