|
1 This directory contains the Chromium WebKit API. |
|
2 |
|
3 |
|
4 OVERVIEW |
|
5 |
|
6 The Chromium WebKit API provides a stable interface to WebCore without |
|
7 revealing any of the WebCore or WTF types to the consumer. |
|
8 |
|
9 The 'public' directory contains the API headers, and the 'src' directory |
|
10 contains the API implementation. The API is intended to be used either as a |
|
11 shared or static library. |
|
12 |
|
13 |
|
14 COMPATIBILITY |
|
15 |
|
16 No attempt is made to support runtime compatibility in a shared library |
|
17 build. Instead, the API is intended to support backwards compatibility at |
|
18 build time. C++ symbols are allowed in other words. |
|
19 |
|
20 |
|
21 DEFINES |
|
22 |
|
23 WEBKIT_IMPLEMENTATION is defined when building the 'src' directory. |
|
24 Consumers should not define this macro. |
|
25 |
|
26 WEBKIT_DLL is defined when building as a shared library. This should be |
|
27 defined when building the 'src' directory, and it should also be defined by |
|
28 the consumer to ensure proper linkage to the shared library. |
|
29 |
|
30 |
|
31 BASIC TYPES |
|
32 |
|
33 Use of STL is prohibited except in cases where it would be allowed in |
|
34 WebCore. This includes non-allocating uses: algorithms, numeric limits, etc. |
|
35 WTF container classes should be used in the implementation of this API. |
|
36 |
|
37 The API includes some usage of WebCore types when WEBKIT_IMPLEMENTATION is |
|
38 defined. This is only done for the convenience to the implementation, and |
|
39 should not be considered part of the Chromium WebKit API. Similarly, STL |
|
40 types are assumed when WEBKIT_IMPLEMENTATION is not defined, which is done |
|
41 for the convenience of the consumer. |