[webkit-help] WebKit+cairo javascript print support and missing entry point

Brent Fulgham bfulgham at gmail.com
Tue Jul 13 12:42:37 PDT 2010


Hi Sunil,

On Mon, Jul 12, 2010 at 7:56 PM, sunil <dummy at richsuib.com> wrote:
> 1. whenever I try to run the generated WebKit.exe, it fails on loading
> WebKit.dll with the message "The procedure entry point FontMetrics could not
> be located in the dynamic link library Webkit.dll."  Is WebKit.exe even
> supposed to run the Cairo port, or did I somehow mess up my build?
> Obviously, this problem does not exist with WinLauncher.exe or the test
> wrapper app I built (which is essentially a clone of WinLauncher).

The FontMetrics call (and the associated WebKitGraphics.cpp
implementation) is used internally by Safari (and perhaps other Apple
products), and are not really part of the "WebKit" API.  I elected not
to implement them, as I did not have any specific need.  If you have a
compelling use case, we can see about getting them activated for
non-Apple builds.

> 2. One of my test html pages has a javascript button click event handler
> that invokes window.print(). For some reason, this call silently fails when
> the page is loaded into WinLauncher. FWIW, I see the same behavior with the
> Chromium Embedded Framework. But the windows (non-cairo) WebKit.exe and
> Safari do not fail this call. And neither does a build of Chromium. Any
> pointers?

By "Fail Silently" you probably mean nothing happens.

To implement printing support, you need to implement the printing
support functions in the IWebUIDelegate class.  I implemented enough
of this in the WinLauncher example to use the menu to perform
printing, but I did not implement the "printFrame" method.

If you implement printFrame, then everything should work.

-Brent


More information about the webkit-help mailing list