Changes between Version 2 and Version 3 of WebKit/Overview
- Timestamp:
- Dec 29, 2019, 6:43:58 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WebKit/Overview
v2 v3 3 3 There are two "versions" of WebKit called WebKiLegacy and "WebKit" or WebKit2. The former is a single-process architecture, where the whole browser is a single application. The latter is a multi-process system, where the browser is just a shell, and there are WebProcess (html parsing, etc) and NetworkProcess (http requests) programs running in the background to do the actual work, providing some sandboxing. Haiku is currently using the former, work is ongoing (in the webkit2 branch) for moving to WebKit2. 4 4 5 = Build instructions =5 = Build Instructions = 6 6 7 7 See the README in the repo for details (especially if you're using a gcc2 system), but the short version is: … … 9 9 Tools/Scripts/build-webkit 10 10 11 = Source layout =11 = Source Layout = 12 12 13 13 The sources for WebKit are in the Sources/ directory. There is also a Tools/ directory where you will find HaikuLauncher, the minimal browser used for testing, as well as other tools for the unit tests. … … 25 25 So, the main directories for the Haiku-specific sources are: Source/WebCore/platform/graphics/haiku ; Source/WebCore/platform/network/haiku ; Source/WebKitLegacy/haiku . There are a few additional files and in some cases specific code in files shared between platforms. 26 26 27 = Philosophy of WebKit porting =27 = Philosophy of WebKit Porting = 28 28 29 29 There is usually little subclassing. Usually, a single .h file defines the API and each platform has the matching .cpp file implementing it. This means the .h may need to have some per platform #if when there are fields or methods specific to one or another platform. The idea is that this saves vtable overhead when there is going to be only one implementation compiled in.