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 | |
44 The public/testing directory defines an interface for testing Blink. You can | 42 The public/testing directory defines an interface for testing Blink. You can |
45 use this part of the API to load the TestRunner module used in Blink's test | 43 use this part of the API to load the TestRunner module used in Blink's test |
46 suite. | 44 suite. |
47 | 45 |
48 Basic Types | 46 Basic Types |
49 ----------- | 47 ----------- |
50 | 48 |
51 The API does not use STL types, except for a small number of STL types that are | 49 The API does not use STL types, except for a small number of STL types that are |
52 used internally by Blink (e.g., std::pair). Instead, we use WTF containers to | 50 used internally by Blink (e.g., std::pair). Instead, we use WTF containers to |
53 implement the API. | 51 implement the API. |
54 | 52 |
55 The API uses some internal types (e.g., WebCore::Node). Typically, these types | 53 The API uses some internal types (e.g., WebCore::Node). Typically, these types |
56 are forward declared and are opaque to consumers of the API. In other cases, | 54 are forward declared and are opaque to consumers of the API. In other cases, |
57 the full definitions are available behind the WEBKIT_IMPLEMENTATION | 55 the full definitions are available behind the WEBKIT_IMPLEMENTATION |
58 preprocessor macro. In both cases, we continue to regard these internal types | 56 preprocessor macro. In both cases, we continue to regard these internal types |
59 as implementation details of Blink, and consumers of the API should not rely | 57 as implementation details of Blink, and consumers of the API should not rely |
60 upon these types. | 58 upon these types. |
61 | 59 |
62 Similarly, the API uses STL types outside of the WEBKIT_IMPLEMENTATION | 60 Similarly, the API uses STL types outside of the WEBKIT_IMPLEMENTATION |
63 preprocessor macro, which is for the convenience of the consumer. | 61 preprocessor macro, which is for the convenience of the consumer. |
64 | 62 |
65 Contact Information | 63 Contact Information |
66 ------------------- | 64 ------------------- |
67 | 65 |
68 The public API also contains an OWNERS file, which lists a number of people who | 66 The public API also contains an OWNERS file, which lists a number of people who |
69 are knowledgeable about the API. If you have questions or comments about the | 67 are knowledgeable about the API. If you have questions or comments about the |
70 API that might be of general interest to the Blink community at large, please | 68 API that might be of general interest to the Blink community at large, please |
71 consider directing your inquiry to blink-dev@chromium.org rather than to the | 69 consider directing your inquiry to blink-dev@chromium.org rather than to the |
72 OWNERS specifically. | 70 OWNERS specifically. |
OLD | NEW |