Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / ppapi / shared_impl / BUILD.gn
blob64ae537f6c6d5ed212b6312fc358e7823f442cd5
1 # Copyright 2015 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.
5 component("shared_impl") {
6   output_name = "ppapi_shared"
8   sources = [
9     "array_var.cc",
10     "array_var.h",
11     "array_writer.cc",
12     "array_writer.h",
13     "callback_tracker.cc",
14     "callback_tracker.h",
15     "compositor_layer_data.cc",
16     "compositor_layer_data.h",
17     "dictionary_var.cc",
18     "dictionary_var.h",
19     "file_growth.cc",
20     "file_growth.h",
21     "file_io_state_manager.cc",
22     "file_io_state_manager.h",
23     "file_path.cc",
24     "file_path.h",
25     "file_ref_create_info.cc",
26     "file_ref_create_info.h",
27     "file_ref_util.cc",
28     "file_ref_util.h",
29     "file_system_util.cc",
30     "file_system_util.h",
31     "file_type_conversion.cc",
32     "file_type_conversion.h",
33     "host_resource.cc",
34     "host_resource.h",
35     "id_assignment.cc",
36     "id_assignment.h",
37     "media_stream_audio_track_shared.cc",
38     "media_stream_audio_track_shared.h",
39     "media_stream_buffer.h",
40     "media_stream_buffer_manager.cc",
41     "media_stream_buffer_manager.h",
42     "media_stream_video_track_shared.cc",
43     "media_stream_video_track_shared.h",
44     "platform_file.cc",
45     "platform_file.h",
46     "ppapi_constants.h",
47     "ppapi_globals.cc",
48     "ppapi_globals.h",
49     "ppapi_nacl_plugin_args.cc",
50     "ppapi_nacl_plugin_args.h",
51     "ppapi_permissions.cc",
52     "ppapi_permissions.h",
53     "ppapi_preferences.cc",
54     "ppapi_preferences.h",
55     "ppapi_switches.cc",
56     "ppapi_switches.h",
57     "ppb_audio_config_shared.cc",
58     "ppb_audio_config_shared.h",
59     "ppb_audio_shared.cc",
60     "ppb_audio_shared.h",
61     "ppb_crypto_shared.cc",
62     "ppb_device_ref_shared.cc",
63     "ppb_device_ref_shared.h",
64     "ppb_gamepad_shared.cc",
65     "ppb_gamepad_shared.h",
66     "ppb_graphics_3d_shared.cc",
67     "ppb_graphics_3d_shared.h",
68     "ppb_image_data_shared.cc",
69     "ppb_image_data_shared.h",
70     "ppb_input_event_shared.cc",
71     "ppb_input_event_shared.h",
72     "ppb_instance_shared.cc",
73     "ppb_instance_shared.h",
74     "ppb_memory_shared.cc",
75     "ppb_message_loop_shared.cc",
76     "ppb_message_loop_shared.h",
77     "ppb_opengles2_shared.cc",
78     "ppb_opengles2_shared.h",
79     "ppb_tcp_socket_shared.cc",
80     "ppb_tcp_socket_shared.h",
81     "ppb_trace_event_impl.cc",
82     "ppb_trace_event_impl.h",
83     "ppb_var_shared.cc",
84     "ppb_var_shared.h",
85     "ppb_view_shared.cc",
86     "ppb_view_shared.h",
87     "ppp_flash_browser_operations_shared.h",
88     "ppp_instance_combined.cc",
89     "ppp_instance_combined.h",
90     "proxy_lock.cc",
91     "proxy_lock.h",
92     "resource.cc",
93     "resource.h",
94     "resource_tracker.cc",
95     "resource_tracker.h",
96     "resource_var.cc",
97     "resource_var.h",
98     "scoped_pp_resource.cc",
99     "scoped_pp_resource.h",
100     "scoped_pp_var.cc",
101     "scoped_pp_var.h",
102     "socket_option_data.cc",
103     "socket_option_data.h",
104     "test_harness_utils.cc",
105     "test_harness_utils.h",
106     "thread_aware_callback.cc",
107     "thread_aware_callback.h",
108     "time_conversion.cc",
109     "time_conversion.h",
110     "tracked_callback.cc",
111     "tracked_callback.h",
112     "url_request_info_data.cc",
113     "url_request_info_data.h",
114     "url_response_info_data.cc",
115     "url_response_info_data.h",
116     "var.cc",
117     "var.h",
118     "var_tracker.cc",
119     "var_tracker.h",
121     # TODO(viettrungluu): Split these out; it won"t be used in NaCl.
122     "private/net_address_private_impl.cc",
123     "private/net_address_private_impl.h",
124     "private/net_address_private_impl_constants.cc",
125     "private/ppb_x509_certificate_private_shared.cc",
126     "private/ppb_x509_certificate_private_shared.h",
127   ]
129   if (!is_nacl) {
130     sources += [
131       "flash_clipboard_format_registry.cc",
132       "flash_clipboard_format_registry.h",
133       "ppb_url_util_shared.cc",
134       "ppb_url_util_shared.h",
135       "ppb_video_decoder_shared.cc",
136       "ppb_video_decoder_shared.h",
137       "private/ppb_char_set_shared.cc",
138       "private/ppb_char_set_shared.h",
139     ]
140   }
142   # TODO(GYP) this isn't correct. This should only be specifically for the
143   # nacl_win64 build (cross-compiled for a 32-bit Chrome), rather than the
144   # native 64-bit Chrome build.
145   # See also //ppapi/thunk
146   if (is_win && current_cpu == "x64" && current_toolchain != default_toolchain) {
147     sources -= [
148       "ppb_audio_shared.cc",
149       "ppb_graphics_3d_shared.cc",
150       "ppb_opengles2_shared.cc",
151       "private/net_address_private_impl.cc",
152       "private/ppb_host_resolver_shared.cc",
153     ]
154   }
156   defines = [
157     "PPAPI_SHARED_IMPLEMENTATION",
159     # This target goes in the same library as thunk (in GYP they are the same).
160     "PPAPI_THUNK_IMPLEMENTATION",
161   ]
163   deps = [
164     "//base",
165     "//base:i18n",
166     "//base/third_party/dynamic_annotations",
167     "//gpu/command_buffer/client",
168     "//gpu/command_buffer/client:gles2_cmd_helper",
169     "//gpu/command_buffer/client:gles2_implementation",
170     "//gpu/command_buffer/common",
171     "//ipc",
172     "//media:shared_memory_support",
173     "//ppapi/c",
174     "//ppapi/thunk",
175     "//third_party/icu:icuuc",
176     "//url",
177   ]
179   if (!is_nacl) {
180     deps += [
181       "//skia",
182       "//ui/events:events_base",
183       "//ui/surface",
184     ]
185   }
187   if (is_mac) {
188     libs = [ "QuartzCore.framework" ]
189   }
192 source_set("test_support") {
193   testonly = true
195   sources = [
196     "test_globals.cc",
197     "test_globals.h",
198     "unittest_utils.cc",
199     "unittest_utils.h",
200   ]
202   deps = [
203     "//base/test:test_support",
204     "//ipc",
205     "//ipc:test_support",
206     "//ppapi/proxy",
207     "//ppapi/shared_impl",
208     "//testing/gmock",
209     "//testing/gtest",
210   ]