Changes between Version 2 and Version 3 of WebKit/Overview


Ignore:
Timestamp:
Dec 29, 2019, 6:43:58 PM (4 years ago)
Author:
tqh
Comment:

Uppercase titles

Legend:

Unmodified
Added
Removed
Modified
  • WebKit/Overview

    v2 v3  
    33There 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.
    44
    5 = Build instructions =
     5= Build Instructions =
    66
    77See the README in the repo for details (especially if you're using a gcc2 system), but the short version is:
     
    99    Tools/Scripts/build-webkit
    1010
    11 = Source layout =
     11= Source Layout =
    1212
    1313The 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.
     
    2525So, 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.
    2626
    27 = Philosophy of WebKit porting =
     27= Philosophy of WebKit Porting =
    2828
    2929There 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.