Changes between Version 1 and Version 2 of WebKit/Overview
- Timestamp:
- Dec 29, 2019, 6:42:48 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WebKit/Overview
v1 v2 1 1 This page gives an overview of the [WebKit port](https://github.com/haiku/webkit), how it's done, where the useful sources are, etc. 2 2 3 Build instructions are in the repo README so I won't talk about it here.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 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. 5 = Build instructions = 6 7 See the README in the repo for details (especially if you're using a gcc2 system), but the short version is: 8 9 Tools/Scripts/build-webkit 6 10 7 11 = Source layout = … … 24 28 25 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. 26