Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / events / BUILD.gn
blob32b97c7f2d6b7015a154f914e0571236c13f0462
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.
5 import("//build/config/ui.gni")
6 import("//testing/test.gni")
8 static_library("dom_keycode_converter") {
9   sources = [
10     "keycodes/dom/dom_code.h",
11     "keycodes/dom/dom_key.h",
12     "keycodes/dom/dom_key_data.inc",
13     "keycodes/dom/keycode_converter.cc",
14     "keycodes/dom/keycode_converter.h",
15     "keycodes/dom/keycode_converter_data.inc",
16   ]
18   deps = [
19     "//base",
20   ]
23 component("events_base") {
24   sources = [
25     "android/scroller.cc",
26     "android/scroller.h",
27     "base_event_utils.cc",
28     "base_event_utils.h",
29     "event_constants.h",
30     "event_switches.cc",
31     "event_switches.h",
32     "events_base_export.h",
33     "gesture_curve.h",
34     "gesture_event_details.cc",
35     "gesture_event_details.h",
36     "gestures/fling_curve.cc",
37     "gestures/fling_curve.h",
38     "keycodes/dom_us_layout_data.h",
39     "keycodes/keyboard_code_conversion.cc",
40     "keycodes/keyboard_code_conversion.h",
41     "keycodes/keyboard_code_conversion_android.cc",
42     "keycodes/keyboard_code_conversion_android.h",
43     "keycodes/keyboard_code_conversion_mac.h",
44     "keycodes/keyboard_code_conversion_mac.mm",
45     "keycodes/keyboard_code_conversion_win.cc",
46     "keycodes/keyboard_code_conversion_win.h",
47     "keycodes/keyboard_codes.h",
48     "latency_info.cc",
49     "latency_info.h",
50   ]
52   defines = [ "EVENTS_BASE_IMPLEMENTATION" ]
54   deps = [
55     ":dom_keycode_converter",
56     "//base/third_party/dynamic_annotations",
57     "//skia",
58   ]
60   public_deps = [
61     "//base",
62     "//ui/events/platform",
63     "//ui/gfx",
64     "//ui/gfx/geometry",
65   ]
67   if (use_x11) {
68     configs += [ "//build/config/linux:x11" ]
70     sources += [
71       "keycodes/keyboard_code_conversion_x.cc",
72       "keycodes/keyboard_code_conversion_x.h",
73       "x/keysym_to_unicode.cc",
74       "x/keysym_to_unicode.h",
75     ]
77     deps += [ "//ui/gfx/x" ]
78   }
80   if (use_x11 || use_ozone) {
81     sources += [
82       "keycodes/keyboard_code_conversion_xkb.cc",
83       "keycodes/keyboard_code_conversion_xkb.h",
84       "keycodes/xkb_keysym.h",
85     ]
86   }
89 component("events") {
90   sources = [
91     "cocoa/cocoa_event_utils.h",
92     "cocoa/cocoa_event_utils.mm",
93     "cocoa/events_mac.mm",
94     "event.cc",
95     "event.h",
96     "event_dispatcher.cc",
97     "event_dispatcher.h",
98     "event_handler.cc",
99     "event_handler.h",
100     "event_processor.cc",
101     "event_processor.h",
102     "event_rewriter.h",
103     "event_source.cc",
104     "event_source.h",
105     "event_target.cc",
106     "event_target.h",
107     "event_target_iterator.h",
108     "event_targeter.h",
109     "event_utils.cc",
110     "event_utils.h",
111     "events_export.h",
112     "events_stub.cc",
113     "gestures/gesture_recognizer_impl_mac.cc",
114     "gestures/gesture_types.h",
115     "null_event_targeter.cc",
116     "null_event_targeter.h",
117     "win/events_win.cc",
118   ]
120   defines = [ "EVENTS_IMPLEMENTATION" ]
122   public_deps = [
123     ":events_base",
124   ]
125   deps = [
126     ":dom_keycode_converter",
127     ":gesture_detection",
128     "//base/third_party/dynamic_annotations",
129     "//skia",
130     "//ui/gfx",
131     "//ui/gfx/geometry",
132   ]
134   if (use_x11) {
135     sources += [ "x/events_x.cc" ]
136     configs += [
137       "//build/config/linux:glib",
138       "//build/config/linux:x11",
139     ]
140     deps += [
141       "//ui/events/devices",
142       "//ui/gfx/x",
143     ]
144   }
146   if (!is_chromeos && is_linux) {
147     sources += [
148       "linux/text_edit_command_auralinux.cc",
149       "linux/text_edit_command_auralinux.h",
150       "linux/text_edit_key_bindings_delegate_auralinux.cc",
151       "linux/text_edit_key_bindings_delegate_auralinux.h",
152     ]
153   }
155   if (use_ozone) {
156     sources += [ "ozone/events_ozone.cc" ]
157     deps += [ "//ui/events/ozone:events_ozone_layout" ]
158   }
160   if (use_aura) {
161     sources += [
162       "gestures/gesture_provider_aura.cc",
163       "gestures/gesture_provider_aura.h",
164       "gestures/gesture_recognizer.h",
165       "gestures/gesture_recognizer_impl.cc",
166       "gestures/gesture_recognizer_impl.h",
167       "gestures/motion_event_aura.cc",
168       "gestures/motion_event_aura.h",
169     ]
170   }
172   if (is_win || is_mac || use_x11 || use_ozone) {
173     sources -= [ "events_stub.cc" ]
174   }
177 component("gesture_detection") {
178   sources = [
179     "gesture_detection/bitset_32.h",
180     "gesture_detection/filtered_gesture_provider.cc",
181     "gesture_detection/filtered_gesture_provider.h",
182     "gesture_detection/gesture_configuration.cc",
183     "gesture_detection/gesture_configuration.h",
184     "gesture_detection/gesture_detection_export.h",
185     "gesture_detection/gesture_detector.cc",
186     "gesture_detection/gesture_detector.h",
187     "gesture_detection/gesture_event_data.cc",
188     "gesture_detection/gesture_event_data.h",
189     "gesture_detection/gesture_event_data_packet.cc",
190     "gesture_detection/gesture_event_data_packet.h",
191     "gesture_detection/gesture_listeners.cc",
192     "gesture_detection/gesture_listeners.h",
193     "gesture_detection/gesture_provider.cc",
194     "gesture_detection/gesture_provider.h",
195     "gesture_detection/gesture_provider_config_helper.cc",
196     "gesture_detection/gesture_provider_config_helper.h",
197     "gesture_detection/gesture_touch_uma_histogram.cc",
198     "gesture_detection/gesture_touch_uma_histogram.h",
199     "gesture_detection/motion_event.cc",
200     "gesture_detection/motion_event.h",
201     "gesture_detection/motion_event_buffer.cc",
202     "gesture_detection/motion_event_buffer.h",
203     "gesture_detection/motion_event_generic.cc",
204     "gesture_detection/motion_event_generic.h",
205     "gesture_detection/scale_gesture_detector.cc",
206     "gesture_detection/scale_gesture_detector.h",
207     "gesture_detection/scale_gesture_listeners.cc",
208     "gesture_detection/scale_gesture_listeners.h",
209     "gesture_detection/snap_scroll_controller.cc",
210     "gesture_detection/snap_scroll_controller.h",
211     "gesture_detection/touch_disposition_gesture_filter.cc",
212     "gesture_detection/touch_disposition_gesture_filter.h",
213     "gesture_detection/velocity_tracker.cc",
214     "gesture_detection/velocity_tracker.h",
215     "gesture_detection/velocity_tracker_state.cc",
216     "gesture_detection/velocity_tracker_state.h",
217   ]
219   deps = [
220     ":events_base",
221     "//base",
222     "//base/third_party/dynamic_annotations",
223     "//ui/gfx",
224     "//ui/gfx/geometry",
225   ]
227   defines = [ "GESTURE_DETECTION_IMPLEMENTATION" ]
229   if (is_android) {
230     sources += [ "gesture_detection/gesture_configuration_android.cc" ]
231   } else if (use_aura) {
232     sources += [ "gesture_detection/gesture_configuration_aura.cc" ]
233   } else {
234     sources += [ "gesture_detection/gesture_configuration_default.cc" ]
235   }
238 source_set("test_support") {
239   sources = [
240     "test/cocoa_test_event_utils.h",
241     "test/cocoa_test_event_utils.mm",
242     "test/device_data_manager_test_api.h",
243     "test/event_generator.cc",
244     "test/event_generator.h",
245     "test/events_test_utils.cc",
246     "test/events_test_utils.h",
247     "test/motion_event_test_utils.cc",
248     "test/motion_event_test_utils.h",
249     "test/platform_event_source_test_api.cc",
250     "test/platform_event_source_test_api.h",
251     "test/platform_event_waiter.cc",
252     "test/platform_event_waiter.h",
253     "test/test_event_handler.cc",
254     "test/test_event_handler.h",
255     "test/test_event_processor.cc",
256     "test/test_event_processor.h",
257     "test/test_event_target.cc",
258     "test/test_event_target.h",
259     "test/test_event_targeter.cc",
260     "test/test_event_targeter.h",
261   ]
263   public_deps = [
264     ":events",
265     ":events_base",
266     ":gesture_detection",
267   ]
268   deps = [
269     "//base",
270     "//skia",
271     "//ui/events/platform",
272     "//ui/gfx/geometry",
273   ]
275   if (is_ios) {
276     sources -= [
277       "test/cocoa_test_event_utils.h",
278       "test/cocoa_test_event_utils.mm",
279     ]
280   }
282   if (use_x11) {
283     sources += [
284       "test/events_test_utils_x11.cc",
285       "test/events_test_utils_x11.h",
286     ]
287     deps += [
288       "//ui/events/devices",
289       "//ui/gfx/x",
290     ]
291   }
293   if (use_x11 || use_ozone) {
294     sources += [ "test/device_data_manager_test_api_impl.cc" ]
295     deps += [ "//ui/events/devices" ]
296   } else {
297     sources += [ "test/device_data_manager_test_api_stub.cc" ]
298   }
301 # TODO(GYP): Delete this after we've converted everything to GN.
302 # The _run targets exist only for compatibility w/ GYP.
303 group("events_unittests_run") {
304   testonly = true
305   deps = [
306     ":events_unittests",
307   ]
310 test("events_unittests") {
311   sources = [
312     "android/scroller_unittest.cc",
313     "cocoa/events_mac_unittest.mm",
314     "event_dispatcher_unittest.cc",
315     "event_processor_unittest.cc",
316     "event_rewriter_unittest.cc",
317     "event_unittest.cc",
318     "gesture_detection/bitset_32_unittest.cc",
319     "gesture_detection/filtered_gesture_provider_unittest.cc",
320     "gesture_detection/gesture_event_data_packet_unittest.cc",
321     "gesture_detection/gesture_provider_unittest.cc",
322     "gesture_detection/motion_event_buffer_unittest.cc",
323     "gesture_detection/motion_event_generic_unittest.cc",
324     "gesture_detection/snap_scroll_controller_unittest.cc",
325     "gesture_detection/touch_disposition_gesture_filter_unittest.cc",
326     "gesture_detection/velocity_tracker_unittest.cc",
327     "gestures/fling_curve_unittest.cc",
328     "ipc/latency_info_param_traits_unittest.cc",
329     "keycodes/dom/keycode_converter_unittest.cc",
330     "keycodes/keyboard_code_conversion_unittest.cc",
331     "latency_info_unittest.cc",
332     "platform/platform_event_source_unittest.cc",
333   ]
335   deps = [
336     ":dom_keycode_converter",
337     ":events",
338     ":events_base",
339     ":gesture_detection",
340     ":test_support",
341     "//base",
342     "//base/test:run_all_unittests",
343     "//ipc:test_support",
344     "//skia",
345     "//testing/gtest",
346     "//ui/events/devices",
347     "//ui/events/ipc:events_ipc",
348     "//ui/events/platform",
349     "//ui/gfx:test_support",
350   ]
352   if (!is_ios) {
353     sources += [ "gestures/blink/web_gesture_curve_impl_unittest.cc" ]
354     deps += [
355       "//third_party/WebKit/public:blink_headers",
356       "//ui/events/gestures/blink",
357     ]
358   }
360   data_deps = [ "//third_party/mesa:osmesa" ]
362   include_dirs = [ "//testing/gmock/include" ]
364   if (use_x11) {
365     sources += [
366       "devices/x11/device_data_manager_x11_unittest.cc",
367       "x/events_x_unittest.cc",
368     ]
369     configs += [ "//build/config/linux:x11" ]
370     deps += [ "//ui/gfx/x" ]
371   }
373   if (use_ozone) {
374     sources += [
375       "ozone/chromeos/cursor_controller_unittest.cc",
376       "ozone/evdev/event_converter_evdev_impl_unittest.cc",
377       "ozone/evdev/event_converter_test_util.cc",
378       "ozone/evdev/event_device_info_unittest.cc",
379       "ozone/evdev/event_device_test_util.cc",
380       "ozone/evdev/input_injector_evdev_unittest.cc",
381       "ozone/evdev/tablet_event_converter_evdev_unittest.cc",
382       "ozone/evdev/touch_event_converter_evdev_unittest.cc",
383       "ozone/evdev/touch_noise/touch_noise_finder_unittest.cc",
384       "ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc",
385     ]
386     deps += [
387       "//ui/events/ozone:events_ozone",
388       "//ui/events/ozone:events_ozone_evdev",
389       "//ui/events/ozone:events_ozone_layout",
390     ]
391   }
393   if (use_aura) {
394     sources += [
395       "gestures/gesture_provider_aura_unittest.cc",
396       "gestures/motion_event_aura_unittest.cc",
397     ]
398   }