[webkit-dev] Question about porting webkit

Zalan.Bujtas at nokia.com Zalan.Bujtas at nokia.com
Fri May 25 07:56:54 PDT 2007

The s60 webkit trunk (current codebase) is still based on the tiger release of Safari. (http://trac.webkit.org/projects/webkit/browser/releases/Apple/Tiger)  and that's why you see kwq, bridge and khtml directories there. Webkit trunk merged those directories to /platform /page etc. 


From: webkit-dev-bounces at lists.webkit.org [mailto:webkit-dev-bounces at lists.webkit.org] On Behalf Of ext Jin, Yihua
Sent: Friday, May 25, 2007 10:49 AM
To: Oliver Hunt
Cc: webkit-dev
Subject: Re: Re: [webkit-dev] Question about porting webkit

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 <mailto:<!--AID_FROMADDRESS_BEGIN-->jyh.hsc at 163.com<!--AID_FROMADDRESS_END-->> 

	----- Original Message ----- 
	From: Oliver Hunt <mailto:ojh16 at student.canterbury.ac.nz>  
	To: jyh.hsc <mailto:jyh.hsc at 163.com>  
	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

More information about the webkit-dev mailing list