| # Copyright 2014 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | gypi_values = exec_script( | 
 |     "//build/gypi_to_gn.py", | 
 |     [ rebase_path("ppapi_sources.gypi") ], | 
 |     "scope", | 
 |     [ "ppapi_sources.gypi" ]) | 
 |  | 
 | # TODO(GYP) support chrome_multiple_dll | 
 | #if (chrome_multiple_dll) { | 
 | #  blink_target = "//third_party/WebKit/public:blink_minimal" | 
 | #} else { | 
 |   blink_target = "//third_party/WebKit/public:blink" | 
 | #} | 
 |  | 
 | # These are just headers. | 
 | source_set("ppapi_c") { | 
 |   sources = gypi_values.c_source_files | 
 | } | 
 |  | 
 | # Some targets need to depend on the PPAPI version only. This target exists so | 
 | # they can include this header without header check warnings. | 
 | source_set("ppapi_macros") { | 
 |   sources = [ "c/pp_macros.h" ] | 
 | } | 
 |  | 
 | source_set("ppapi_cpp_objects") { | 
 |   sources = gypi_values.cpp_source_files | 
 |  | 
 |   if (is_win) { | 
 |     cflags = [ | 
 |       "/we4244",  # Implicit conversion, possible loss of data. | 
 |     ] | 
 |   } else { | 
 |     cflags = [ | 
 |       "-Wextra", | 
 |       "-pedantic", | 
 |     ] | 
 |   } | 
 | } | 
 |  | 
 | source_set("ppapi_cpp") { | 
 |   sources = [ | 
 |     "cpp/module_embedder.h", | 
 |     "cpp/ppp_entrypoints.cc", | 
 |   ] | 
 |  | 
 |   if (is_posix) { | 
 |     cflags = [ | 
 |       "-Wextra", | 
 |       "-pedantic", | 
 |     ] | 
 |   } | 
 |  | 
 |   deps = [ | 
 |     ":ppapi_c", | 
 |     ":ppapi_cpp_objects", | 
 |   ] | 
 | } | 
 |  | 
 | source_set("ppapi_internal_module") { | 
 |   sources = [ | 
 |     "cpp/private/internal_module.cc", | 
 |     "cpp/private/internal_module.h", | 
 |   ] | 
 | } | 
 |  | 
 | source_set("ppapi_gles2") { | 
 |   sources = [ | 
 |     "lib/gl/gles2/gl2ext_ppapi.c", | 
 |     "lib/gl/gles2/gl2ext_ppapi.h", | 
 |     "lib/gl/gles2/gles2.c", | 
 |   ] | 
 |  | 
 |   include_dirs = [ "lib/gl/include" ] | 
 |  | 
 |   deps = [ | 
 |     ":ppapi_c", | 
 |   ] | 
 | } | 
 |  | 
 | # TODO(brettw) argument list is too long. Need to add response files. | 
 | #shared_library("ppapi_tests") { | 
 | #  sources = gypi_values.test_common_source_files + | 
 | #            gypi_values.test_trusted_source_files | 
 | # | 
 | #  defines = [ "GL_GLEXT_PROTOTYPES" ] | 
 | #  include_dirs = [ "lib/gl/include" ] | 
 | # | 
 | #  deps = [ | 
 | #    ":ppapi_cpp", | 
 | #    ":ppapi_shared", | 
 | #  ] | 
 | #} | 
 |  | 
 | component("ppapi_shared") { | 
 |   sources = [ | 
 |     "shared_impl/array_var.cc", | 
 |     "shared_impl/array_var.h", | 
 |     "shared_impl/array_writer.cc", | 
 |     "shared_impl/array_writer.h", | 
 |     "shared_impl/callback_tracker.cc", | 
 |     "shared_impl/callback_tracker.h", | 
 |     "shared_impl/compositor_layer_data.cc", | 
 |     "shared_impl/compositor_layer_data.h", | 
 |     "shared_impl/dictionary_var.cc", | 
 |     "shared_impl/dictionary_var.h", | 
 |     "shared_impl/file_io_state_manager.cc", | 
 |     "shared_impl/file_io_state_manager.h", | 
 |     "shared_impl/file_growth.cc", | 
 |     "shared_impl/file_growth.h", | 
 |     "shared_impl/file_path.cc", | 
 |     "shared_impl/file_path.h", | 
 |     "shared_impl/file_ref_create_info.cc", | 
 |     "shared_impl/file_ref_create_info.h", | 
 |     "shared_impl/file_ref_util.cc", | 
 |     "shared_impl/file_ref_util.h", | 
 |     "shared_impl/file_system_util.cc", | 
 |     "shared_impl/file_system_util.h", | 
 |     "shared_impl/file_type_conversion.cc", | 
 |     "shared_impl/file_type_conversion.h", | 
 |     "shared_impl/host_resource.cc", | 
 |     "shared_impl/host_resource.h", | 
 |     "shared_impl/id_assignment.cc", | 
 |     "shared_impl/id_assignment.h", | 
 |     "shared_impl/media_stream_buffer.h", | 
 |     "shared_impl/media_stream_buffer_manager.cc", | 
 |     "shared_impl/media_stream_buffer_manager.h", | 
 |     "shared_impl/media_stream_audio_track_shared.cc", | 
 |     "shared_impl/media_stream_audio_track_shared.h", | 
 |     "shared_impl/media_stream_video_track_shared.h", | 
 |     "shared_impl/media_stream_video_track_shared.cc", | 
 |     "shared_impl/platform_file.cc", | 
 |     "shared_impl/platform_file.h", | 
 |     "shared_impl/ppapi_constants.h", | 
 |     "shared_impl/ppapi_globals.cc", | 
 |     "shared_impl/ppapi_globals.h", | 
 |     "shared_impl/ppapi_nacl_plugin_args.cc", | 
 |     "shared_impl/ppapi_nacl_plugin_args.h", | 
 |     "shared_impl/ppapi_permissions.cc", | 
 |     "shared_impl/ppapi_permissions.h", | 
 |     "shared_impl/ppapi_preferences.cc", | 
 |     "shared_impl/ppapi_preferences.h", | 
 |     "shared_impl/ppapi_switches.cc", | 
 |     "shared_impl/ppapi_switches.h", | 
 |     "shared_impl/ppb_audio_config_shared.cc", | 
 |     "shared_impl/ppb_audio_config_shared.h", | 
 |     "shared_impl/ppb_audio_shared.cc", | 
 |     "shared_impl/ppb_audio_shared.h", | 
 |     "shared_impl/ppb_crypto_shared.cc", | 
 |     "shared_impl/ppb_device_ref_shared.cc", | 
 |     "shared_impl/ppb_device_ref_shared.h", | 
 |     "shared_impl/ppb_gamepad_shared.cc", | 
 |     "shared_impl/ppb_gamepad_shared.h", | 
 |     "shared_impl/ppb_graphics_3d_shared.cc", | 
 |     "shared_impl/ppb_graphics_3d_shared.h", | 
 |     "shared_impl/ppb_image_data_shared.cc", | 
 |     "shared_impl/ppb_image_data_shared.h", | 
 |     "shared_impl/ppb_input_event_shared.cc", | 
 |     "shared_impl/ppb_input_event_shared.h", | 
 |     "shared_impl/ppb_instance_shared.cc", | 
 |     "shared_impl/ppb_instance_shared.h", | 
 |     "shared_impl/ppb_memory_shared.cc", | 
 |     "shared_impl/ppb_message_loop_shared.cc", | 
 |     "shared_impl/ppb_message_loop_shared.h", | 
 |     "shared_impl/ppb_opengles2_shared.cc", | 
 |     "shared_impl/ppb_opengles2_shared.h", | 
 |     "shared_impl/ppb_tcp_socket_shared.cc", | 
 |     "shared_impl/ppb_tcp_socket_shared.h", | 
 |     "shared_impl/ppb_trace_event_impl.cc", | 
 |     "shared_impl/ppb_trace_event_impl.h", | 
 |     "shared_impl/ppb_var_shared.cc", | 
 |     "shared_impl/ppb_var_shared.h", | 
 |     "shared_impl/ppb_view_shared.cc", | 
 |     "shared_impl/ppb_view_shared.h", | 
 |     "shared_impl/ppp_flash_browser_operations_shared.h", | 
 |     "shared_impl/ppp_instance_combined.cc", | 
 |     "shared_impl/ppp_instance_combined.h", | 
 |     "shared_impl/proxy_lock.cc", | 
 |     "shared_impl/proxy_lock.h", | 
 |     "shared_impl/resource.cc", | 
 |     "shared_impl/resource.h", | 
 |     "shared_impl/resource_tracker.cc", | 
 |     "shared_impl/resource_tracker.h", | 
 |     "shared_impl/resource_var.cc", | 
 |     "shared_impl/resource_var.h", | 
 |     "shared_impl/scoped_pp_resource.cc", | 
 |     "shared_impl/scoped_pp_resource.h", | 
 |     "shared_impl/scoped_pp_var.cc", | 
 |     "shared_impl/scoped_pp_var.h", | 
 |     "shared_impl/socket_option_data.cc", | 
 |     "shared_impl/socket_option_data.h", | 
 |     "shared_impl/thread_aware_callback.cc", | 
 |     "shared_impl/thread_aware_callback.h", | 
 |     "shared_impl/time_conversion.cc", | 
 |     "shared_impl/time_conversion.h", | 
 |     "shared_impl/tracked_callback.cc", | 
 |     "shared_impl/tracked_callback.h", | 
 |     "shared_impl/url_request_info_data.cc", | 
 |     "shared_impl/url_request_info_data.h", | 
 |     "shared_impl/url_response_info_data.cc", | 
 |     "shared_impl/url_response_info_data.h", | 
 |     "shared_impl/var.cc", | 
 |     "shared_impl/var.h", | 
 |     "shared_impl/var_tracker.cc", | 
 |     "shared_impl/var_tracker.h", | 
 |     # TODO(viettrungluu): Split these out; it won"t be used in NaCl. | 
 |     "shared_impl/private/net_address_private_impl.cc", | 
 |     "shared_impl/private/net_address_private_impl_constants.cc", | 
 |     "shared_impl/private/net_address_private_impl.h", | 
 |  | 
 |     "shared_impl/private/ppb_x509_certificate_private_shared.cc", | 
 |     "shared_impl/private/ppb_x509_certificate_private_shared.h", | 
 |  | 
 |     "thunk/enter.cc", | 
 |     "thunk/enter.h", | 
 |     "thunk/ppb_audio_api.h", | 
 |     "thunk/ppb_audio_config_api.h", | 
 |     "thunk/ppb_audio_config_thunk.cc", | 
 |     "thunk/ppb_audio_buffer_api.h", | 
 |     "thunk/ppb_audio_buffer_thunk.cc", | 
 |     "thunk/ppb_audio_input_api.h", | 
 |     "thunk/ppb_audio_thunk.cc", | 
 |     "thunk/ppb_broker_api.h", | 
 |     "thunk/ppb_browser_font_trusted_api.h", | 
 |     "thunk/ppb_buffer_api.h", | 
 |     "thunk/ppb_compositor_api.h", | 
 |     "thunk/ppb_compositor_layer_api.h", | 
 |     "thunk/ppb_compositor_layer_thunk.cc", | 
 |     "thunk/ppb_compositor_thunk.cc", | 
 |     "thunk/ppb_console_thunk.cc", | 
 |     "thunk/ppb_cursor_control_thunk.cc", | 
 |     "thunk/ppb_device_ref_api.h", | 
 |     "thunk/ppb_device_ref_dev_thunk.cc", | 
 |     "thunk/ppb_ext_crx_file_system_private_thunk.cc", | 
 |     "thunk/ppb_file_chooser_api.h", | 
 |     "thunk/ppb_file_chooser_dev_thunk.cc", | 
 |     "thunk/ppb_file_chooser_trusted_thunk.cc", | 
 |     "thunk/ppb_file_io_api.h", | 
 |     "thunk/ppb_file_io_private_thunk.cc", | 
 |     "thunk/ppb_file_io_thunk.cc", | 
 |     "thunk/ppb_file_mapping_thunk.cc", | 
 |     "thunk/ppb_file_ref_api.h", | 
 |     "thunk/ppb_file_ref_thunk.cc", | 
 |     "thunk/ppb_file_system_api.h", | 
 |     "thunk/ppb_file_system_thunk.cc", | 
 |     "thunk/ppb_find_private_thunk.cc", | 
 |     "thunk/ppb_flash_clipboard_api.h", | 
 |     "thunk/ppb_flash_drm_api.h", | 
 |     "thunk/ppb_flash_font_file_api.h", | 
 |     "thunk/ppb_flash_fullscreen_api.h", | 
 |     "thunk/ppb_flash_functions_api.h", | 
 |     "thunk/ppb_flash_menu_api.h", | 
 |     "thunk/ppb_flash_message_loop_api.h", | 
 |     "thunk/ppb_flash_print_thunk.cc", | 
 |     "thunk/ppb_fullscreen_thunk.cc", | 
 |     "thunk/ppb_gamepad_api.h", | 
 |     "thunk/ppb_gamepad_thunk.cc", | 
 |     "thunk/ppb_graphics_2d_api.h", | 
 |     "thunk/ppb_graphics_2d_thunk.cc", | 
 |     "thunk/ppb_graphics_3d_api.h", | 
 |     "thunk/ppb_graphics_3d_thunk.cc", | 
 |     "thunk/ppb_host_resolver_api.h", | 
 |     "thunk/ppb_host_resolver_thunk.cc", | 
 |     "thunk/ppb_host_resolver_private_api.h", | 
 |     "thunk/ppb_host_resolver_private_thunk.cc", | 
 |     "thunk/ppb_image_data_api.h", | 
 |     "thunk/ppb_image_data_thunk.cc", | 
 |     "thunk/ppb_input_event_api.h", | 
 |     "thunk/ppb_input_event_thunk.cc", | 
 |     "thunk/ppb_input_event_private_thunk.cc", | 
 |     "thunk/ppb_instance_api.h", | 
 |     "thunk/ppb_instance_private_thunk.cc", | 
 |     "thunk/ppb_instance_thunk.cc", | 
 |     "thunk/ppb_isolated_file_system_private_api.h", | 
 |     "thunk/ppb_isolated_file_system_private_thunk.cc", | 
 |     "thunk/ppb_media_stream_audio_track_api.h", | 
 |     "thunk/ppb_media_stream_audio_track_thunk.cc", | 
 |     "thunk/ppb_media_stream_video_track_api.h", | 
 |     "thunk/ppb_media_stream_video_track_thunk.cc", | 
 |     "thunk/ppb_message_loop_api.h", | 
 |     "thunk/ppb_messaging_thunk.cc", | 
 |     "thunk/ppb_mouse_cursor_thunk.cc", | 
 |     "thunk/ppb_mouse_lock_thunk.cc", | 
 |     "thunk/ppb_net_address_api.h", | 
 |     "thunk/ppb_net_address_thunk.cc", | 
 |     "thunk/ppb_network_list_api.h", | 
 |     "thunk/ppb_network_list_thunk.cc", | 
 |     "thunk/ppb_network_monitor_api.h", | 
 |     "thunk/ppb_network_monitor_thunk.cc", | 
 |     "thunk/ppb_network_proxy_api.h", | 
 |     "thunk/ppb_network_proxy_thunk.cc", | 
 |     "thunk/ppb_output_protection_api.h", | 
 |     "thunk/ppb_output_protection_private_thunk.cc", | 
 |     "thunk/ppb_pdf_api.h", | 
 |     "thunk/ppb_platform_verification_api.h", | 
 |     "thunk/ppb_printing_api.h", | 
 |     "thunk/ppb_printing_dev_thunk.cc", | 
 |     "thunk/ppb_scrollbar_api.h", | 
 |     "thunk/ppb_talk_private_api.h", | 
 |     "thunk/ppb_tcp_server_socket_private_api.h", | 
 |     "thunk/ppb_tcp_server_socket_private_thunk.cc", | 
 |     "thunk/ppb_tcp_socket_api.h", | 
 |     "thunk/ppb_tcp_socket_private_api.h", | 
 |     "thunk/ppb_tcp_socket_private_thunk.cc", | 
 |     "thunk/ppb_tcp_socket_thunk.cc", | 
 |     "thunk/ppb_text_input_thunk.cc", | 
 |     "thunk/ppb_truetype_font_api.h", | 
 |     "thunk/ppb_truetype_font_singleton_api.h", | 
 |     "thunk/ppb_truetype_font_dev_thunk.cc", | 
 |     "thunk/ppb_udp_socket_api.h", | 
 |     "thunk/ppb_udp_socket_thunk.cc", | 
 |     "thunk/ppb_udp_socket_private_api.h", | 
 |     "thunk/ppb_udp_socket_private_thunk.cc", | 
 |     "thunk/ppb_uma_private_thunk.cc", | 
 |     "thunk/ppb_uma_singleton_api.h", | 
 |     "thunk/ppb_url_loader_api.h", | 
 |     "thunk/ppb_url_loader_thunk.cc", | 
 |     "thunk/ppb_url_loader_trusted_thunk.cc", | 
 |     "thunk/ppb_url_request_info_api.h", | 
 |     "thunk/ppb_url_request_info_thunk.cc", | 
 |     "thunk/ppb_url_response_info_api.h", | 
 |     "thunk/ppb_url_response_info_thunk.cc", | 
 |     "thunk/ppb_var_array_thunk.cc", | 
 |     "thunk/ppb_var_dictionary_thunk.cc", | 
 |     "thunk/ppb_video_capture_api.h", | 
 |     "thunk/ppb_video_capture_thunk.cc", | 
 |     "thunk/ppb_video_decoder_api.h", | 
 |     "thunk/ppb_video_decoder_dev_api.h", | 
 |     "thunk/ppb_video_decoder_thunk.cc", | 
 |     "thunk/ppb_video_destination_private_api.h", | 
 |     "thunk/ppb_video_destination_private_thunk.cc", | 
 |     "thunk/ppb_video_frame_api.h", | 
 |     "thunk/ppb_video_frame_thunk.cc", | 
 |     "thunk/ppb_video_source_private_api.h", | 
 |     "thunk/ppb_video_source_private_thunk.cc", | 
 |     "thunk/ppb_view_api.h", | 
 |     "thunk/ppb_view_dev_thunk.cc", | 
 |     "thunk/ppb_view_thunk.cc", | 
 |     "thunk/ppb_websocket_api.h", | 
 |     "thunk/ppb_websocket_thunk.cc", | 
 |     "thunk/ppb_widget_api.h", | 
 |     "thunk/ppb_widget_dev_thunk.cc", | 
 |     "thunk/ppb_x509_certificate_private_api.h", | 
 |     "thunk/ppb_x509_certificate_private_thunk.cc", | 
 |     "thunk/ppb_zoom_dev_thunk.cc", | 
 |     "thunk/thunk.h", | 
 |   ] | 
 |  | 
 |   if (!is_nacl) { | 
 |     sources += [ | 
 |       "shared_impl/flash_clipboard_format_registry.cc", | 
 |       "shared_impl/flash_clipboard_format_registry.h", | 
 |       "shared_impl/ppb_url_util_shared.cc", | 
 |       "shared_impl/ppb_url_util_shared.h", | 
 |       "shared_impl/ppb_video_decoder_shared.cc", | 
 |       "shared_impl/ppb_video_decoder_shared.h", | 
 |       "shared_impl/private/ppb_char_set_shared.cc", | 
 |       "shared_impl/private/ppb_char_set_shared.h", | 
 |       "thunk/ppb_audio_input_dev_thunk.cc", | 
 |       "thunk/ppb_broker_thunk.cc", | 
 |       "thunk/ppb_browser_font_trusted_thunk.cc", | 
 |       "thunk/ppb_buffer_thunk.cc", | 
 |       "thunk/ppb_content_decryptor_private_thunk.cc", | 
 |       "thunk/ppb_char_set_thunk.cc", | 
 |       "thunk/ppb_flash_clipboard_thunk.cc", | 
 |       "thunk/ppb_flash_device_id_thunk.cc", | 
 |       "thunk/ppb_flash_drm_thunk.cc", | 
 |       "thunk/ppb_flash_file_fileref_thunk.cc", | 
 |       "thunk/ppb_flash_file_modulelocal_thunk.cc", | 
 |       "thunk/ppb_flash_font_file_thunk.cc", | 
 |       "thunk/ppb_flash_fullscreen_thunk.cc", | 
 |       "thunk/ppb_flash_menu_thunk.cc", | 
 |       "thunk/ppb_flash_thunk.cc", | 
 |       "thunk/ppb_flash_message_loop_thunk.cc", | 
 |       "thunk/ppb_gles_chromium_texture_mapping_thunk.cc", | 
 |       "thunk/ppb_pdf_thunk.cc", | 
 |       "thunk/ppb_platform_verification_private_thunk.cc", | 
 |       "thunk/ppb_scrollbar_thunk.cc", | 
 |       "thunk/ppb_talk_private_thunk.cc", | 
 |       "thunk/ppb_url_util_thunk.cc", | 
 |       "thunk/ppb_video_decoder_dev_thunk.cc", | 
 |     ] | 
 |   } | 
 |  | 
 |   # We exclude a few more things for nacl_win64, to avoid pulling in more | 
 |   # dependencies. | 
 |   if (is_win && cpu_arch == "x64" && current_toolchain != default_toolchain) { | 
 |     sources -= [ | 
 |       "shared_impl/ppb_audio_shared.cc", | 
 |       "shared_impl/ppb_graphics_3d_shared.cc", | 
 |       "shared_impl/ppb_opengles2_shared.cc", | 
 |       "shared_impl/private/ppb_host_resolver_shared.cc", | 
 |       "shared_impl/private/net_address_private_impl.cc", | 
 |       "thunk/ppb_graphics_3d_thunk.cc", | 
 |       "thunk/ppb_host_resolver_private_thunk.cc", | 
 |       "thunk/ppb_tcp_server_socket_private_thunk.cc", | 
 |       "thunk/ppb_tcp_socket_private_thunk.cc", | 
 |       "thunk/ppb_udp_socket_private_thunk.cc", | 
 |       "thunk/ppb_x509_certificate_private_thunk.cc", | 
 |     ] | 
 |   } | 
 |  | 
 |   defines = [ | 
 |     "PPAPI_SHARED_IMPLEMENTATION", | 
 |     "PPAPI_THUNK_IMPLEMENTATION", | 
 |   ] | 
 |  | 
 |   public_deps = [ | 
 |     blink_target, | 
 |   ] | 
 |   deps = [ | 
 |     ":ppapi_c", | 
 |     "//base", | 
 |     "//base:i18n", | 
 |     "//base/third_party/dynamic_annotations", | 
 |     "//gpu/command_buffer/client", | 
 |     "//gpu/command_buffer/client:gles2_cmd_helper", | 
 |     "//gpu/command_buffer/client:gles2_implementation", | 
 |     "//gpu/command_buffer/common", | 
 |     "//ipc", | 
 |     "//media:shared_memory_support", | 
 |     "//skia", | 
 |     "//third_party/icu:icuuc", | 
 |     "//ui/events:events_base", | 
 |     "//ui/surface", | 
 |     "//url", | 
 |   ] | 
 |  | 
 |   if (is_mac) { | 
 |     libs = [ "QuartzCore.framework" ] | 
 |   } else if (is_win) { | 
 |     cflags = [ "/wd4267" ]  # size_t to int truncation. | 
 |   } | 
 | } | 
 |  | 
 | source_set("ppapi_ipc") { | 
 |   sources = [ | 
 |     "proxy/nacl_message_scanner.cc", | 
 |     "proxy/nacl_message_scanner.h", | 
 |     "proxy/ppapi_messages.cc", | 
 |     "proxy/ppapi_messages.h", | 
 |     "proxy/ppapi_param_traits.cc", | 
 |     "proxy/ppapi_param_traits.h", | 
 |     "proxy/raw_var_data.cc", | 
 |     "proxy/raw_var_data.h", | 
 |     "proxy/resource_message_params.cc", | 
 |     "proxy/resource_message_params.h", | 
 |     "proxy/serialized_flash_menu.cc", | 
 |     "proxy/serialized_flash_menu.h", | 
 |     "proxy/serialized_handle.cc", | 
 |     "proxy/serialized_handle.h", | 
 |     "proxy/serialized_structs.cc", | 
 |     "proxy/serialized_structs.h", | 
 |     "proxy/serialized_var.cc", | 
 |     "proxy/serialized_var.h", | 
 |     "proxy/var_serialization_rules.h", | 
 |   ] | 
 |  | 
 |   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ] | 
 |  | 
 |   deps = [ | 
 |     ":ppapi_c", | 
 |     ":ppapi_shared", | 
 |     "//base", | 
 |     "//gpu/ipc", | 
 |     "//ipc", | 
 |     "//skia", | 
 |     "//ui/events/ipc", | 
 |   ] | 
 |  | 
 |   if (is_nacl) { | 
 |     sources -= [ "proxy/serialized_flash_menu.cc" ] | 
 |   } | 
 | } | 
 |  | 
 | component("ppapi_proxy") { | 
 |   sources = [ | 
 |     # Take some standalone files from the C++ wrapper allowing us to more | 
 |     # easily make async callbacks in the proxy. We can"t depend on the | 
 |     # full C++ wrappers at this layer since the C++ wrappers expect | 
 |     # symbols defining the globals for "being a plugin" which we are not. | 
 |     # These callback files are standalone. | 
 |     "cpp/completion_callback.h", | 
 |     "utility/completion_callback_factory.h", | 
 |  | 
 |     "proxy/audio_buffer_resource.cc", | 
 |     "proxy/audio_buffer_resource.h", | 
 |     "proxy/broker_resource.cc", | 
 |     "proxy/broker_resource.h", | 
 |     "proxy/compositor_layer_resource.cc", | 
 |     "proxy/compositor_layer_resource.h", | 
 |     "proxy/compositor_resource.cc", | 
 |     "proxy/compositor_resource.h", | 
 |     "proxy/connection.h", | 
 |     "proxy/dispatcher.cc", | 
 |     "proxy/dispatcher.h", | 
 |     "proxy/enter_proxy.h", | 
 |     "proxy/error_conversion.cc", | 
 |     "proxy/error_conversion.h", | 
 |     "proxy/file_chooser_resource.cc", | 
 |     "proxy/file_chooser_resource.h", | 
 |     "proxy/file_io_resource.cc", | 
 |     "proxy/file_io_resource.h", | 
 |     "proxy/file_mapping_resource.cc", | 
 |     "proxy/file_mapping_resource.h", | 
 |     "proxy/file_mapping_resource_posix.cc", | 
 |     "proxy/file_mapping_resource_win.cc", | 
 |     "proxy/file_ref_resource.cc", | 
 |     "proxy/file_ref_resource.h", | 
 |     "proxy/file_system_resource.cc", | 
 |     "proxy/file_system_resource.h", | 
 |     "proxy/gamepad_resource.cc", | 
 |     "proxy/gamepad_resource.h", | 
 |     "proxy/graphics_2d_resource.cc", | 
 |     "proxy/graphics_2d_resource.h", | 
 |     "proxy/host_resolver_private_resource.cc", | 
 |     "proxy/host_resolver_private_resource.h", | 
 |     "proxy/host_resolver_resource.cc", | 
 |     "proxy/host_resolver_resource.h", | 
 |     "proxy/host_resolver_resource_base.cc", | 
 |     "proxy/host_resolver_resource_base.h", | 
 |     "proxy/interface_list.cc", | 
 |     "proxy/interface_list.h", | 
 |     "proxy/interface_proxy.cc", | 
 |     "proxy/interface_proxy.h", | 
 |     "proxy/isolated_file_system_private_resource.cc", | 
 |     "proxy/isolated_file_system_private_resource.h", | 
 |     "proxy/locking_resource_releaser.h", | 
 |     "proxy/media_stream_audio_track_resource.cc", | 
 |     "proxy/media_stream_audio_track_resource.h", | 
 |     "proxy/media_stream_track_resource_base.cc", | 
 |     "proxy/media_stream_track_resource_base.h", | 
 |     "proxy/media_stream_video_track_resource.cc", | 
 |     "proxy/media_stream_video_track_resource.h", | 
 |     "proxy/message_handler.cc", | 
 |     "proxy/message_handler.h", | 
 |     "proxy/net_address_resource.cc", | 
 |     "proxy/net_address_resource.h", | 
 |     "proxy/network_list_resource.cc", | 
 |     "proxy/network_list_resource.h", | 
 |     "proxy/network_monitor_resource.cc", | 
 |     "proxy/network_monitor_resource.h", | 
 |     "proxy/network_proxy_resource.cc", | 
 |     "proxy/network_proxy_resource.h", | 
 |     "proxy/output_protection_resource.cc", | 
 |     "proxy/output_protection_resource.h", | 
 |     "proxy/plugin_array_buffer_var.cc", | 
 |     "proxy/plugin_array_buffer_var.h", | 
 |     "proxy/plugin_dispatcher.cc", | 
 |     "proxy/plugin_dispatcher.h", | 
 |     "proxy/plugin_globals.cc", | 
 |     "proxy/plugin_globals.h", | 
 |     "proxy/plugin_message_filter.cc", | 
 |     "proxy/plugin_message_filter.h", | 
 |     "proxy/plugin_resource.cc", | 
 |     "proxy/plugin_resource.h", | 
 |     "proxy/plugin_resource_tracker.cc", | 
 |     "proxy/plugin_resource_tracker.h", | 
 |     "proxy/plugin_resource_var.cc", | 
 |     "proxy/plugin_resource_var.h", | 
 |     "proxy/plugin_var_serialization_rules.cc", | 
 |     "proxy/plugin_var_serialization_rules.h", | 
 |     "proxy/plugin_var_tracker.cc", | 
 |     "proxy/plugin_var_tracker.h", | 
 |     "proxy/ppapi_command_buffer_proxy.cc", | 
 |     "proxy/ppapi_command_buffer_proxy.h", | 
 |     "proxy/ppapi_messages.h", | 
 |     "proxy/ppapi_message_utils.h", | 
 |     "proxy/ppb_audio_proxy.cc", | 
 |     "proxy/ppb_audio_proxy.h", | 
 |     "proxy/ppb_core_proxy.cc", | 
 |     "proxy/ppb_core_proxy.h", | 
 |     "proxy/ppb_graphics_3d_proxy.cc", | 
 |     "proxy/ppb_graphics_3d_proxy.h", | 
 |     "proxy/ppb_image_data_proxy.cc", | 
 |     "proxy/ppb_image_data_proxy.h", | 
 |     "proxy/ppb_instance_proxy.cc", | 
 |     "proxy/ppb_instance_proxy.h", | 
 |     "proxy/ppb_message_loop_proxy.cc", | 
 |     "proxy/ppb_message_loop_proxy.h", | 
 |     "proxy/ppb_testing_proxy.cc", | 
 |     "proxy/ppb_testing_proxy.h", | 
 |     "proxy/ppb_var_deprecated_proxy.cc", | 
 |     "proxy/ppb_var_deprecated_proxy.h", | 
 |     "proxy/ppb_x509_certificate_private_proxy.cc", | 
 |     "proxy/ppb_x509_certificate_private_proxy.h", | 
 |     "proxy/ppp_class_proxy.cc", | 
 |     "proxy/ppp_class_proxy.h", | 
 |     "proxy/ppp_find_proxy.cc", | 
 |     "proxy/ppp_find_proxy.h", | 
 |     "proxy/ppp_graphics_3d_proxy.cc", | 
 |     "proxy/ppp_graphics_3d_proxy.h", | 
 |     "proxy/ppp_input_event_proxy.cc", | 
 |     "proxy/ppp_input_event_proxy.h", | 
 |     "proxy/ppp_instance_proxy.cc", | 
 |     "proxy/ppp_instance_proxy.h", | 
 |     "proxy/ppp_messaging_proxy.cc", | 
 |     "proxy/ppp_messaging_proxy.h", | 
 |     "proxy/ppp_mouse_lock_proxy.cc", | 
 |     "proxy/ppp_mouse_lock_proxy.h", | 
 |     "proxy/ppp_pdf_proxy.cc", | 
 |     "proxy/ppp_pdf_proxy.h", | 
 |     "proxy/ppp_printing_proxy.cc", | 
 |     "proxy/ppp_printing_proxy.h", | 
 |     "proxy/ppp_text_input_proxy.cc", | 
 |     "proxy/ppp_text_input_proxy.h", | 
 |     "proxy/printing_resource.cc", | 
 |     "proxy/printing_resource.h", | 
 |     "proxy/proxy_array_output.cc", | 
 |     "proxy/proxy_array_output.h", | 
 |     "proxy/proxy_channel.cc", | 
 |     "proxy/proxy_channel.h", | 
 |     "proxy/proxy_completion_callback_factory.h", | 
 |     "proxy/proxy_module.cc", | 
 |     "proxy/proxy_module.h", | 
 |     "proxy/proxy_object_var.cc", | 
 |     "proxy/proxy_object_var.h", | 
 |     "proxy/resource_creation_proxy.cc", | 
 |     "proxy/resource_creation_proxy.h", | 
 |     "proxy/resource_reply_thread_registrar.cc", | 
 |     "proxy/resource_reply_thread_registrar.h", | 
 |     "proxy/tcp_server_socket_private_resource.cc", | 
 |     "proxy/tcp_server_socket_private_resource.h", | 
 |     "proxy/tcp_socket_private_resource.cc", | 
 |     "proxy/tcp_socket_private_resource.h", | 
 |     "proxy/tcp_socket_resource.cc", | 
 |     "proxy/tcp_socket_resource.h", | 
 |     "proxy/tcp_socket_resource_base.cc", | 
 |     "proxy/tcp_socket_resource_base.h", | 
 |     "proxy/truetype_font_resource.cc", | 
 |     "proxy/truetype_font_resource.h", | 
 |     "proxy/truetype_font_singleton_resource.cc", | 
 |     "proxy/truetype_font_singleton_resource.h", | 
 |     "proxy/udp_socket_private_resource.cc", | 
 |     "proxy/udp_socket_private_resource.h", | 
 |     "proxy/udp_socket_resource.cc", | 
 |     "proxy/udp_socket_resource.h", | 
 |     "proxy/udp_socket_resource_base.cc", | 
 |     "proxy/udp_socket_resource_base.h", | 
 |     "proxy/uma_private_resource.cc", | 
 |     "proxy/uma_private_resource.h", | 
 |     "proxy/url_loader_resource.cc", | 
 |     "proxy/url_loader_resource.h", | 
 |     "proxy/url_request_info_resource.cc", | 
 |     "proxy/url_request_info_resource.h", | 
 |     "proxy/url_response_info_resource.cc", | 
 |     "proxy/url_response_info_resource.h", | 
 |     "proxy/var_serialization_rules.h", | 
 |     "proxy/video_destination_resource.cc", | 
 |     "proxy/video_destination_resource.h", | 
 |     "proxy/video_frame_resource.cc", | 
 |     "proxy/video_frame_resource.h", | 
 |     "proxy/video_source_resource.cc", | 
 |     "proxy/video_source_resource.h", | 
 |     "proxy/websocket_resource.cc", | 
 |     "proxy/websocket_resource.h", | 
 |   ] | 
 |  | 
 |   if (is_nacl) { | 
 |     sources += [ | 
 |       "nacl_irt/irt_ppapi.cc", | 
 |       "nacl_irt/irt_ppapi.h", | 
 |       "nacl_irt/irt_start.cc", | 
 |       "nacl_irt/manifest_service.cc", | 
 |       "nacl_irt/manifest_service.h", | 
 |       "nacl_irt/plugin_main.cc", | 
 |       "nacl_irt/plugin_main.h", | 
 |       "nacl_irt/plugin_startup.cc", | 
 |       "nacl_irt/plugin_startup.h", | 
 |       "nacl_irt/ppapi_dispatcher.cc", | 
 |       "nacl_irt/ppapi_dispatcher.h", | 
 |     ] | 
 |   } else { | 
 |     sources += [ | 
 |       "proxy/audio_input_resource.cc", | 
 |       "proxy/audio_input_resource.h", | 
 |       "proxy/broker_dispatcher.cc", | 
 |       "proxy/broker_dispatcher.h", | 
 |       "proxy/browser_font_singleton_resource.cc", | 
 |       "proxy/browser_font_singleton_resource.h", | 
 |       "proxy/device_enumeration_resource_helper.cc", | 
 |       "proxy/device_enumeration_resource_helper.h", | 
 |       "proxy/flash_clipboard_resource.cc", | 
 |       "proxy/flash_clipboard_resource.h", | 
 |       "proxy/flash_drm_resource.cc", | 
 |       "proxy/flash_drm_resource.h", | 
 |       "proxy/flash_file_resource.cc", | 
 |       "proxy/flash_file_resource.h", | 
 |       "proxy/flash_font_file_resource.cc", | 
 |       "proxy/flash_font_file_resource.h", | 
 |       "proxy/flash_fullscreen_resource.cc", | 
 |       "proxy/flash_fullscreen_resource.h", | 
 |       "proxy/flash_menu_resource.cc", | 
 |       "proxy/flash_menu_resource.h", | 
 |       "proxy/flash_resource.cc", | 
 |       "proxy/flash_resource.h", | 
 |       "proxy/host_dispatcher.cc", | 
 |       "proxy/host_dispatcher.h", | 
 |       "proxy/host_var_serialization_rules.cc", | 
 |       "proxy/host_var_serialization_rules.h", | 
 |       "proxy/pdf_resource.cc", | 
 |       "proxy/pdf_resource.h", | 
 |       "proxy/platform_verification_private_resource.cc", | 
 |       "proxy/platform_verification_private_resource.h", | 
 |       "proxy/ppb_broker_proxy.cc", | 
 |       "proxy/ppb_broker_proxy.h", | 
 |       "proxy/ppb_buffer_proxy.cc", | 
 |       "proxy/ppb_buffer_proxy.h", | 
 |       "proxy/ppb_flash_message_loop_proxy.cc", | 
 |       "proxy/ppb_flash_message_loop_proxy.h", | 
 |       "proxy/ppb_video_decoder_proxy.cc", | 
 |       "proxy/ppb_video_decoder_proxy.h", | 
 |       "proxy/ppp_content_decryptor_private_proxy.cc", | 
 |       "proxy/ppp_content_decryptor_private_proxy.h", | 
 |       "proxy/ppp_instance_private_proxy.cc", | 
 |       "proxy/ppp_instance_private_proxy.h", | 
 |       "proxy/ppp_video_decoder_proxy.cc", | 
 |       "proxy/ppp_video_decoder_proxy.h", | 
 |       "proxy/video_decoder_resource.cc", | 
 |       "proxy/video_decoder_resource.h", | 
 |       "proxy/talk_resource.cc", | 
 |       "proxy/talk_resource.h", | 
 |       "proxy/video_capture_resource.cc", | 
 |       "proxy/video_capture_resource.h", | 
 |     ] | 
 |   } | 
 |  | 
 |   defines = [ "PPAPI_PROXY_IMPLEMENTATION" ] | 
 |  | 
 |   deps = [ | 
 |     ":ppapi_c", | 
 |     ":ppapi_shared", | 
 |     ":ppapi_ipc", | 
 |     "//base", | 
 |     "//base/third_party/dynamic_annotations", | 
 |     "//gpu/command_buffer/client:gles2_implementation", | 
 |     "//gpu/ipc", | 
 |     "//media:shared_memory_support", | 
 |     "//ipc", | 
 |     "//skia", | 
 |     "//third_party/icu", | 
 |     "//ui/events:events_base", | 
 |     "//ui/surface", | 
 |     blink_target, | 
 |   ] | 
 |  | 
 |   if (is_win) { | 
 |     cflags = [ "/wd4267" ]  # size_t to int truncation. | 
 |   } | 
 | } | 
 |  | 
 | component("ppapi_host") { | 
 |   sources = [ | 
 |     "host/dispatch_host_message.h", | 
 |     "host/error_conversion.cc", | 
 |     "host/error_conversion.h", | 
 |     "host/host_factory.h", | 
 |     "host/host_message_context.cc", | 
 |     "host/host_message_context.h", | 
 |     "host/instance_message_filter.cc", | 
 |     "host/instance_message_filter.h", | 
 |     "host/message_filter_host.cc", | 
 |     "host/message_filter_host.h", | 
 |     "host/ppapi_host.cc", | 
 |     "host/ppapi_host.h", | 
 |     "host/ppapi_host_export.h", | 
 |     "host/resource_host.cc", | 
 |     "host/resource_host.h", | 
 |     "host/resource_message_filter.cc", | 
 |     "host/resource_message_filter.h", | 
 |     "host/resource_message_handler.cc", | 
 |     "host/resource_message_handler.h", | 
 |   ] | 
 |  | 
 |   defines = [ "PPAPI_HOST_IMPLEMENTATION" ] | 
 |  | 
 |   deps = [ | 
 |     ":ppapi_c", | 
 |     ":ppapi_ipc", | 
 |     ":ppapi_proxy", | 
 |     ":ppapi_shared", | 
 |     "//base", | 
 |     "//ipc", | 
 |     "//media:shared_memory_support", | 
 |     "//ui/events:events_base", | 
 |     "//ui/surface", | 
 |     "//url", | 
 |   ] | 
 | } | 
 |  | 
 | static_library("ppapi_unittest_shared") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "proxy/ppapi_proxy_test.cc", | 
 |     "proxy/ppapi_proxy_test.h", | 
 |     "proxy/resource_message_test_sink.cc", | 
 |     "proxy/resource_message_test_sink.h", | 
 |     "shared_impl/test_globals.cc", | 
 |     "shared_impl/test_globals.h", | 
 |     "shared_impl/unittest_utils.cc", | 
 |     "shared_impl/unittest_utils.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":ppapi_proxy", | 
 |     ":ppapi_shared", | 
 |     "//base/test:test_support", | 
 |     "//ipc", | 
 |     "//ipc:test_support", | 
 |     "//testing/gmock", | 
 |     "//testing/gtest", | 
 |   ] | 
 | } | 
 |  | 
 | # TODO(GYP) other targets from ppapi_tests.gyp |