Changes between Initial Version and Version 1 of PortIntegrationArchitectureIssues

Jan 31, 2013 7:40:30 AM (10 years ago)
Noam Rosenthal



  • PortIntegrationArchitectureIssues

    v1 v1  
     1== Port Integration Architecture Issues ==
     2=== Premise ===
     3The WebKit project supports many ports: Apple-Mac, Apple-Win, Chromium, Qt, GTK, EFL and more.
     4As this grew organically and have allowed WebKit to have a thriving community of browsers and devices, that plurality of configurations have caused our architecture to be less flexible, making it harder to change things in the core without "breaking" one of the variety of ports.
     5This page comes to serve as an entry point to track those issues, and to attempt to find high level solutions to some of them, leaving the details to bugzilla.
     7=== Examples of friction points ===
     8* Too much use of internal JSC and WK2 internals in port-specific code
     9* Too many ways to accomplish scroll delegation and TBS
     10* GraphicsContext exposes too many internals, hard to decouple its interface from implementation detail
     11* It's difficult/impossible to port WebKit to a platform without changing the main source tree.
     12* The plurality of build systems makes it too easy to break other ports when files are added/removed.
     13* ...
     16=== Examples of bugs that address those issues: ===
     17[ Port QObject bridge to JSC]
     19[ Qt: Replace internal API usage in Qt WK2 with C API]
     21[ EFL: Replace internal API usage in Qt WK2 with C API]
     23[ Move CoordinatedGraphics to WebCore]