| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ppapi/thunk/interfaces_preamble.h" | 5 #include "ppapi/thunk/interfaces_preamble.h" |
| 6 | 6 |
| 7 // This file contains lists of interfaces. It's intended to be included by | 7 // This file contains lists of interfaces. It's intended to be included by |
| 8 // another file which defines implementations of the macros. This allows files | 8 // another file which defines implementations of the macros. This allows files |
| 9 // to do specific registration tasks for each supported interface. | 9 // to do specific registration tasks for each supported interface. |
| 10 // | 10 // |
| 11 // When adding an interface, you must also add the hash value for the | 11 // When adding an interface, you must also add the hash value for the |
| 12 // interface's name to tools/metrics/histograms/histograms.xml. This is so we | 12 // interface's name to tools/metrics/histograms/histograms.xml. This is so we |
| 13 // get human-readable UMA tracking for interface usage. | 13 // get human-readable UMA tracking for interface usage. |
| 14 // | 14 // |
| 15 // Use the 'pepper_hash_for_uma' tool in ppapi/tools to determine the hash for | 15 // Use the 'pepper_hash_for_uma' tool in ppapi/tools to determine the hash for |
| 16 // a given interface string. | 16 // a given interface string. |
| 17 | 17 |
| 18 // Api categories | 18 // Api categories |
| 19 // -------------- | 19 // -------------- |
| 20 // Enumerates the categories of APIs. These correspnd to the *_api.h files in | 20 // Enumerates the categories of APIs. These correspnd to the *_api.h files in |
| 21 // this directory. One API may implement one or more actual interfaces. | 21 // this directory. One API may implement one or more actual interfaces. |
| 22 // | 22 // |
| 23 // For PROXIED_APIs, these also correspond to *_Proxy objects. The proxied ones | 23 // For PROXIED_APIs, these also correspond to *_Proxy objects. The proxied ones |
| 24 // define factory functions for each of these classes. UNPROXIED_APIs are ones | 24 // define factory functions for each of these classes. |
| 25 // that exist in the webkit/plugins/ppapi/*_impl.h, but not in the proxy. | |
| 26 PROXIED_API(PPB_Audio) | 25 PROXIED_API(PPB_Audio) |
| 27 PROXIED_API(PPB_Core) | 26 PROXIED_API(PPB_Core) |
| 28 PROXIED_API(PPB_Graphics3D) | 27 PROXIED_API(PPB_Graphics3D) |
| 29 PROXIED_API(PPB_ImageData) | 28 PROXIED_API(PPB_ImageData) |
| 30 PROXIED_API(PPB_Instance) | 29 PROXIED_API(PPB_Instance) |
| 31 | 30 |
| 32 // AudioConfig isn't proxied in the normal way, we have only local classes and | |
| 33 // serialize it to a struct when we need it on the host side. | |
| 34 UNPROXIED_API(PPB_AudioConfig) | |
| 35 | |
| 36 // Interfaces | 31 // Interfaces |
| 37 // ---------- | 32 // ---------- |
| 38 // Enumerates interfaces as (api_name, interface_name, interface_struct). | 33 // Enumerates interfaces as (api_name, interface_name, interface_struct). |
| 39 // | 34 // |
| 40 // The api_name corresponds to the class in the list above for the object | 35 // The api_name corresponds to the class in the list above for the object |
| 41 // that implements the API. Some things may be special and aren't implemented | 36 // that implements the API. Some things may be special and aren't implemented |
| 42 // by any specific API object, and we use "NoAPIName" for those. Implementors | 37 // by any specific API object, and we use "NoAPIName" for those. Implementors |
| 43 // of these macros should handle this case. There can be more than one line | 38 // of these macros should handle this case. There can be more than one line |
| 44 // referring to the same api_name (typically different versions of the | 39 // referring to the same api_name (typically different versions of the |
| 45 // same interface). | 40 // same interface). |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 | 92 |
| 98 // Note: PPB_Var and PPB_VarArrayBuffer are special and registered manually. | 93 // Note: PPB_Var and PPB_VarArrayBuffer are special and registered manually. |
| 99 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_0, PPB_View_1_0) | 94 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_0, PPB_View_1_0) |
| 100 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_1, PPB_View_1_1) | 95 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_1, PPB_View_1_1) |
| 101 | 96 |
| 102 // This has no corresponding _Proxy object since it does no IPC. | 97 // This has no corresponding _Proxy object since it does no IPC. |
| 103 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_0, PPB_AudioConfig_1_0) | 98 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_0, PPB_AudioConfig_1_0) |
| 104 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_1, PPB_AudioConfig_1_1) | 99 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_1, PPB_AudioConfig_1_1) |
| 105 | 100 |
| 106 #include "ppapi/thunk/interfaces_postamble.h" | 101 #include "ppapi/thunk/interfaces_postamble.h" |
| OLD | NEW |