Home | History | Annotate | Download | only in ppapi
      1 # Copyright 2014 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 
      5 gypi_values = exec_script(
      6     "//build/gypi_to_gn.py",
      7     [ rebase_path("ppapi_sources.gypi") ],
      8     "scope",
      9     [ "ppapi_sources.gypi" ])
     10 
     11 # TODO(GYP) support chrome_multiple_dll
     12 #if (chrome_multiple_dll) {
     13 #  blink_target = "//third_party/WebKit/public:blink_minimal"
     14 #} else {
     15   blink_target = "//third_party/WebKit/public:blink"
     16 #}
     17 
     18 # These are just headers.
     19 source_set("ppapi_c") {
     20   sources = gypi_values.c_source_files
     21 }
     22 
     23 # Some targets need to depend on the PPAPI version only. This target exists so
     24 # they can include this header without header check warnings.
     25 source_set("ppapi_macros") {
     26   sources = [ "c/pp_macros.h" ]
     27 }
     28 
     29 source_set("ppapi_cpp_objects") {
     30   sources = gypi_values.cpp_source_files
     31 
     32   if (is_win) {
     33     cflags = [
     34       "/we4244",  # Implicit conversion, possible loss of data.
     35     ]
     36   } else {
     37     cflags = [
     38       "-Wextra",
     39       "-pedantic",
     40     ]
     41   }
     42 }
     43 
     44 source_set("ppapi_cpp") {
     45   sources = [
     46     "cpp/module_embedder.h",
     47     "cpp/ppp_entrypoints.cc",
     48   ]
     49 
     50   if (is_posix) {
     51     cflags = [
     52       "-Wextra",
     53       "-pedantic",
     54     ]
     55   }
     56 
     57   deps = [
     58     ":ppapi_c",
     59     ":ppapi_cpp_objects",
     60   ]
     61 }
     62 
     63 source_set("ppapi_internal_module") {
     64   sources = [
     65     "cpp/private/internal_module.cc",
     66     "cpp/private/internal_module.h",
     67   ]
     68 }
     69 
     70 source_set("ppapi_gles2") {
     71   sources = [
     72     "lib/gl/gles2/gl2ext_ppapi.c",
     73     "lib/gl/gles2/gl2ext_ppapi.h",
     74     "lib/gl/gles2/gles2.c",
     75   ]
     76 
     77   include_dirs = [ "lib/gl/include" ]
     78 
     79   deps = [
     80     ":ppapi_c",
     81   ]
     82 }
     83 
     84 # TODO(brettw) argument list is too long. Need to add response files.
     85 #shared_library("ppapi_tests") {
     86 #  sources = gypi_values.test_common_source_files +
     87 #            gypi_values.test_trusted_source_files
     88 #
     89 #  defines = [ "GL_GLEXT_PROTOTYPES" ]
     90 #  include_dirs = [ "lib/gl/include" ]
     91 #
     92 #  deps = [
     93 #    ":ppapi_cpp",
     94 #    ":ppapi_shared",
     95 #  ]
     96 #}
     97 
     98 component("ppapi_shared") {
     99   sources = [
    100     "shared_impl/array_var.cc",
    101     "shared_impl/array_var.h",
    102     "shared_impl/array_writer.cc",
    103     "shared_impl/array_writer.h",
    104     "shared_impl/callback_tracker.cc",
    105     "shared_impl/callback_tracker.h",
    106     "shared_impl/compositor_layer_data.cc",
    107     "shared_impl/compositor_layer_data.h",
    108     "shared_impl/dictionary_var.cc",
    109     "shared_impl/dictionary_var.h",
    110     "shared_impl/file_io_state_manager.cc",
    111     "shared_impl/file_io_state_manager.h",
    112     "shared_impl/file_growth.cc",
    113     "shared_impl/file_growth.h",
    114     "shared_impl/file_path.cc",
    115     "shared_impl/file_path.h",
    116     "shared_impl/file_ref_create_info.cc",
    117     "shared_impl/file_ref_create_info.h",
    118     "shared_impl/file_ref_util.cc",
    119     "shared_impl/file_ref_util.h",
    120     "shared_impl/file_system_util.cc",
    121     "shared_impl/file_system_util.h",
    122     "shared_impl/file_type_conversion.cc",
    123     "shared_impl/file_type_conversion.h",
    124     "shared_impl/host_resource.cc",
    125     "shared_impl/host_resource.h",
    126     "shared_impl/id_assignment.cc",
    127     "shared_impl/id_assignment.h",
    128     "shared_impl/media_stream_buffer.h",
    129     "shared_impl/media_stream_buffer_manager.cc",
    130     "shared_impl/media_stream_buffer_manager.h",
    131     "shared_impl/media_stream_audio_track_shared.cc",
    132     "shared_impl/media_stream_audio_track_shared.h",
    133     "shared_impl/media_stream_video_track_shared.h",
    134     "shared_impl/media_stream_video_track_shared.cc",
    135     "shared_impl/platform_file.cc",
    136     "shared_impl/platform_file.h",
    137     "shared_impl/ppapi_constants.h",
    138     "shared_impl/ppapi_globals.cc",
    139     "shared_impl/ppapi_globals.h",
    140     "shared_impl/ppapi_nacl_plugin_args.cc",
    141     "shared_impl/ppapi_nacl_plugin_args.h",
    142     "shared_impl/ppapi_permissions.cc",
    143     "shared_impl/ppapi_permissions.h",
    144     "shared_impl/ppapi_preferences.cc",
    145     "shared_impl/ppapi_preferences.h",
    146     "shared_impl/ppapi_switches.cc",
    147     "shared_impl/ppapi_switches.h",
    148     "shared_impl/ppb_audio_config_shared.cc",
    149     "shared_impl/ppb_audio_config_shared.h",
    150     "shared_impl/ppb_audio_shared.cc",
    151     "shared_impl/ppb_audio_shared.h",
    152     "shared_impl/ppb_crypto_shared.cc",
    153     "shared_impl/ppb_device_ref_shared.cc",
    154     "shared_impl/ppb_device_ref_shared.h",
    155     "shared_impl/ppb_gamepad_shared.cc",
    156     "shared_impl/ppb_gamepad_shared.h",
    157     "shared_impl/ppb_graphics_3d_shared.cc",
    158     "shared_impl/ppb_graphics_3d_shared.h",
    159     "shared_impl/ppb_image_data_shared.cc",
    160     "shared_impl/ppb_image_data_shared.h",
    161     "shared_impl/ppb_input_event_shared.cc",
    162     "shared_impl/ppb_input_event_shared.h",
    163     "shared_impl/ppb_instance_shared.cc",
    164     "shared_impl/ppb_instance_shared.h",
    165     "shared_impl/ppb_memory_shared.cc",
    166     "shared_impl/ppb_message_loop_shared.cc",
    167     "shared_impl/ppb_message_loop_shared.h",
    168     "shared_impl/ppb_opengles2_shared.cc",
    169     "shared_impl/ppb_opengles2_shared.h",
    170     "shared_impl/ppb_tcp_socket_shared.cc",
    171     "shared_impl/ppb_tcp_socket_shared.h",
    172     "shared_impl/ppb_trace_event_impl.cc",
    173     "shared_impl/ppb_trace_event_impl.h",
    174     "shared_impl/ppb_var_shared.cc",
    175     "shared_impl/ppb_var_shared.h",
    176     "shared_impl/ppb_view_shared.cc",
    177     "shared_impl/ppb_view_shared.h",
    178     "shared_impl/ppp_flash_browser_operations_shared.h",
    179     "shared_impl/ppp_instance_combined.cc",
    180     "shared_impl/ppp_instance_combined.h",
    181     "shared_impl/proxy_lock.cc",
    182     "shared_impl/proxy_lock.h",
    183     "shared_impl/resource.cc",
    184     "shared_impl/resource.h",
    185     "shared_impl/resource_tracker.cc",
    186     "shared_impl/resource_tracker.h",
    187     "shared_impl/resource_var.cc",
    188     "shared_impl/resource_var.h",
    189     "shared_impl/scoped_pp_resource.cc",
    190     "shared_impl/scoped_pp_resource.h",
    191     "shared_impl/scoped_pp_var.cc",
    192     "shared_impl/scoped_pp_var.h",
    193     "shared_impl/socket_option_data.cc",
    194     "shared_impl/socket_option_data.h",
    195     "shared_impl/thread_aware_callback.cc",
    196     "shared_impl/thread_aware_callback.h",
    197     "shared_impl/time_conversion.cc",
    198     "shared_impl/time_conversion.h",
    199     "shared_impl/tracked_callback.cc",
    200     "shared_impl/tracked_callback.h",
    201     "shared_impl/url_request_info_data.cc",
    202     "shared_impl/url_request_info_data.h",
    203     "shared_impl/url_response_info_data.cc",
    204     "shared_impl/url_response_info_data.h",
    205     "shared_impl/var.cc",
    206     "shared_impl/var.h",
    207     "shared_impl/var_tracker.cc",
    208     "shared_impl/var_tracker.h",
    209     # TODO(viettrungluu): Split these out; it won"t be used in NaCl.
    210     "shared_impl/private/net_address_private_impl.cc",
    211     "shared_impl/private/net_address_private_impl_constants.cc",
    212     "shared_impl/private/net_address_private_impl.h",
    213 
    214     "shared_impl/private/ppb_x509_certificate_private_shared.cc",
    215     "shared_impl/private/ppb_x509_certificate_private_shared.h",
    216 
    217     "thunk/enter.cc",
    218     "thunk/enter.h",
    219     "thunk/ppb_audio_api.h",
    220     "thunk/ppb_audio_config_api.h",
    221     "thunk/ppb_audio_config_thunk.cc",
    222     "thunk/ppb_audio_buffer_api.h",
    223     "thunk/ppb_audio_buffer_thunk.cc",
    224     "thunk/ppb_audio_input_api.h",
    225     "thunk/ppb_audio_thunk.cc",
    226     "thunk/ppb_broker_api.h",
    227     "thunk/ppb_browser_font_trusted_api.h",
    228     "thunk/ppb_buffer_api.h",
    229     "thunk/ppb_compositor_api.h",
    230     "thunk/ppb_compositor_layer_api.h",
    231     "thunk/ppb_compositor_layer_thunk.cc",
    232     "thunk/ppb_compositor_thunk.cc",
    233     "thunk/ppb_console_thunk.cc",
    234     "thunk/ppb_cursor_control_thunk.cc",
    235     "thunk/ppb_device_ref_api.h",
    236     "thunk/ppb_device_ref_dev_thunk.cc",
    237     "thunk/ppb_ext_crx_file_system_private_thunk.cc",
    238     "thunk/ppb_file_chooser_api.h",
    239     "thunk/ppb_file_chooser_dev_thunk.cc",
    240     "thunk/ppb_file_chooser_trusted_thunk.cc",
    241     "thunk/ppb_file_io_api.h",
    242     "thunk/ppb_file_io_private_thunk.cc",
    243     "thunk/ppb_file_io_thunk.cc",
    244     "thunk/ppb_file_mapping_thunk.cc",
    245     "thunk/ppb_file_ref_api.h",
    246     "thunk/ppb_file_ref_thunk.cc",
    247     "thunk/ppb_file_system_api.h",
    248     "thunk/ppb_file_system_thunk.cc",
    249     "thunk/ppb_find_private_thunk.cc",
    250     "thunk/ppb_flash_clipboard_api.h",
    251     "thunk/ppb_flash_drm_api.h",
    252     "thunk/ppb_flash_font_file_api.h",
    253     "thunk/ppb_flash_fullscreen_api.h",
    254     "thunk/ppb_flash_functions_api.h",
    255     "thunk/ppb_flash_menu_api.h",
    256     "thunk/ppb_flash_message_loop_api.h",
    257     "thunk/ppb_flash_print_thunk.cc",
    258     "thunk/ppb_fullscreen_thunk.cc",
    259     "thunk/ppb_gamepad_api.h",
    260     "thunk/ppb_gamepad_thunk.cc",
    261     "thunk/ppb_graphics_2d_api.h",
    262     "thunk/ppb_graphics_2d_thunk.cc",
    263     "thunk/ppb_graphics_3d_api.h",
    264     "thunk/ppb_graphics_3d_thunk.cc",
    265     "thunk/ppb_host_resolver_api.h",
    266     "thunk/ppb_host_resolver_thunk.cc",
    267     "thunk/ppb_host_resolver_private_api.h",
    268     "thunk/ppb_host_resolver_private_thunk.cc",
    269     "thunk/ppb_image_data_api.h",
    270     "thunk/ppb_image_data_thunk.cc",
    271     "thunk/ppb_input_event_api.h",
    272     "thunk/ppb_input_event_thunk.cc",
    273     "thunk/ppb_input_event_private_thunk.cc",
    274     "thunk/ppb_instance_api.h",
    275     "thunk/ppb_instance_private_thunk.cc",
    276     "thunk/ppb_instance_thunk.cc",
    277     "thunk/ppb_isolated_file_system_private_api.h",
    278     "thunk/ppb_isolated_file_system_private_thunk.cc",
    279     "thunk/ppb_media_stream_audio_track_api.h",
    280     "thunk/ppb_media_stream_audio_track_thunk.cc",
    281     "thunk/ppb_media_stream_video_track_api.h",
    282     "thunk/ppb_media_stream_video_track_thunk.cc",
    283     "thunk/ppb_message_loop_api.h",
    284     "thunk/ppb_messaging_thunk.cc",
    285     "thunk/ppb_mouse_cursor_thunk.cc",
    286     "thunk/ppb_mouse_lock_thunk.cc",
    287     "thunk/ppb_net_address_api.h",
    288     "thunk/ppb_net_address_thunk.cc",
    289     "thunk/ppb_network_list_api.h",
    290     "thunk/ppb_network_list_thunk.cc",
    291     "thunk/ppb_network_monitor_api.h",
    292     "thunk/ppb_network_monitor_thunk.cc",
    293     "thunk/ppb_network_proxy_api.h",
    294     "thunk/ppb_network_proxy_thunk.cc",
    295     "thunk/ppb_output_protection_api.h",
    296     "thunk/ppb_output_protection_private_thunk.cc",
    297     "thunk/ppb_pdf_api.h",
    298     "thunk/ppb_platform_verification_api.h",
    299     "thunk/ppb_printing_api.h",
    300     "thunk/ppb_printing_dev_thunk.cc",
    301     "thunk/ppb_scrollbar_api.h",
    302     "thunk/ppb_talk_private_api.h",
    303     "thunk/ppb_tcp_server_socket_private_api.h",
    304     "thunk/ppb_tcp_server_socket_private_thunk.cc",
    305     "thunk/ppb_tcp_socket_api.h",
    306     "thunk/ppb_tcp_socket_private_api.h",
    307     "thunk/ppb_tcp_socket_private_thunk.cc",
    308     "thunk/ppb_tcp_socket_thunk.cc",
    309     "thunk/ppb_text_input_thunk.cc",
    310     "thunk/ppb_truetype_font_api.h",
    311     "thunk/ppb_truetype_font_singleton_api.h",
    312     "thunk/ppb_truetype_font_dev_thunk.cc",
    313     "thunk/ppb_udp_socket_api.h",
    314     "thunk/ppb_udp_socket_thunk.cc",
    315     "thunk/ppb_udp_socket_private_api.h",
    316     "thunk/ppb_udp_socket_private_thunk.cc",
    317     "thunk/ppb_uma_private_thunk.cc",
    318     "thunk/ppb_uma_singleton_api.h",
    319     "thunk/ppb_url_loader_api.h",
    320     "thunk/ppb_url_loader_thunk.cc",
    321     "thunk/ppb_url_loader_trusted_thunk.cc",
    322     "thunk/ppb_url_request_info_api.h",
    323     "thunk/ppb_url_request_info_thunk.cc",
    324     "thunk/ppb_url_response_info_api.h",
    325     "thunk/ppb_url_response_info_thunk.cc",
    326     "thunk/ppb_var_array_thunk.cc",
    327     "thunk/ppb_var_dictionary_thunk.cc",
    328     "thunk/ppb_video_capture_api.h",
    329     "thunk/ppb_video_capture_thunk.cc",
    330     "thunk/ppb_video_decoder_api.h",
    331     "thunk/ppb_video_decoder_dev_api.h",
    332     "thunk/ppb_video_decoder_thunk.cc",
    333     "thunk/ppb_video_destination_private_api.h",
    334     "thunk/ppb_video_destination_private_thunk.cc",
    335     "thunk/ppb_video_frame_api.h",
    336     "thunk/ppb_video_frame_thunk.cc",
    337     "thunk/ppb_video_source_private_api.h",
    338     "thunk/ppb_video_source_private_thunk.cc",
    339     "thunk/ppb_view_api.h",
    340     "thunk/ppb_view_dev_thunk.cc",
    341     "thunk/ppb_view_thunk.cc",
    342     "thunk/ppb_websocket_api.h",
    343     "thunk/ppb_websocket_thunk.cc",
    344     "thunk/ppb_widget_api.h",
    345     "thunk/ppb_widget_dev_thunk.cc",
    346     "thunk/ppb_x509_certificate_private_api.h",
    347     "thunk/ppb_x509_certificate_private_thunk.cc",
    348     "thunk/ppb_zoom_dev_thunk.cc",
    349     "thunk/thunk.h",
    350   ]
    351 
    352   if (!is_nacl) {
    353     sources += [
    354       "shared_impl/flash_clipboard_format_registry.cc",
    355       "shared_impl/flash_clipboard_format_registry.h",
    356       "shared_impl/ppb_url_util_shared.cc",
    357       "shared_impl/ppb_url_util_shared.h",
    358       "shared_impl/ppb_video_decoder_shared.cc",
    359       "shared_impl/ppb_video_decoder_shared.h",
    360       "shared_impl/private/ppb_char_set_shared.cc",
    361       "shared_impl/private/ppb_char_set_shared.h",
    362       "thunk/ppb_audio_input_dev_thunk.cc",
    363       "thunk/ppb_broker_thunk.cc",
    364       "thunk/ppb_browser_font_trusted_thunk.cc",
    365       "thunk/ppb_buffer_thunk.cc",
    366       "thunk/ppb_content_decryptor_private_thunk.cc",
    367       "thunk/ppb_char_set_thunk.cc",
    368       "thunk/ppb_flash_clipboard_thunk.cc",
    369       "thunk/ppb_flash_device_id_thunk.cc",
    370       "thunk/ppb_flash_drm_thunk.cc",
    371       "thunk/ppb_flash_file_fileref_thunk.cc",
    372       "thunk/ppb_flash_file_modulelocal_thunk.cc",
    373       "thunk/ppb_flash_font_file_thunk.cc",
    374       "thunk/ppb_flash_fullscreen_thunk.cc",
    375       "thunk/ppb_flash_menu_thunk.cc",
    376       "thunk/ppb_flash_thunk.cc",
    377       "thunk/ppb_flash_message_loop_thunk.cc",
    378       "thunk/ppb_gles_chromium_texture_mapping_thunk.cc",
    379       "thunk/ppb_pdf_thunk.cc",
    380       "thunk/ppb_platform_verification_private_thunk.cc",
    381       "thunk/ppb_scrollbar_thunk.cc",
    382       "thunk/ppb_talk_private_thunk.cc",
    383       "thunk/ppb_url_util_thunk.cc",
    384       "thunk/ppb_video_decoder_dev_thunk.cc",
    385     ]
    386   }
    387 
    388   # We exclude a few more things for nacl_win64, to avoid pulling in more
    389   # dependencies.
    390   if (is_win && cpu_arch == "x64" && current_toolchain != default_toolchain) {
    391     sources -= [
    392       "shared_impl/ppb_audio_shared.cc",
    393       "shared_impl/ppb_graphics_3d_shared.cc",
    394       "shared_impl/ppb_opengles2_shared.cc",
    395       "shared_impl/private/ppb_host_resolver_shared.cc",
    396       "shared_impl/private/net_address_private_impl.cc",
    397       "thunk/ppb_graphics_3d_thunk.cc",
    398       "thunk/ppb_host_resolver_private_thunk.cc",
    399       "thunk/ppb_tcp_server_socket_private_thunk.cc",
    400       "thunk/ppb_tcp_socket_private_thunk.cc",
    401       "thunk/ppb_udp_socket_private_thunk.cc",
    402       "thunk/ppb_x509_certificate_private_thunk.cc",
    403     ]
    404   }
    405 
    406   defines = [
    407     "PPAPI_SHARED_IMPLEMENTATION",
    408     "PPAPI_THUNK_IMPLEMENTATION",
    409   ]
    410 
    411   public_deps = [
    412     blink_target,
    413   ]
    414   deps = [
    415     ":ppapi_c",
    416     "//base",
    417     "//base:i18n",
    418     "//base/third_party/dynamic_annotations",
    419     "//gpu/command_buffer/client",
    420     "//gpu/command_buffer/client:gles2_implementation",
    421     "//gpu/command_buffer/common",
    422     "//ipc",
    423     "//media:shared_memory_support",
    424     "//skia",
    425     "//third_party/icu:icuuc",
    426     "//ui/surface",
    427     "//url",
    428   ]
    429 
    430   if (is_mac) {
    431     libs = [ "QuartzCore.framework" ]
    432   } else if (is_win) {
    433     cflags = [ "/wd4267" ]  # size_t to int truncation.
    434   }
    435 }
    436 
    437 source_set("ppapi_ipc") {
    438   sources = [
    439     "proxy/nacl_message_scanner.cc",
    440     "proxy/nacl_message_scanner.h",
    441     "proxy/ppapi_messages.cc",
    442     "proxy/ppapi_messages.h",
    443     "proxy/ppapi_param_traits.cc",
    444     "proxy/ppapi_param_traits.h",
    445     "proxy/raw_var_data.cc",
    446     "proxy/raw_var_data.h",
    447     "proxy/resource_message_params.cc",
    448     "proxy/resource_message_params.h",
    449     "proxy/serialized_flash_menu.cc",
    450     "proxy/serialized_flash_menu.h",
    451     "proxy/serialized_handle.cc",
    452     "proxy/serialized_handle.h",
    453     "proxy/serialized_structs.cc",
    454     "proxy/serialized_structs.h",
    455     "proxy/serialized_var.cc",
    456     "proxy/serialized_var.h",
    457     "proxy/var_serialization_rules.h",
    458   ]
    459 
    460   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
    461 
    462   deps = [
    463     ":ppapi_c",
    464     ":ppapi_shared",
    465     "//base",
    466     "//gpu/ipc",
    467     "//ipc",
    468     "//skia",
    469     "//ui/events/ipc",
    470   ]
    471 
    472   if (is_nacl) {
    473     sources -= [ "proxy/serialized_flash_menu.cc" ]
    474   }
    475 }
    476 
    477 component("ppapi_proxy") {
    478   sources = [
    479     # Take some standalone files from the C++ wrapper allowing us to more
    480     # easily make async callbacks in the proxy. We can"t depend on the
    481     # full C++ wrappers at this layer since the C++ wrappers expect
    482     # symbols defining the globals for "being a plugin" which we are not.
    483     # These callback files are standalone.
    484     "cpp/completion_callback.h",
    485     "utility/completion_callback_factory.h",
    486 
    487     "proxy/audio_buffer_resource.cc",
    488     "proxy/audio_buffer_resource.h",
    489     "proxy/broker_resource.cc",
    490     "proxy/broker_resource.h",
    491     "proxy/compositor_layer_resource.cc",
    492     "proxy/compositor_layer_resource.h",
    493     "proxy/compositor_resource.cc",
    494     "proxy/compositor_resource.h",
    495     "proxy/connection.h",
    496     "proxy/dispatcher.cc",
    497     "proxy/dispatcher.h",
    498     "proxy/enter_proxy.h",
    499     "proxy/error_conversion.cc",
    500     "proxy/error_conversion.h",
    501     "proxy/file_chooser_resource.cc",
    502     "proxy/file_chooser_resource.h",
    503     "proxy/file_io_resource.cc",
    504     "proxy/file_io_resource.h",
    505     "proxy/file_mapping_resource.cc",
    506     "proxy/file_mapping_resource.h",
    507     "proxy/file_mapping_resource_posix.cc",
    508     "proxy/file_mapping_resource_win.cc",
    509     "proxy/file_ref_resource.cc",
    510     "proxy/file_ref_resource.h",
    511     "proxy/file_system_resource.cc",
    512     "proxy/file_system_resource.h",
    513     "proxy/gamepad_resource.cc",
    514     "proxy/gamepad_resource.h",
    515     "proxy/graphics_2d_resource.cc",
    516     "proxy/graphics_2d_resource.h",
    517     "proxy/host_resolver_private_resource.cc",
    518     "proxy/host_resolver_private_resource.h",
    519     "proxy/host_resolver_resource.cc",
    520     "proxy/host_resolver_resource.h",
    521     "proxy/host_resolver_resource_base.cc",
    522     "proxy/host_resolver_resource_base.h",
    523     "proxy/interface_list.cc",
    524     "proxy/interface_list.h",
    525     "proxy/interface_proxy.cc",
    526     "proxy/interface_proxy.h",
    527     "proxy/isolated_file_system_private_resource.cc",
    528     "proxy/isolated_file_system_private_resource.h",
    529     "proxy/locking_resource_releaser.h",
    530     "proxy/media_stream_audio_track_resource.cc",
    531     "proxy/media_stream_audio_track_resource.h",
    532     "proxy/media_stream_track_resource_base.cc",
    533     "proxy/media_stream_track_resource_base.h",
    534     "proxy/media_stream_video_track_resource.cc",
    535     "proxy/media_stream_video_track_resource.h",
    536     "proxy/message_handler.cc",
    537     "proxy/message_handler.h",
    538     "proxy/net_address_resource.cc",
    539     "proxy/net_address_resource.h",
    540     "proxy/network_list_resource.cc",
    541     "proxy/network_list_resource.h",
    542     "proxy/network_monitor_resource.cc",
    543     "proxy/network_monitor_resource.h",
    544     "proxy/network_proxy_resource.cc",
    545     "proxy/network_proxy_resource.h",
    546     "proxy/output_protection_resource.cc",
    547     "proxy/output_protection_resource.h",
    548     "proxy/plugin_array_buffer_var.cc",
    549     "proxy/plugin_array_buffer_var.h",
    550     "proxy/plugin_dispatcher.cc",
    551     "proxy/plugin_dispatcher.h",
    552     "proxy/plugin_globals.cc",
    553     "proxy/plugin_globals.h",
    554     "proxy/plugin_message_filter.cc",
    555     "proxy/plugin_message_filter.h",
    556     "proxy/plugin_resource.cc",
    557     "proxy/plugin_resource.h",
    558     "proxy/plugin_resource_tracker.cc",
    559     "proxy/plugin_resource_tracker.h",
    560     "proxy/plugin_resource_var.cc",
    561     "proxy/plugin_resource_var.h",
    562     "proxy/plugin_var_serialization_rules.cc",
    563     "proxy/plugin_var_serialization_rules.h",
    564     "proxy/plugin_var_tracker.cc",
    565     "proxy/plugin_var_tracker.h",
    566     "proxy/ppapi_command_buffer_proxy.cc",
    567     "proxy/ppapi_command_buffer_proxy.h",
    568     "proxy/ppapi_messages.h",
    569     "proxy/ppapi_message_utils.h",
    570     "proxy/ppb_audio_proxy.cc",
    571     "proxy/ppb_audio_proxy.h",
    572     "proxy/ppb_core_proxy.cc",
    573     "proxy/ppb_core_proxy.h",
    574     "proxy/ppb_graphics_3d_proxy.cc",
    575     "proxy/ppb_graphics_3d_proxy.h",
    576     "proxy/ppb_image_data_proxy.cc",
    577     "proxy/ppb_image_data_proxy.h",
    578     "proxy/ppb_instance_proxy.cc",
    579     "proxy/ppb_instance_proxy.h",
    580     "proxy/ppb_message_loop_proxy.cc",
    581     "proxy/ppb_message_loop_proxy.h",
    582     "proxy/ppb_testing_proxy.cc",
    583     "proxy/ppb_testing_proxy.h",
    584     "proxy/ppb_var_deprecated_proxy.cc",
    585     "proxy/ppb_var_deprecated_proxy.h",
    586     "proxy/ppb_x509_certificate_private_proxy.cc",
    587     "proxy/ppb_x509_certificate_private_proxy.h",
    588     "proxy/ppp_class_proxy.cc",
    589     "proxy/ppp_class_proxy.h",
    590     "proxy/ppp_find_proxy.cc",
    591     "proxy/ppp_find_proxy.h",
    592     "proxy/ppp_graphics_3d_proxy.cc",
    593     "proxy/ppp_graphics_3d_proxy.h",
    594     "proxy/ppp_input_event_proxy.cc",
    595     "proxy/ppp_input_event_proxy.h",
    596     "proxy/ppp_instance_proxy.cc",
    597     "proxy/ppp_instance_proxy.h",
    598     "proxy/ppp_messaging_proxy.cc",
    599     "proxy/ppp_messaging_proxy.h",
    600     "proxy/ppp_mouse_lock_proxy.cc",
    601     "proxy/ppp_mouse_lock_proxy.h",
    602     "proxy/ppp_pdf_proxy.cc",
    603     "proxy/ppp_pdf_proxy.h",
    604     "proxy/ppp_printing_proxy.cc",
    605     "proxy/ppp_printing_proxy.h",
    606     "proxy/ppp_text_input_proxy.cc",
    607     "proxy/ppp_text_input_proxy.h",
    608     "proxy/printing_resource.cc",
    609     "proxy/printing_resource.h",
    610     "proxy/proxy_array_output.cc",
    611     "proxy/proxy_array_output.h",
    612     "proxy/proxy_channel.cc",
    613     "proxy/proxy_channel.h",
    614     "proxy/proxy_completion_callback_factory.h",
    615     "proxy/proxy_module.cc",
    616     "proxy/proxy_module.h",
    617     "proxy/proxy_object_var.cc",
    618     "proxy/proxy_object_var.h",
    619     "proxy/resource_creation_proxy.cc",
    620     "proxy/resource_creation_proxy.h",
    621     "proxy/resource_reply_thread_registrar.cc",
    622     "proxy/resource_reply_thread_registrar.h",
    623     "proxy/tcp_server_socket_private_resource.cc",
    624     "proxy/tcp_server_socket_private_resource.h",
    625     "proxy/tcp_socket_private_resource.cc",
    626     "proxy/tcp_socket_private_resource.h",
    627     "proxy/tcp_socket_resource.cc",
    628     "proxy/tcp_socket_resource.h",
    629     "proxy/tcp_socket_resource_base.cc",
    630     "proxy/tcp_socket_resource_base.h",
    631     "proxy/truetype_font_resource.cc",
    632     "proxy/truetype_font_resource.h",
    633     "proxy/truetype_font_singleton_resource.cc",
    634     "proxy/truetype_font_singleton_resource.h",
    635     "proxy/udp_socket_private_resource.cc",
    636     "proxy/udp_socket_private_resource.h",
    637     "proxy/udp_socket_resource.cc",
    638     "proxy/udp_socket_resource.h",
    639     "proxy/udp_socket_resource_base.cc",
    640     "proxy/udp_socket_resource_base.h",
    641     "proxy/uma_private_resource.cc",
    642     "proxy/uma_private_resource.h",
    643     "proxy/url_loader_resource.cc",
    644     "proxy/url_loader_resource.h",
    645     "proxy/url_request_info_resource.cc",
    646     "proxy/url_request_info_resource.h",
    647     "proxy/url_response_info_resource.cc",
    648     "proxy/url_response_info_resource.h",
    649     "proxy/var_serialization_rules.h",
    650     "proxy/video_destination_resource.cc",
    651     "proxy/video_destination_resource.h",
    652     "proxy/video_frame_resource.cc",
    653     "proxy/video_frame_resource.h",
    654     "proxy/video_source_resource.cc",
    655     "proxy/video_source_resource.h",
    656     "proxy/websocket_resource.cc",
    657     "proxy/websocket_resource.h",
    658   ]
    659 
    660   if (is_nacl) {
    661     sources += [
    662       "nacl_irt/irt_ppapi.cc",
    663       "nacl_irt/irt_ppapi.h",
    664       "nacl_irt/irt_start.cc",
    665       "nacl_irt/manifest_service.cc",
    666       "nacl_irt/manifest_service.h",
    667       "nacl_irt/plugin_main.cc",
    668       "nacl_irt/plugin_main.h",
    669       "nacl_irt/plugin_startup.cc",
    670       "nacl_irt/plugin_startup.h",
    671       "nacl_irt/ppapi_dispatcher.cc",
    672       "nacl_irt/ppapi_dispatcher.h",
    673     ]
    674   } else {
    675     sources += [
    676       "proxy/audio_input_resource.cc",
    677       "proxy/audio_input_resource.h",
    678       "proxy/broker_dispatcher.cc",
    679       "proxy/broker_dispatcher.h",
    680       "proxy/browser_font_singleton_resource.cc",
    681       "proxy/browser_font_singleton_resource.h",
    682       "proxy/device_enumeration_resource_helper.cc",
    683       "proxy/device_enumeration_resource_helper.h",
    684       "proxy/flash_clipboard_resource.cc",
    685       "proxy/flash_clipboard_resource.h",
    686       "proxy/flash_drm_resource.cc",
    687       "proxy/flash_drm_resource.h",
    688       "proxy/flash_file_resource.cc",
    689       "proxy/flash_file_resource.h",
    690       "proxy/flash_font_file_resource.cc",
    691       "proxy/flash_font_file_resource.h",
    692       "proxy/flash_fullscreen_resource.cc",
    693       "proxy/flash_fullscreen_resource.h",
    694       "proxy/flash_menu_resource.cc",
    695       "proxy/flash_menu_resource.h",
    696       "proxy/flash_resource.cc",
    697       "proxy/flash_resource.h",
    698       "proxy/host_dispatcher.cc",
    699       "proxy/host_dispatcher.h",
    700       "proxy/host_var_serialization_rules.cc",
    701       "proxy/host_var_serialization_rules.h",
    702       "proxy/pdf_resource.cc",
    703       "proxy/pdf_resource.h",
    704       "proxy/platform_verification_private_resource.cc",
    705       "proxy/platform_verification_private_resource.h",
    706       "proxy/ppb_broker_proxy.cc",
    707       "proxy/ppb_broker_proxy.h",
    708       "proxy/ppb_buffer_proxy.cc",
    709       "proxy/ppb_buffer_proxy.h",
    710       "proxy/ppb_flash_message_loop_proxy.cc",
    711       "proxy/ppb_flash_message_loop_proxy.h",
    712       "proxy/ppb_video_decoder_proxy.cc",
    713       "proxy/ppb_video_decoder_proxy.h",
    714       "proxy/ppp_content_decryptor_private_proxy.cc",
    715       "proxy/ppp_content_decryptor_private_proxy.h",
    716       "proxy/ppp_instance_private_proxy.cc",
    717       "proxy/ppp_instance_private_proxy.h",
    718       "proxy/ppp_video_decoder_proxy.cc",
    719       "proxy/ppp_video_decoder_proxy.h",
    720       "proxy/video_decoder_resource.cc",
    721       "proxy/video_decoder_resource.h",
    722       "proxy/talk_resource.cc",
    723       "proxy/talk_resource.h",
    724       "proxy/video_capture_resource.cc",
    725       "proxy/video_capture_resource.h",
    726     ]
    727   }
    728 
    729   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
    730 
    731   deps = [
    732     ":ppapi_c",
    733     ":ppapi_shared",
    734     ":ppapi_ipc",
    735     "//base",
    736     "//base/third_party/dynamic_annotations",
    737     "//gpu/command_buffer/client:gles2_implementation",
    738     "//gpu/ipc",
    739     "//media:shared_memory_support",
    740     "//ipc",
    741     "//skia",
    742     "//third_party/icu",
    743     "//ui/surface",
    744     blink_target,
    745   ]
    746 
    747   if (is_win) {
    748     cflags = [ "/wd4267" ]  # size_t to int truncation.
    749   }
    750 }
    751 
    752 component("ppapi_host") {
    753   sources = [
    754     "host/dispatch_host_message.h",
    755     "host/error_conversion.cc",
    756     "host/error_conversion.h",
    757     "host/host_factory.h",
    758     "host/host_message_context.cc",
    759     "host/host_message_context.h",
    760     "host/instance_message_filter.cc",
    761     "host/instance_message_filter.h",
    762     "host/message_filter_host.cc",
    763     "host/message_filter_host.h",
    764     "host/ppapi_host.cc",
    765     "host/ppapi_host.h",
    766     "host/ppapi_host_export.h",
    767     "host/resource_host.cc",
    768     "host/resource_host.h",
    769     "host/resource_message_filter.cc",
    770     "host/resource_message_filter.h",
    771     "host/resource_message_handler.cc",
    772     "host/resource_message_handler.h",
    773   ]
    774 
    775   defines = [ "PPAPI_HOST_IMPLEMENTATION" ]
    776 
    777   deps = [
    778     ":ppapi_c",
    779     ":ppapi_ipc",
    780     ":ppapi_proxy",
    781     ":ppapi_shared",
    782     "//base",
    783     "//ipc",
    784     "//media:shared_memory_support",
    785     "//ui/surface",
    786     "//url",
    787   ]
    788 }
    789 
    790 static_library("ppapi_unittest_shared") {
    791   testonly = true
    792   sources = [
    793     "proxy/ppapi_proxy_test.cc",
    794     "proxy/ppapi_proxy_test.h",
    795     "proxy/resource_message_test_sink.cc",
    796     "proxy/resource_message_test_sink.h",
    797     "shared_impl/test_globals.cc",
    798     "shared_impl/test_globals.h",
    799     "shared_impl/unittest_utils.cc",
    800     "shared_impl/unittest_utils.h",
    801   ]
    802 
    803   deps = [
    804     ":ppapi_proxy",
    805     ":ppapi_shared",
    806     "//base/test:test_support",
    807     "//ipc",
    808     "//ipc:test_support",
    809     "//testing/gmock",
    810     "//testing/gtest",
    811   ]
    812 }
    813 
    814 # TODO(GYP) other targets from ppapi_tests.gyp
    815