You forgot to mention virtual functions, which is another case where you do _not_ use WEBKIT_API.<div><br></div><div>J<br><br><div class="gmail_quote">On Thu, Dec 2, 2010 at 9:27 PM, Darin Fisher <span dir="ltr">&lt;<a href="mailto:darin@chromium.org">darin@chromium.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>If you do not work on the Chromium port of WebKit, you can stop reading now.</div><div><br></div>I&#39;ve noticed that there is some confusion about how to use WEBKIT_API properly.<div>

<div>WEBKIT_API causes a function to be exported from WebKit when it is built as a DLL,</div>
<div>allowing Chromium to call the function.</div><div><br></div><div>The rule is actually quite simple:</div><div><br></div><div>   WEBKIT_API should be affixed to any public, non-inline function that is intended</div><div>


   for the embedder (Chromium) to call.</div><div><br></div><div>Put another way:</div><div>-- Do not apply WEBKIT_API to inline functions.</div><div>-- Do not apply WEBKIT_API to private functions.</div><div>-- Do not apply WEBKIT_API to public functions within a #if WEBKIT_IMPLEMENTATION block.</div>


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


<div><br></div><div>Thanks!</div><div>-Darin</div><div><br></div></div>
<br>_______________________________________________<br>
webkit-dev mailing list<br>
<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a href="http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev" target="_blank">http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev</a><br>
<br></blockquote></div><br></div>