[webkit-dev] [chromium] using WEBKIT_API properly

Darin Fisher darin at chromium.org
Thu Dec 2 13:27:50 PST 2010


If you do not work on the Chromium port of WebKit, you can stop reading now.

I've noticed that there is some confusion about how to use WEBKIT_API
properly.
WEBKIT_API causes a function to be exported from WebKit when it is built as
a DLL,
allowing Chromium to call the function.

The rule is actually quite simple:

   WEBKIT_API should be affixed to any public, non-inline function that is
intended
   for the embedder (Chromium) to call.

Put another way:
-- Do not apply WEBKIT_API to inline functions.
-- Do not apply WEBKIT_API to private functions.
-- Do not apply WEBKIT_API to public functions within a #if
WEBKIT_IMPLEMENTATION block.

(Of related note, we never put WEBKIT_API on public constructors and
destructors.
Instead, we have constructors call an initialize method and destructors call
a reset
method.  Those then end up having the WEBKIT_API prefix applied.)

Thanks!
-Darin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20101202/37cd762f/attachment.html>


More information about the webkit-dev mailing list