[webkit-dev] Questions of WebKit Architecture

=?ks_c_5601-1987?B?vNW8rrnoW7TcuLuws7nftOO0510=?= sbson at kt.com
Tue Mar 25 21:31:32 PDT 2008

Thank you for your answer.
It is really helpful for me. Thank you.

Well, however, I still have some questions on the role of Cairo backend.

As you described, Cairo is the "official" graphic backend of WebKit/GTK+.
That means, without Cairo backend, you cannot make WebKit/GTK+ port as it is, if I understand it corrrectly.
(Well, if you change the porting part, you might be able to, though)

Well, however, I still have some questions on the role of Cairo backend in "generic" WebKit.
Can we call "cairo" is the "official graphic engine" for the "generic WebKit" 
or is it just one of the options of graphic backends for WebKit?

I mean, let's say I want to port "generic" WebKit on a platform.
(A platform is not well-known platform such as windwos, linux or Mac OS. 
 Let's say it's a proprietary, but has enough features for WebKit porting.)
Then, if I port Cairo on that platform as well, does it mean I don't need to change WebKit code(or chage very little) of rendering part?

In addtion to that, I have 2 more, irrelavant questions with Cairo.
# Question 1
If I port WebKit on a proprietary platform, which port would you recommand for me to choose as a base?

# Question 2
Are there any WebKit APIs documents available?
Official one will be better, but seems like there's no officail documents on APIs, so if you can share your own notes, that would be very much appreciated.

(Well, I think "\WebKit" has APIs.
For example, Files in "\WebKit\win\Interfaces" are APIs for Windows port and "\WebKit\mac" has APIs for Mac OS, it seems.
But, the numbers of APIs for each platform are not the same. And some of them look like internal APIs, not public APIs.
Am I right?)

Thank you for reading and answers in advance!!


-----¿øº» ¸Þ½ÃÁö-----
º¸³½ »ç¶÷: "Alp Toker" <alp at nuanti.com>
º¸³½ ³¯Â¥: 2008-03-25 ¿ÀÈÄ 10:18:01
¹Þ´Â »ç¶÷: "¼Õ¼®¹è[´Ü¸»°³¹ß´ã´ç]" <sbson at kt.com>
ÂüÁ¶: "webkit-dev at lists.webkit.org" <webkit-dev at lists.webkit.org>
Á¦¸ñ: Re: Questions of WebKit Architecture

¼Õ¼®¹è[´Ü¸»°³¹ß´ã´ç] wrote:
> Dear All,
> I've recently started analyzing WebKit for porting it onto a proprietry
> embedded platform.
> I've tried to find documents about WebKit for about a week, but failed.
> Would anyone please let me know where I can find the document about
> WebKit architecture?
> Especially, the picture of WebKit architure would be very helpful, if
> there is any.
> And in-depth analysis of WebCore (directory structures, components,
> etc.) would be very helpful too.

There isn't really much high-level documentation available.

There are some basic diagrams of WebKit overall layout and WebKit/GTK+
class design in these slides:


> Thank you in advance!!
> Seokbae
> * P.S. BTW, Is cairo engine included in the WebKit? It doesn't look like
> so, but someone told me it is so and I'm confused..
> (Well, GTK+ port assumes cairo engine, but still it is not included in
> the WebKit and cairo's not the official graphic engine for WebKit
> expcept for SVG, isn't it?)

The Cairo graphics backend used for all rendering including HTML
content, SVG and Canvas in the GTK+ port is in WebKit SVN. We have a
summary of the code modules (complete with links to the sources) in the


The actual Cairo library isn't bundled with WebKit. You can download and
install this separately from http://www.cairographics.org/

You need Cairo 1.4 or newer and should ideally use the latest release.


the browser experts
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20080326/5d33d9d6/attachment.html 

More information about the webkit-dev mailing list