[webkit-dev] Questions of WebKit Architecture

=?ks_c_5601-1987?B?vNW8rrnoW7TcuLuws7nftOO0510=?= sbson at kt.com
Tue Mar 25 22:36:12 PDT 2008


Thanks a lot!

Yeah, that was my guess -- No "official" graphic engine for WebKit.
(Using Cairo might be easier, though. After all, there are a couple of porting examples. :))
I'm happy with 

Well, actually I didn't have any specific platform in my mind when I asked questions. :)
It could be WIPI-style plaform(or middleware), which is ported on top of OS or it could be a OS itself, which is a proprietary one like a embedded OS on the device.

About the choice of port as a base, well, I think I need to do some research on it.
However, Mac port wouldn't be the choice because I will not be able to adopt Object-C as a programming language :)

And thank you for the API documents information as well. 
It would definately be helpful and I'll study it from now on. :)

But still, I'm wondering if APIs on Apple website are "common" APIs.
My guess is this -- There might be something generic and probably Apple WebKit APIs are made of them.

For example, Google's Android WebKit APIs are different from Apple's WebKit APIs.
(Not only the form of programming language, but also the names and functions of the APIs.)
And I think windows port APIs are different from Apple's WebKit APIs, too, even though there are many overlaps.

So, my guess is that there must be something "core" or "common" APIs, 
and Google's Android WebKit APIs, Apple's WebKit APIs and Window port WebKit APIs are made of them. :)

I might be wrong. :) I need to research on it. :)

Thanks again!

Seokbae

-----¿øº» ¸Þ½ÃÁö-----
º¸³½ »ç¶÷: "Joonwon Yi" <joonwon at veloxsoft.com>
º¸³½ ³¯Â¥: 2008-03-26 ¿ÀÈÄ 1:55:22
¹Þ´Â »ç¶÷: "¼Õ¼®¹è[´Ü¸»°³¹ß´ã´ç]" <sbson at kt.com>
ÂüÁ¶: "webkit-dev at lists.webkit.org" <webkit-dev at lists.webkit.org>
Á¦¸ñ: Re: [webkit-dev] Questions of WebKit Architecture


Hi, Seokbae.

I think there is no "official" graphic engine.
Moreover there is no "generic WebKit" or general porting layer. There are only real ports for specific platform/environments.

Your choice of a port as the base depends the characteristics of your platform, I think. (Do you mean some kind of Linux? or WIPI? ^^)

For API documents, you can see official documentation of Apple. It's very helpful. Of course you can see relavant sources of each ports.

- joonwon -

----- Original Message ----- 
From: ¼Õ¼®¹è[´Ü¸»°³¹ß´ã´ç] 
To: Alp Toker 
Cc: webkit-dev at lists.webkit.org 
Sent: Wednesday, March 26, 2008 1:31 PM
Subject: Re: [webkit-dev] Questions of WebKit Architecture


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!!

Seokbae

-----¿øº» ¸Þ½ÃÁö-----
º¸³½ »ç¶÷: "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:


http://www.atoker.com/blog/2008/02/26/developing-hybrid-web-gtk-applications/

> 
> 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
wiki:

  http://trac.webkit.org/projects/webkit/wiki/HackingGtk

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.

Cheers

--
http://www.nuanti.com
the browser experts

 



_______________________________________________
webkit-dev mailing list
webkit-dev at lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20080326/03347e52/attachment-0001.html 


More information about the webkit-dev mailing list