ppapi_utils.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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_font_dev.h" 17#include "ppapi/c/dev/ppb_gles_chromium_texture_mapping_dev.h" 18#include "ppapi/c/dev/ppb_ime_input_event_dev.h" 19#include "ppapi/c/dev/ppb_memory_dev.h" 20#include "ppapi/c/dev/ppb_messaging_deprecated.h" 21#include "ppapi/c/dev/ppb_opengles2ext_dev.h" 22#include "ppapi/c/dev/ppb_printing_dev.h" 23#include "ppapi/c/dev/ppb_scrollbar_dev.h" 24#include "ppapi/c/dev/ppb_text_input_dev.h" 25#include "ppapi/c/dev/ppb_trace_event_dev.h" 26#include "ppapi/c/dev/ppb_truetype_font_dev.h" 27#include "ppapi/c/dev/ppb_url_util_dev.h" 28#include "ppapi/c/dev/ppb_var_deprecated.h" 29#include "ppapi/c/dev/ppb_video_capture_dev.h" 30#include "ppapi/c/dev/ppb_video_decoder_dev.h" 31#include "ppapi/c/dev/ppb_view_dev.h" 32#include "ppapi/c/dev/ppb_widget_dev.h" 33#include "ppapi/c/dev/ppb_zoom_dev.h" 34#include "ppapi/c/ppb_audio.h" 35#include "ppapi/c/ppb_audio_buffer.h" 36#include "ppapi/c/ppb_audio_config.h" 37#include "ppapi/c/ppb_compositor.h" 38#include "ppapi/c/ppb_compositor_layer.h" 39#include "ppapi/c/ppb_console.h" 40#include "ppapi/c/ppb_core.h" 41#include "ppapi/c/ppb_file_io.h" 42#include "ppapi/c/ppb_file_mapping.h" 43#include "ppapi/c/ppb_file_ref.h" 44#include "ppapi/c/ppb_file_system.h" 45#include "ppapi/c/ppb_fullscreen.h" 46#include "ppapi/c/ppb_gamepad.h" 47#include "ppapi/c/ppb_graphics_2d.h" 48#include "ppapi/c/ppb_graphics_3d.h" 49#include "ppapi/c/ppb_host_resolver.h" 50#include "ppapi/c/ppb_image_data.h" 51#include "ppapi/c/ppb_input_event.h" 52#include "ppapi/c/ppb_instance.h" 53#include "ppapi/c/ppb_media_stream_audio_track.h" 54#include "ppapi/c/ppb_media_stream_video_track.h" 55#include "ppapi/c/ppb_messaging.h" 56#include "ppapi/c/ppb_mouse_cursor.h" 57#include "ppapi/c/ppb_mouse_lock.h" 58#include "ppapi/c/ppb_net_address.h" 59#include "ppapi/c/ppb_network_list.h" 60#include "ppapi/c/ppb_network_monitor.h" 61#include "ppapi/c/ppb_network_proxy.h" 62#include "ppapi/c/ppb_opengles2.h" 63#include "ppapi/c/ppb_tcp_socket.h" 64#include "ppapi/c/ppb_text_input_controller.h" 65#include "ppapi/c/ppb_udp_socket.h" 66#include "ppapi/c/ppb_url_loader.h" 67#include "ppapi/c/ppb_url_request_info.h" 68#include "ppapi/c/ppb_url_response_info.h" 69#include "ppapi/c/ppb_var.h" 70#include "ppapi/c/ppb_var_array.h" 71#include "ppapi/c/ppb_var_array_buffer.h" 72#include "ppapi/c/ppb_var_dictionary.h" 73#include "ppapi/c/ppb_video_decoder.h" 74#include "ppapi/c/ppb_video_frame.h" 75#include "ppapi/c/ppb_view.h" 76#include "ppapi/c/ppb_websocket.h" 77#include "ppapi/c/private/ppb_content_decryptor_private.h" 78#include "ppapi/c/private/ppb_ext_crx_file_system_private.h" 79#include "ppapi/c/private/ppb_file_io_private.h" 80#include "ppapi/c/private/ppb_file_ref_private.h" 81#include "ppapi/c/private/ppb_find_private.h" 82#include "ppapi/c/private/ppb_flash.h" 83#include "ppapi/c/private/ppb_flash_clipboard.h" 84#include "ppapi/c/private/ppb_flash_device_id.h" 85#include "ppapi/c/private/ppb_flash_drm.h" 86#include "ppapi/c/private/ppb_flash_file.h" 87#include "ppapi/c/private/ppb_flash_font_file.h" 88#include "ppapi/c/private/ppb_flash_fullscreen.h" 89#include "ppapi/c/private/ppb_flash_menu.h" 90#include "ppapi/c/private/ppb_flash_message_loop.h" 91#include "ppapi/c/private/ppb_flash_print.h" 92#include "ppapi/c/private/ppb_host_resolver_private.h" 93#include "ppapi/c/private/ppb_input_event_private.h" 94#include "ppapi/c/private/ppb_isolated_file_system_private.h" 95#include "ppapi/c/private/ppb_output_protection_private.h" 96#include "ppapi/c/private/ppb_pdf.h" 97#include "ppapi/c/private/ppb_proxy_private.h" 98#include "ppapi/c/private/ppb_talk_private.h" 99#include "ppapi/c/private/ppb_tcp_server_socket_private.h" 100#include "ppapi/c/private/ppb_tcp_socket_private.h" 101#include "ppapi/c/private/ppb_testing_private.h" 102#include "ppapi/c/private/ppb_udp_socket_private.h" 103#include "ppapi/c/private/ppb_uma_private.h" 104#include "ppapi/c/private/ppb_video_destination_private.h" 105#include "ppapi/c/private/ppb_video_source_private.h" 106#include "ppapi/c/private/ppb_x509_certificate_private.h" 107#include "ppapi/c/trusted/ppb_broker_trusted.h" 108#include "ppapi/c/trusted/ppb_browser_font_trusted.h" 109#include "ppapi/c/trusted/ppb_char_set_trusted.h" 110#include "ppapi/c/trusted/ppb_file_chooser_trusted.h" 111#include "ppapi/c/trusted/ppb_url_loader_trusted.h" 112#include "ppapi/thunk/thunk.h" 113 114#if defined(OS_CHROMEOS) 115#include "ppapi/c/private/ppb_platform_verification_private.h" 116#endif 117 118bool IsSupportedPepperInterface(const char* name) { 119// TODO(brettw) put these in a hash map for better performance. 120#define PROXIED_IFACE(iface_str, iface_struct) \ 121 if (strcmp(name, iface_str) == 0) \ 122 return true; 123 124#include "ppapi/thunk/interfaces_ppb_private.h" 125#include "ppapi/thunk/interfaces_ppb_private_flash.h" 126#include "ppapi/thunk/interfaces_ppb_private_no_permissions.h" 127#include "ppapi/thunk/interfaces_ppb_public_dev.h" 128#include "ppapi/thunk/interfaces_ppb_public_dev_channel.h" 129#include "ppapi/thunk/interfaces_ppb_public_stable.h" 130 131#undef PROXIED_IFACE 132 133#define LEGACY_IFACE(iface_str, dummy) \ 134 if (strcmp(name, iface_str) == 0) \ 135 return true; 136 137#include "ppapi/thunk/interfaces_legacy.h" 138 139#undef LEGACY_IFACE 140 return false; 141} 142