Home | History | Annotate | Download | only in component_updater
      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 "ppapi/c/dev/ppb_audio_input_dev.h"
      9 #include "ppapi/c/dev/ppb_buffer_dev.h"
     10 #include "ppapi/c/dev/ppb_char_set_dev.h"
     11 #include "ppapi/c/dev/ppb_crypto_dev.h"
     12 #include "ppapi/c/dev/ppb_cursor_control_dev.h"
     13 #include "ppapi/c/dev/ppb_device_ref_dev.h"
     14 #include "ppapi/c/dev/ppb_file_chooser_dev.h"
     15 #include "ppapi/c/dev/ppb_find_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_graphics_2d_dev.h"
     19 #include "ppapi/c/dev/ppb_ime_input_event_dev.h"
     20 #include "ppapi/c/dev/ppb_keyboard_input_event_dev.h"
     21 #include "ppapi/c/dev/ppb_memory_dev.h"
     22 #include "ppapi/c/dev/ppb_opengles2ext_dev.h"
     23 #include "ppapi/c/dev/ppb_printing_dev.h"
     24 #include "ppapi/c/dev/ppb_resource_array_dev.h"
     25 #include "ppapi/c/dev/ppb_scrollbar_dev.h"
     26 #include "ppapi/c/dev/ppb_testing_dev.h"
     27 #include "ppapi/c/dev/ppb_text_input_dev.h"
     28 #include "ppapi/c/dev/ppb_trace_event_dev.h"
     29 #include "ppapi/c/dev/ppb_truetype_font_dev.h"
     30 #include "ppapi/c/dev/ppb_url_util_dev.h"
     31 #include "ppapi/c/dev/ppb_var_deprecated.h"
     32 #include "ppapi/c/dev/ppb_video_capture_dev.h"
     33 #include "ppapi/c/dev/ppb_video_decoder_dev.h"
     34 #include "ppapi/c/dev/ppb_view_dev.h"
     35 #include "ppapi/c/dev/ppb_widget_dev.h"
     36 #include "ppapi/c/dev/ppb_zoom_dev.h"
     37 #include "ppapi/c/extensions/dev/ppb_ext_alarms_dev.h"
     38 #include "ppapi/c/extensions/dev/ppb_ext_socket_dev.h"
     39 #include "ppapi/c/ppb_audio.h"
     40 #include "ppapi/c/ppb_audio_config.h"
     41 #include "ppapi/c/ppb_console.h"
     42 #include "ppapi/c/ppb_core.h"
     43 #include "ppapi/c/ppb_file_io.h"
     44 #include "ppapi/c/ppb_file_ref.h"
     45 #include "ppapi/c/ppb_file_system.h"
     46 #include "ppapi/c/ppb_fullscreen.h"
     47 #include "ppapi/c/ppb_gamepad.h"
     48 #include "ppapi/c/ppb_graphics_2d.h"
     49 #include "ppapi/c/ppb_graphics_3d.h"
     50 #include "ppapi/c/ppb_host_resolver.h"
     51 #include "ppapi/c/ppb_image_data.h"
     52 #include "ppapi/c/ppb_input_event.h"
     53 #include "ppapi/c/ppb_instance.h"
     54 #include "ppapi/c/ppb_messaging.h"
     55 #include "ppapi/c/ppb_mouse_cursor.h"
     56 #include "ppapi/c/ppb_mouse_lock.h"
     57 #include "ppapi/c/ppb_net_address.h"
     58 #include "ppapi/c/ppb_network_proxy.h"
     59 #include "ppapi/c/ppb_opengles2.h"
     60 #include "ppapi/c/ppb_tcp_socket.h"
     61 #include "ppapi/c/ppb_text_input_controller.h"
     62 #include "ppapi/c/ppb_udp_socket.h"
     63 #include "ppapi/c/ppb_url_loader.h"
     64 #include "ppapi/c/ppb_url_request_info.h"
     65 #include "ppapi/c/ppb_url_response_info.h"
     66 #include "ppapi/c/ppb_var.h"
     67 #include "ppapi/c/ppb_var_array.h"
     68 #include "ppapi/c/ppb_var_array_buffer.h"
     69 #include "ppapi/c/ppb_var_dictionary.h"
     70 #include "ppapi/c/ppb_view.h"
     71 #include "ppapi/c/ppb_websocket.h"
     72 #include "ppapi/c/private/ppb_content_decryptor_private.h"
     73 #include "ppapi/c/private/ppb_ext_crx_file_system_private.h"
     74 #include "ppapi/c/private/ppb_file_io_private.h"
     75 #include "ppapi/c/private/ppb_file_ref_private.h"
     76 #include "ppapi/c/private/ppb_flash.h"
     77 #include "ppapi/c/private/ppb_flash_clipboard.h"
     78 #include "ppapi/c/private/ppb_flash_device_id.h"
     79 #include "ppapi/c/private/ppb_flash_drm.h"
     80 #include "ppapi/c/private/ppb_flash_file.h"
     81 #include "ppapi/c/private/ppb_flash_font_file.h"
     82 #include "ppapi/c/private/ppb_flash_fullscreen.h"
     83 #include "ppapi/c/private/ppb_flash_menu.h"
     84 #include "ppapi/c/private/ppb_flash_message_loop.h"
     85 #include "ppapi/c/private/ppb_flash_print.h"
     86 #include "ppapi/c/private/ppb_gpu_blacklist_private.h"
     87 #include "ppapi/c/private/ppb_host_resolver_private.h"
     88 #include "ppapi/c/private/ppb_network_list_private.h"
     89 #include "ppapi/c/private/ppb_network_monitor_private.h"
     90 #include "ppapi/c/private/ppb_pdf.h"
     91 #include "ppapi/c/private/ppb_proxy_private.h"
     92 #include "ppapi/c/private/ppb_talk_private.h"
     93 #include "ppapi/c/private/ppb_tcp_server_socket_private.h"
     94 #include "ppapi/c/private/ppb_tcp_socket_private.h"
     95 #include "ppapi/c/private/ppb_udp_socket_private.h"
     96 #include "ppapi/c/private/ppb_uma_private.h"
     97 #include "ppapi/c/private/ppb_video_destination_private.h"
     98 #include "ppapi/c/private/ppb_video_source_private.h"
     99 #include "ppapi/c/private/ppb_x509_certificate_private.h"
    100 #include "ppapi/c/trusted/ppb_broker_trusted.h"
    101 #include "ppapi/c/trusted/ppb_browser_font_trusted.h"
    102 #include "ppapi/c/trusted/ppb_char_set_trusted.h"
    103 #include "ppapi/c/trusted/ppb_file_chooser_trusted.h"
    104 #include "ppapi/c/trusted/ppb_file_io_trusted.h"
    105 #include "ppapi/c/trusted/ppb_url_loader_trusted.h"
    106 #include "ppapi/thunk/thunk.h"
    107 
    108 bool IsSupportedPepperInterface(const char* name) {
    109   // TODO(brettw) put these in a hash map for better performance.
    110   #define UNPROXIED_IFACE(api_name, iface_str, iface_struct) \
    111       if (strcmp(name, iface_str) == 0) \
    112         return true;
    113   #define PROXIED_IFACE(api_name, iface_str, iface_struct) \
    114       UNPROXIED_IFACE(api_name, iface_str, iface_struct)
    115 
    116   #include "ppapi/thunk/interfaces_ppb_private.h"
    117   #include "ppapi/thunk/interfaces_ppb_private_flash.h"
    118   #include "ppapi/thunk/interfaces_ppb_private_no_permissions.h"
    119   #include "ppapi/thunk/interfaces_ppb_public_dev.h"
    120   #include "ppapi/thunk/interfaces_ppb_public_stable.h"
    121 
    122   #undef UNPROXIED_IFACE
    123   #undef PROXIED_IFACE
    124 
    125   #define LEGACY_IFACE(iface_str, dummy) \
    126       if (strcmp(name, iface_str) == 0) \
    127         return true;
    128 
    129   #include "ppapi/thunk/interfaces_legacy.h"
    130 
    131   #undef LEGACY_IFACE
    132   return false;
    133 }
    134