[webkit-dev] Question about porting webkit

Jin, Yihua jyh.hsc at 163.com
Fri May 25 07:48:52 PDT 2007

Thank you.
And from the source of apple webkit, it seems apple have almost kicked off KHTML,
and on the other hand, s60 webkit seems to preserve much of the original work.

Jin, Yihua£¬jyh.hsc at 163.com
----- Original Message ----- 
From: Oliver Hunt 
To: jyh.hsc 
Sent: 2007-05-25, 21:42:54
Subject: Re: [webkit-dev] Question about porting webkit

I'll leave any discussion on the differences between WebKit and KHTML to other who know more about it than me.

But no, WebKit is in no way tied to Qt, and there are active ports of WebKit from Mac to Qt, GDK (or GTK, or something), and the WX toolkit.  

Much of the design of the architecture of WebKit has changed over the last few years, and as part of this KWQ no longer exists.

At a very high level WebKit  now has 3 components
* JavaScriptCore -- the javascript interpreter (obviously ;) ), more or less completely cross platform
* WebCore -- The rendering and layout engine
* WebKit -- Provides the system api

JSC is basically crossplatform so i'm ignoring it

Only WebCore and WebKit require substantial platform work.  The WebKit component/module/thingy is the interface between JSC, WebCore, and the host platform, so by it's very nature is more or less entirely platform specific.  As time goes by we're trying to reduce the size of WebKit down into a much thinner layer to make porting WebKit (the library) easier.

WebCore is the really interesting bit, the majority of it is cross platform, however different platforms have different networking libraries, rendering libraries, etc.  So we have a number of abstractions that wrap platform specific API, eg. PlatformMouseEvent (to wrpa mouse evevnts), DragData (that maps platform drag and drop information), and so on to varying levels.  The rest of WebCore is then written in terms of those abstractions, so that is necessary to port webcore to another platofrm is to implement versions of those abstractions for the target paltform.  (though that's a big "all") 

You can see most of this at work in the WebCore/platform directory -- http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/platform

I've probably made a few mistakes, but i don't doubt that other people will swoop in to correct any wild fallacies on my part...


On May 25, 2007, at 4:23 AM, Jin, Yihua wrote:

Hi all:
   Based on my understanding, the webcore of webkit using KHTML as its rendering engine, 
and KTHML is component from KDE/Qt, so is that means Apple's webkits can be only port to platform
that support KDE/Qt?
   Another question is that I found both apple's webkit and Nokia's S60 webkits contains KWQ, I'm puzzled
what role does this part play and what's the relationship beween KWQ and KHTML?

thanks very much

Best Regards, Yihua
webkit-dev mailing list
webkit-dev at lists.webkit.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/webkit-dev/attachments/20070525/fc7ba10e/attachment.html

More information about the webkit-dev mailing list