OLD | NEW |
1 Blink Public API | 1 Blink Public API |
2 ================ | 2 ================ |
3 | 3 |
4 This directory contains the public API for Blink. The API consists of a number | 4 This directory contains the public API for Blink. The API consists of a number |
5 of C++ header files, scripts, and GYP build files. We consider all other files | 5 of C++ header files, scripts, and GYP build files. We consider all other files |
6 in Blink to be implementation details, which are subject to change at any time | 6 in Blink to be implementation details, which are subject to change at any time |
7 without notice. | 7 without notice. |
8 | 8 |
9 The primary consumer of this API is Chromium's Content layer. If you are | 9 The primary consumer of this API is Chromium's Content layer. If you are |
10 interested in using Blink, please consider interfacing with Blink via the | 10 interested in using Blink, please consider interfacing with Blink via the |
(...skipping 21 matching lines...) Expand all Loading... |
32 Blink is designed to run in a sandbox and interacts with the operating system | 32 Blink is designed to run in a sandbox and interacts with the operating system |
33 via the platform API. The central interface in this part of the API is | 33 via the platform API. The central interface in this part of the API is |
34 Platform, which is a pure virtual interface from which Blink obtains many other | 34 Platform, which is a pure virtual interface from which Blink obtains many other |
35 interfaces. | 35 interfaces. |
36 | 36 |
37 The public/web directory defines an interface to Blink's implementation of the | 37 The public/web directory defines an interface to Blink's implementation of the |
38 web platform, including the Document Object Model (DOM). The central interface | 38 web platform, including the Document Object Model (DOM). The central interface |
39 in this part of the API is WebView, which is a good starting point for | 39 in this part of the API is WebView, which is a good starting point for |
40 exploring the API. | 40 exploring the API. |
41 | 41 |
| 42 Note that public/platform should not depend on public/web. |
| 43 |
42 The public/testing directory defines an interface for testing Blink. You can | 44 The public/testing directory defines an interface for testing Blink. You can |
43 use this part of the API to load the TestRunner module used in Blink's test | 45 use this part of the API to load the TestRunner module used in Blink's test |
44 suite. | 46 suite. |
45 | 47 |
46 Basic Types | 48 Basic Types |
47 ----------- | 49 ----------- |
48 | 50 |
49 The API does not use STL types, except for a small number of STL types that are | 51 The API does not use STL types, except for a small number of STL types that are |
50 used internally by Blink (e.g., std::pair). Instead, we use WTF containers to | 52 used internally by Blink (e.g., std::pair). Instead, we use WTF containers to |
51 implement the API. | 53 implement the API. |
52 | 54 |
53 The API uses some internal types (e.g., WebCore::Node). Typically, these types | 55 The API uses some internal types (e.g., WebCore::Node). Typically, these types |
54 are forward declared and are opaque to consumers of the API. In other cases, | 56 are forward declared and are opaque to consumers of the API. In other cases, |
55 the full definitions are available behind the WEBKIT_IMPLEMENTATION | 57 the full definitions are available behind the WEBKIT_IMPLEMENTATION |
56 preprocessor macro. In both cases, we continue to regard these internal types | 58 preprocessor macro. In both cases, we continue to regard these internal types |
57 as implementation details of Blink, and consumers of the API should not rely | 59 as implementation details of Blink, and consumers of the API should not rely |
58 upon these types. | 60 upon these types. |
59 | 61 |
60 Similarly, the API uses STL types outside of the WEBKIT_IMPLEMENTATION | 62 Similarly, the API uses STL types outside of the WEBKIT_IMPLEMENTATION |
61 preprocessor macro, which is for the convenience of the consumer. | 63 preprocessor macro, which is for the convenience of the consumer. |
62 | 64 |
63 Contact Information | 65 Contact Information |
64 ------------------- | 66 ------------------- |
65 | 67 |
66 The public API also contains an OWNERS file, which lists a number of people who | 68 The public API also contains an OWNERS file, which lists a number of people who |
67 are knowledgeable about the API. If you have questions or comments about the | 69 are knowledgeable about the API. If you have questions or comments about the |
68 API that might be of general interest to the Blink community at large, please | 70 API that might be of general interest to the Blink community at large, please |
69 consider directing your inquiry to blink-dev@chromium.org rather than to the | 71 consider directing your inquiry to blink-dev@chromium.org rather than to the |
70 OWNERS specifically. | 72 OWNERS specifically. |
OLD | NEW |