[webkit-help] Help API: What's the *Private Interfaces for? And how to traverse DOM
Adam Roben
aroben at apple.com
Tue Dec 22 09:31:49 PST 2009
On Dec 22, 2009, at 1:43 AM, yuan liu wrote:
> Hello Guys:
>
> I am planning to make a web-spider that grabs page into snap-shoots on Windows, with the DOM information(boundary boxes, types of every element, etc ).
>
> 1. Are there documents for the COM interfaces?
There are not, but the COM interfaces were designed to mirror the ObjC API, which is documented at <http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/DisplayWebContent/DisplayWebContent.html>.
> 2. I am curious of the *Private Interfaces, e.g. IWebViewPrivate, IWebViewPrivate, what's that 'Private' for?
"Private" indicates that the API is not finalized and is subject to change from one release to another. Again, this mirrors the ObjC API.
> 3. How to traverse the DOM tree to get exact layout of the current webpage? e.g. Get a link's boundary box from a long text paragraph in a child <div>.
WebKit's DOM APIs mirror those in the DOM specification. You'll want to start with IWebFrame::DOMDocument and work your way down from there. I don't know the best way to get the metrics you're asking about.
> I am adopting Project WinLauncher, and facing a lot of frustration. When I try to call some method, like IDOMElement::tagName or IDOMDocumentType::doctype, the system failed and said YOU SHOULD NEVER REACH HERE.
Much of the WebKit API is unimplemented. It has been implemented as it is needed by WebKit clients (mostly Safari). If there's a function you want implemented, feel free to file a request (and possibly submit a patch) to bugs.webkit.org.
-Adam
More information about the webkit-help
mailing list