[webkit-dev] Questions on WebCore compoments

Darin Adler darin at apple.com
Wed Apr 2 03:35:05 PDT 2008

On Apr 2, 2008, at 3:09 AM, 손석배[단말개발담당] wrote:

> - bindings: Is it for language conversion (like C++ <-> javascript, C 
> ++ <-> Objective C? then, what is "script" folder for?)

Yes, it's for JavaScript and other language bindings to the DOM, which  
is implemented in C++. There is no "script" folder.

> - bridge: no clue. (looks like language-conversion-related folder to  
> me) what is the difference between "bindings" and "bridge"? And why  
> does it have plugin-related files?

The bridge directory has the JavaScript language bridge, which is a  
way to call to and from JavaScript in Java and with C in the Netscape  
plug-in API.

> - editing: looks like an editor. Then, why is it here in web browser  
> engine? and how is it related to other compoment?

WebKit includes editing support for editable HTML. This can be used to  
make an entire document editable, and it's used that way in Apple's  
Mail application for example, but it's also supported within web pages  
and is the basis for pages that do rich text editing (the features are  
called designmode and contenteditable) and is used to implement  
elements like <input type=text> and <textarea> as well.

> - page? no clue..

The page directory has the basic objects to manage web pages and  
frames. The class Page that is basically the "main browser object",  
the class Frame that is used for each frame within the page, and other  
fundamentals like that.

> - plugin: looks like Netscape style plugin support (NPAPI). how does  
> it work and what component does it work with?
>               (and.. plugins such as PDF or Flash are pluggable with  
> webkit?)

The WebCore part of Netscape plug-in support is in that directory. But  
many of the details are platform-specific and in the WebKit  
implementations for each platform.

I can't really answer the question "what component does it work with"  
because I don't know what it means.

Plug-ins like the Flash plug-in work with WebKit but the level of  
support and whether they work at all depends on which port of WebKit  
you're talking about. Plug-in support is an example of something where  
there is some considerable work for each platform that has to be done,  
partly because the Netscape plug-in API has many platform-specific  

For example, Apple's ports of WebKit on both Mac OS X and Windows  
support plug-ins and work with most existing plug-ins.

     -- Darin

More information about the webkit-dev mailing list