[webkit-dev] Directories and KWQ

David Hyatt hyatt at apple.com
Fri Feb 10 03:22:00 PST 2006

On Feb 9, 2006, at 10:56 PM, Kevin Ollivier wrote:

> Hi all,
> I've been watching the directory moves, and I was wondering if  
> there were any plans on what to do about the KWQ dir, as portions  
> of that will definitely need to be migrated to platform-specific code.

KWQ is going to go away completely.

We basically have two new directories that will ultimately be crucial  
to building a port.  These are very much under construction right  
now.  Files are moving around a lot.

The first is "platform" and this consists of all the low-level  
constructs that sit underneath the engine.  This includes most of the  
old Qt classes from KWQ as well as some additional data structures  
and classes.  Most of this directory is cross-platform, and platform- 
specific implementations of objects (like widgets, timers, etc.) go  
under respective platform directories.  Right now we have two sub- 
directories for specific operating systems under platform, called mac  
and win.

In addition we have two graphics libraries we are using now:  
CoreGraphics and Cairo.  Cairo is itself a cross-platform graphics  
layer, and so we didn't just stick it under the Windows directory.   
Instead we put it under a cairo subdirectory in platform.

A given port can then pick technology pieces it needs based off both  
the target OS (e.g., the mac/win directory) or a particular  
technology like Cairo.  For example Windows is using Cairo right now  
but could in theory be plugged into something else.  In theory the  
Mac could be plugged into Cairo instead of CoreGraphics.

A wxWidgets port would presumably put low-level code that used  
wxWidgets classes in a wxWidgets subdirectory under platform.

We are also in the process of developing a bridge directory.  This  
directory is about the engine communicating "up and out" to an  
enclosing layer.  In the Mac's case that layer is WebKit.  We have  
native code subdirectories here too (only mac currently).

(hyatt at apple.com)

More information about the webkit-dev mailing list