- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / component_updater / ppapi_utils.cc
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 #include "chrome/browser/component_updater/ppapi_utils.h"
5
6 #include <cstring>
7
8 #include "build/build_config.h"
9 #include "ppapi/c/dev/ppb_audio_input_dev.h"
10 #include "ppapi/c/dev/ppb_buffer_dev.h"
11 #include "ppapi/c/dev/ppb_char_set_dev.h"
12 #include "ppapi/c/dev/ppb_crypto_dev.h"
13 #include "ppapi/c/dev/ppb_cursor_control_dev.h"
14 #include "ppapi/c/dev/ppb_device_ref_dev.h"
15 #include "ppapi/c/dev/ppb_file_chooser_dev.h"
16 #include "ppapi/c/dev/ppb_find_dev.h"
17 #include "ppapi/c/dev/ppb_font_dev.h"
18 #include "ppapi/c/dev/ppb_gles_chromium_texture_mapping_dev.h"
19 #include "ppapi/c/dev/ppb_graphics_2d_dev.h"
20 #include "ppapi/c/dev/ppb_ime_input_event_dev.h"
21 #include "ppapi/c/dev/ppb_keyboard_input_event_dev.h"
22 #include "ppapi/c/dev/ppb_memory_dev.h"
23 #include "ppapi/c/dev/ppb_opengles2ext_dev.h"
24 #include "ppapi/c/dev/ppb_printing_dev.h"
25 #include "ppapi/c/dev/ppb_resource_array_dev.h"
26 #include "ppapi/c/dev/ppb_scrollbar_dev.h"
27 #include "ppapi/c/dev/ppb_testing_dev.h"
28 #include "ppapi/c/dev/ppb_text_input_dev.h"
29 #include "ppapi/c/dev/ppb_trace_event_dev.h"
30 #include "ppapi/c/dev/ppb_truetype_font_dev.h"
31 #include "ppapi/c/dev/ppb_url_util_dev.h"
32 #include "ppapi/c/dev/ppb_var_deprecated.h"
33 #include "ppapi/c/dev/ppb_var_resource_dev.h"
34 #include "ppapi/c/dev/ppb_video_capture_dev.h"
35 #include "ppapi/c/dev/ppb_video_decoder_dev.h"
36 #include "ppapi/c/dev/ppb_view_dev.h"
37 #include "ppapi/c/dev/ppb_widget_dev.h"
38 #include "ppapi/c/dev/ppb_zoom_dev.h"
39 #include "ppapi/c/extensions/dev/ppb_ext_alarms_dev.h"
40 #include "ppapi/c/extensions/dev/ppb_ext_socket_dev.h"
41 #include "ppapi/c/ppb_audio.h"
42 #include "ppapi/c/ppb_audio_config.h"
43 #include "ppapi/c/ppb_console.h"
44 #include "ppapi/c/ppb_core.h"
45 #include "ppapi/c/ppb_file_io.h"
46 #include "ppapi/c/ppb_file_ref.h"
47 #include "ppapi/c/ppb_file_system.h"
48 #include "ppapi/c/ppb_fullscreen.h"
49 #include "ppapi/c/ppb_gamepad.h"
50 #include "ppapi/c/ppb_graphics_2d.h"
51 #include "ppapi/c/ppb_graphics_3d.h"
52 #include "ppapi/c/ppb_host_resolver.h"
53 #include "ppapi/c/ppb_image_data.h"
54 #include "ppapi/c/ppb_input_event.h"
55 #include "ppapi/c/ppb_instance.h"
56 #include "ppapi/c/ppb_messaging.h"
57 #include "ppapi/c/ppb_mouse_cursor.h"
58 #include "ppapi/c/ppb_mouse_lock.h"
59 #include "ppapi/c/ppb_net_address.h"
60 #include "ppapi/c/ppb_network_list.h"
61 #include "ppapi/c/ppb_network_monitor.h"
62 #include "ppapi/c/ppb_network_proxy.h"
63 #include "ppapi/c/ppb_opengles2.h"
64 #include "ppapi/c/ppb_tcp_socket.h"
65 #include "ppapi/c/ppb_text_input_controller.h"
66 #include "ppapi/c/ppb_udp_socket.h"
67 #include "ppapi/c/ppb_url_loader.h"
68 #include "ppapi/c/ppb_url_request_info.h"
69 #include "ppapi/c/ppb_url_response_info.h"
70 #include "ppapi/c/ppb_var.h"
71 #include "ppapi/c/ppb_var_array.h"
72 #include "ppapi/c/ppb_var_array_buffer.h"
73 #include "ppapi/c/ppb_var_dictionary.h"
74 #include "ppapi/c/ppb_view.h"
75 #include "ppapi/c/ppb_websocket.h"
76 #include "ppapi/c/private/ppb_content_decryptor_private.h"
77 #include "ppapi/c/private/ppb_ext_crx_file_system_private.h"
78 #include "ppapi/c/private/ppb_file_io_private.h"
79 #include "ppapi/c/private/ppb_file_ref_private.h"
80 #include "ppapi/c/private/ppb_flash.h"
81 #include "ppapi/c/private/ppb_flash_clipboard.h"
82 #include "ppapi/c/private/ppb_flash_device_id.h"
83 #include "ppapi/c/private/ppb_flash_drm.h"
84 #include "ppapi/c/private/ppb_flash_file.h"
85 #include "ppapi/c/private/ppb_flash_font_file.h"
86 #include "ppapi/c/private/ppb_flash_fullscreen.h"
87 #include "ppapi/c/private/ppb_flash_menu.h"
88 #include "ppapi/c/private/ppb_flash_message_loop.h"
89 #include "ppapi/c/private/ppb_flash_print.h"
90 #include "ppapi/c/private/ppb_host_resolver_private.h"
91 #include "ppapi/c/private/ppb_output_protection_private.h"
92 #include "ppapi/c/private/ppb_pdf.h"
93 #include "ppapi/c/private/ppb_proxy_private.h"
94 #include "ppapi/c/private/ppb_talk_private.h"
95 #include "ppapi/c/private/ppb_tcp_server_socket_private.h"
96 #include "ppapi/c/private/ppb_tcp_socket_private.h"
97 #include "ppapi/c/private/ppb_udp_socket_private.h"
98 #include "ppapi/c/private/ppb_uma_private.h"
99 #include "ppapi/c/private/ppb_video_destination_private.h"
100 #include "ppapi/c/private/ppb_video_source_private.h"
101 #include "ppapi/c/private/ppb_x509_certificate_private.h"
102 #include "ppapi/c/trusted/ppb_broker_trusted.h"
103 #include "ppapi/c/trusted/ppb_browser_font_trusted.h"
104 #include "ppapi/c/trusted/ppb_char_set_trusted.h"
105 #include "ppapi/c/trusted/ppb_file_chooser_trusted.h"
106 #include "ppapi/c/trusted/ppb_url_loader_trusted.h"
107 #include "ppapi/thunk/thunk.h"
108
109 #if defined(OS_CHROMEOS)
110 #include "ppapi/c/private/ppb_platform_verification_private.h"
111 #endif
112
113 bool IsSupportedPepperInterface(const char* name) {
114   // TODO(brettw) put these in a hash map for better performance.
115   #define UNPROXIED_IFACE(api_name, iface_str, iface_struct) \
116       if (strcmp(name, iface_str) == 0) \
117         return true;
118   #define PROXIED_IFACE(api_name, iface_str, iface_struct) \
119       UNPROXIED_IFACE(api_name, iface_str, iface_struct)
120
121   #include "ppapi/thunk/interfaces_ppb_private.h"
122   #include "ppapi/thunk/interfaces_ppb_private_flash.h"
123   #include "ppapi/thunk/interfaces_ppb_private_no_permissions.h"
124   #include "ppapi/thunk/interfaces_ppb_public_dev.h"
125   #include "ppapi/thunk/interfaces_ppb_public_stable.h"
126
127   #undef UNPROXIED_IFACE
128   #undef PROXIED_IFACE
129
130   #define LEGACY_IFACE(iface_str, dummy) \
131       if (strcmp(name, iface_str) == 0) \
132         return true;
133
134   #include "ppapi/thunk/interfaces_legacy.h"
135
136   #undef LEGACY_IFACE
137   return false;
138 }