1 # Copyright (c) 2012 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.
12 'type': '<(component)',
14 '../base/base.gyp:base',
15 '../base/base.gyp:base_i18n',
16 '../base/base.gyp:base_static',
17 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
19 '../skia/skia.gyp:skia',
20 '../third_party/icu/icu.gyp:icui18n',
21 '../third_party/icu/icu.gyp:icuuc',
22 '../third_party/libpng/libpng.gyp:libpng',
23 '../third_party/zlib/zlib.gyp:zlib',
24 '../url/url.gyp:url_lib',
25 'base/strings/ui_strings.gyp:ui_strings',
26 'events/events.gyp:events_base',
28 'gfx/gfx.gyp:gfx_geometry',
29 'resources/ui_resources.gyp:ui_resources',
32 'UI_BASE_IMPLEMENTATION',
34 'export_dependent_settings': [
39 'base/accelerators/accelerator.cc',
40 'base/accelerators/accelerator.h',
41 'base/accelerators/accelerator_manager.cc',
42 'base/accelerators/accelerator_manager.h',
43 'base/accelerators/menu_label_accelerator_util_linux.cc',
44 'base/accelerators/menu_label_accelerator_util_linux.h',
45 'base/accelerators/platform_accelerator.h',
46 'base/accelerators/platform_accelerator_cocoa.h',
47 'base/accelerators/platform_accelerator_cocoa.mm',
48 'base/accelerators/platform_accelerator_gtk.cc',
49 'base/accelerators/platform_accelerator_gtk.h',
50 'base/accessibility/accessibility_types.h',
51 'base/accessibility/accessible_text_utils.cc',
52 'base/accessibility/accessible_text_utils.h',
53 'base/accessibility/accessible_view_state.cc',
54 'base/accessibility/accessible_view_state.h',
55 'base/android/ui_base_jni_registrar.cc',
56 'base/android/ui_base_jni_registrar.h',
57 'base/android/view_android.cc',
58 'base/android/view_android.h',
59 'base/android/window_android.cc',
60 'base/android/window_android.h',
61 'base/android/window_android_observer.h',
62 'base/base_window.cc',
64 'base/clipboard/clipboard.cc',
65 'base/clipboard/clipboard.h',
66 'base/clipboard/clipboard_android.cc',
67 'base/clipboard/clipboard_android_initialization.h',
68 'base/clipboard/clipboard_aura.cc',
69 'base/clipboard/clipboard_aurax11.cc',
70 'base/clipboard/clipboard_constants.cc',
71 'base/clipboard/clipboard_gtk.cc',
72 'base/clipboard/clipboard_mac.mm',
73 'base/clipboard/clipboard_types.h',
74 'base/clipboard/clipboard_util_win.cc',
75 'base/clipboard/clipboard_util_win.h',
76 'base/clipboard/clipboard_win.cc',
77 'base/clipboard/custom_data_helper.cc',
78 'base/clipboard/custom_data_helper.h',
79 'base/clipboard/custom_data_helper_linux.cc',
80 'base/clipboard/custom_data_helper_mac.mm',
81 'base/clipboard/scoped_clipboard_writer.cc',
82 'base/clipboard/scoped_clipboard_writer.h',
83 'base/cocoa/animation_utils.h',
84 'base/cocoa/appkit_utils.h',
85 'base/cocoa/appkit_utils.mm',
86 'base/cocoa/base_view.h',
87 'base/cocoa/base_view.mm',
88 'base/cocoa/cocoa_event_utils.h',
89 'base/cocoa/cocoa_event_utils.mm',
90 'base/cocoa/controls/blue_label_button.h',
91 'base/cocoa/controls/blue_label_button.mm',
92 'base/cocoa/controls/hover_image_menu_button.h',
93 'base/cocoa/controls/hover_image_menu_button.mm',
94 'base/cocoa/controls/hover_image_menu_button_cell.h',
95 'base/cocoa/controls/hover_image_menu_button_cell.mm',
96 'base/cocoa/controls/hyperlink_button_cell.h',
97 'base/cocoa/controls/hyperlink_button_cell.mm',
98 'base/cocoa/find_pasteboard.h',
99 'base/cocoa/find_pasteboard.mm',
100 'base/cocoa/flipped_view.h',
101 'base/cocoa/flipped_view.mm',
102 'base/cocoa/focus_tracker.h',
103 'base/cocoa/focus_tracker.mm',
104 'base/cocoa/focus_window_set.h',
105 'base/cocoa/focus_window_set.mm',
106 'base/cocoa/fullscreen_window_manager.h',
107 'base/cocoa/fullscreen_window_manager.mm',
108 'base/cocoa/hover_button.h',
109 'base/cocoa/hover_button.mm',
110 'base/cocoa/hover_image_button.h',
111 'base/cocoa/hover_image_button.mm',
112 'base/cocoa/menu_controller.h',
113 'base/cocoa/menu_controller.mm',
114 'base/cocoa/nib_loading.h',
115 'base/cocoa/nib_loading.mm',
116 'base/cocoa/nsgraphics_context_additions.h',
117 'base/cocoa/nsgraphics_context_additions.mm',
118 'base/cocoa/tracking_area.h',
119 'base/cocoa/tracking_area.mm',
120 'base/cocoa/underlay_opengl_hosting_window.h',
121 'base/cocoa/underlay_opengl_hosting_window.mm',
122 'base/cocoa/view_description.h',
123 'base/cocoa/view_description.mm',
124 'base/cocoa/window_size_constants.h',
125 'base/cocoa/window_size_constants.mm',
126 'base/cursor/cursor.cc',
127 'base/cursor/cursor.h',
128 'base/cursor/cursor_android.cc',
129 'base/cursor/cursor_loader.h',
130 'base/cursor/cursor_loader_null.cc',
131 'base/cursor/cursor_loader_null.h',
132 'base/cursor/cursor_loader_win.cc',
133 'base/cursor/cursor_loader_win.h',
134 'base/cursor/cursor_loader_x11.cc',
135 'base/cursor/cursor_loader_x11.h',
136 'base/cursor/cursor_null.cc',
137 'base/cursor/cursor_mac.mm',
138 'base/cursor/cursor_win.cc',
139 'base/cursor/cursor_x11.cc',
140 'base/cursor/cursors_aura.cc',
141 'base/cursor/cursors_aura.h',
142 'base/default_theme_provider.cc',
143 'base/default_theme_provider.h',
144 'base/default_theme_provider_mac.mm',
145 'base/device_form_factor_android.cc',
146 'base/device_form_factor_desktop.cc',
147 'base/device_form_factor_ios.mm',
148 'base/device_form_factor.h',
149 'base/dragdrop/cocoa_dnd_util.h',
150 'base/dragdrop/cocoa_dnd_util.mm',
151 'base/dragdrop/drag_drop_types.h',
152 'base/dragdrop/drag_drop_types_win.cc',
153 'base/dragdrop/drag_source_win.cc',
154 'base/dragdrop/drag_source_win.h',
155 'base/dragdrop/drag_utils.cc',
156 'base/dragdrop/drag_utils.h',
157 'base/dragdrop/drag_utils_aura.cc',
158 'base/dragdrop/drag_utils_win.cc',
159 'base/dragdrop/drop_target_event.cc',
160 'base/dragdrop/drop_target_event.h',
161 'base/dragdrop/drop_target_win.cc',
162 'base/dragdrop/drop_target_win.h',
163 'base/dragdrop/gtk_dnd_util.cc',
164 'base/dragdrop/gtk_dnd_util.h',
165 'base/dragdrop/os_exchange_data.cc',
166 'base/dragdrop/os_exchange_data.h',
167 'base/dragdrop/os_exchange_data_provider_aura.cc',
168 'base/dragdrop/os_exchange_data_provider_aura.h',
169 'base/dragdrop/os_exchange_data_provider_aurax11.cc',
170 'base/dragdrop/os_exchange_data_provider_aurax11.h',
171 'base/dragdrop/os_exchange_data_provider_win.cc',
172 'base/dragdrop/os_exchange_data_provider_win.h',
173 'base/gtk/event_synthesis_gtk.cc',
174 'base/gtk/event_synthesis_gtk.h',
175 'base/gtk/focus_store_gtk.cc',
176 'base/gtk/focus_store_gtk.h',
177 'base/gtk/g_object_destructor_filo.cc',
178 'base/gtk/g_object_destructor_filo.h',
179 'base/gtk/gtk_expanded_container.cc',
180 'base/gtk/gtk_expanded_container.h',
181 'base/gtk/gtk_floating_container.cc',
182 'base/gtk/gtk_floating_container.h',
183 'base/gtk/gtk_hig_constants.h',
184 'base/gtk/gtk_screen_util.cc',
185 'base/gtk/gtk_screen_util.h',
186 'base/gtk/gtk_signal.h',
187 'base/gtk/gtk_signal_registrar.cc',
188 'base/gtk/gtk_signal_registrar.h',
189 'base/gtk/gtk_windowing.cc',
190 'base/gtk/gtk_windowing.h',
191 'base/gtk/owned_widget_gtk.cc',
192 'base/gtk/owned_widget_gtk.h',
193 'base/gtk/scoped_region.cc',
194 'base/gtk/scoped_region.h',
196 'base/l10n/l10n_font_util.cc',
197 'base/l10n/l10n_font_util.h',
198 'base/l10n/l10n_util.cc',
199 'base/l10n/l10n_util.h',
200 'base/l10n/l10n_util_android.cc',
201 'base/l10n/l10n_util_android.h',
202 'base/l10n/l10n_util_collator.h',
203 'base/l10n/l10n_util_mac.h',
204 'base/l10n/l10n_util_mac.mm',
205 'base/l10n/l10n_util_plurals.cc',
206 'base/l10n/l10n_util_plurals.h',
207 'base/l10n/l10n_util_posix.cc',
208 'base/l10n/l10n_util_win.cc',
209 'base/l10n/l10n_util_win.h',
210 'base/l10n/time_format.cc',
211 'base/l10n/time_format.h',
214 'base/layout_mac.mm',
215 'base/models/button_menu_item_model.cc',
216 'base/models/button_menu_item_model.h',
217 'base/models/combobox_model.cc',
218 'base/models/combobox_model.h',
219 'base/models/combobox_model_observer.h',
220 'base/models/dialog_model.cc',
221 'base/models/dialog_model.h',
222 'base/models/list_model.h',
223 'base/models/list_model_observer.h',
224 'base/models/list_selection_model.cc',
225 'base/models/list_selection_model.h',
226 'base/models/menu_model.cc',
227 'base/models/menu_model.h',
228 'base/models/menu_model_delegate.h',
229 'base/models/menu_separator_types.h',
230 'base/models/simple_menu_model.cc',
231 'base/models/simple_menu_model.h',
232 'base/models/table_model.cc',
233 'base/models/table_model.h',
234 'base/models/table_model_observer.h',
235 'base/models/tree_model.cc',
236 'base/models/tree_model.h',
237 'base/models/tree_node_iterator.h',
238 'base/models/tree_node_model.h',
239 'base/nine_image_painter_factory.cc',
240 'base/nine_image_painter_factory.h',
241 'base/resource/data_pack.cc',
242 'base/resource/data_pack.h',
243 'base/resource/resource_bundle.cc',
244 'base/resource/resource_bundle.h',
245 'base/resource/resource_bundle_android.cc',
246 'base/resource/resource_bundle_auralinux.cc',
247 'base/resource/resource_bundle_gtk.cc',
248 'base/resource/resource_bundle_ios.mm',
249 'base/resource/resource_bundle_mac.mm',
250 'base/resource/resource_bundle_win.cc',
251 'base/resource/resource_bundle_win.h',
252 'base/resource/resource_data_dll_win.cc',
253 'base/resource/resource_data_dll_win.h',
254 'base/resource/resource_handle.h',
255 'base/text/bytes_formatting.cc',
256 'base/text/bytes_formatting.h',
257 'base/theme_provider.cc',
258 'base/theme_provider.h',
259 'base/touch/touch_device.cc',
260 'base/touch/touch_device.h',
261 'base/touch/touch_device_android.cc',
262 'base/touch/touch_device_aurax11.cc',
263 'base/touch/touch_device_ozone.cc',
264 'base/touch/touch_device_win.cc',
265 'base/touch/touch_editing_controller.cc',
266 'base/touch/touch_editing_controller.h',
267 'base/touch/touch_enabled.cc',
268 'base/touch/touch_enabled.h',
269 'base/ui_base_exports.cc',
270 'base/ui_base_paths.cc',
271 'base/ui_base_paths.h',
272 'base/ui_base_switches.cc',
273 'base/ui_base_switches.h',
274 'base/ui_base_switches_util.cc',
275 'base/ui_base_switches_util.h',
276 'base/ui_base_types.cc',
277 'base/ui_base_types.h',
278 'base/ui_base_export.h',
281 'base/webui/jstemplate_builder.cc',
282 'base/webui/jstemplate_builder.h',
283 'base/webui/web_ui_util.cc',
284 'base/webui/web_ui_util.h',
285 'base/win/accessibility_ids_win.h',
286 'base/win/accessibility_misc_utils.cc',
287 'base/win/accessibility_misc_utils.h',
288 'base/win/atl_module.h',
289 'base/win/dpi_setup.cc',
290 'base/win/dpi_setup.h',
291 'base/win/foreground_helper.cc',
292 'base/win/foreground_helper.h',
293 'base/win/hidden_window.cc',
294 'base/win/hidden_window.h',
295 'base/win/hwnd_subclass.cc',
296 'base/win/hwnd_subclass.h',
297 'base/win/lock_state.cc',
298 'base/win/lock_state.h',
299 'base/win/message_box_win.cc',
300 'base/win/message_box_win.h',
301 'base/win/mouse_wheel_util.cc',
302 'base/win/mouse_wheel_util.h',
303 'base/win/scoped_ole_initializer.cc',
304 'base/win/scoped_ole_initializer.h',
307 'base/win/touch_input.cc',
308 'base/win/touch_input.h',
309 'base/window_open_disposition.cc',
310 'base/window_open_disposition.h',
311 'base/work_area_watcher_observer.h',
312 'base/x/active_window_watcher_x.cc',
313 'base/x/active_window_watcher_x.h',
314 'base/x/active_window_watcher_x_observer.h',
315 'base/x/root_window_property_watcher_x.cc',
316 'base/x/root_window_property_watcher_x.h',
317 'base/x/selection_owner.cc',
318 'base/x/selection_owner.h',
319 'base/x/selection_requestor.cc',
320 'base/x/selection_requestor.h',
321 'base/x/selection_utils.cc',
322 'base/x/selection_utils.h',
323 'base/x/work_area_watcher_x.cc',
324 'base/x/work_area_watcher_x.h',
325 'base/x/x11_util.cc',
327 'base/x/x11_util_internal.h',
329 'target_conditions': [
332 ['include', '^base/l10n/l10n_util_mac\\.mm$'],
342 # iOS only uses a subset of UI.
344 ['exclude', '\\.(cc|mm)$'],
345 ['include', '_ios\\.(cc|mm)$'],
346 ['include', '(^|/)ios/'],
347 ['include', '^base/l10n/'],
348 ['include', '^base/layout'],
349 ['include', '^base/resource/'],
350 ['include', '^base/ui_base_'],
354 '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
358 ['toolkit_views==1', {
360 'events/events.gyp:events',
365 ['exclude', 'base/clipboard/clipboard_mac.mm'],
366 ['exclude', 'base/layout_mac.mm'],
367 ['exclude', 'base/work_area_watcher_observer.h'],
368 ['exclude', 'base/x/active_window_watcher_x.cc'],
369 ['exclude', 'base/x/active_window_watcher_x.h'],
370 ['exclude', 'base/x/active_window_watcher_x_observer.h'],
371 ['exclude', 'base/x/root_window_property_watcher_x.cc'],
372 ['exclude', 'base/x/root_window_property_watcher_x.h'],
373 ['exclude', 'base/x/work_area_watcher_x.cc'],
374 ['exclude', 'base/x/work_area_watcher_x.h'],
377 'events/events.gyp:events',
381 'base/cursor/cursor.cc',
382 'base/cursor/cursor.h',
383 'base/cursor/cursor_loader_x11.cc',
384 'base/cursor/cursor_loader_x11.h',
385 'base/cursor/cursor_mac.mm',
386 'base/cursor/cursor_win.cc',
387 'base/cursor/cursor_x11.cc',
388 'base/nine_image_painter_factory.cc',
389 'base/nine_image_painter_factory.h',
390 'base/x/selection_owner.cc',
391 'base/x/selection_owner.h',
392 'base/x/selection_requestor.cc',
393 'base/x/selection_requestor.h',
394 'base/x/selection_utils.cc',
395 'base/x/selection_utils.h',
398 ['use_aura==0 or OS!="linux"', {
400 'base/resource/resource_bundle_auralinux.cc',
403 ['use_aura==1 and OS=="win"', {
405 ['exclude', 'base/dragdrop/drag_utils_aura.cc'],
410 # font_gtk.cc uses fontconfig.
411 '../build/linux/system.gyp:fontconfig',
412 '../build/linux/system.gyp:glib',
415 ['desktop_linux == 1 or chromeos == 1', {
417 ['toolkit_views==0 and use_aura==0', {
418 # Note: because of gyp predence rules this has to be defined as
419 # 'sources/' rather than 'sources!'.
421 ['exclude', '^base/dragdrop/drag_utils.cc'],
422 ['exclude', '^base/dragdrop/drag_utils.h'],
423 ['exclude', '^base/dragdrop/os_exchange_data.cc'],
424 ['exclude', '^base/dragdrop/os_exchange_data.h'],
427 # Note: because of gyp predence rules this has to be defined as
428 # 'sources/' rather than 'sources!'.
430 ['include', '^base/dragdrop/os_exchange_data.cc'],
437 '../build/linux/system.gyp:pangocairo',
440 ['OS=="win" or use_clipboard_aurax11==1', {
442 'base/clipboard/clipboard_aura.cc',
446 'base/clipboard/clipboard_aurax11.cc',
449 ['chromeos==1 or (use_aura==1 and OS=="linux" and use_x11==0)', {
451 'base/dragdrop/os_exchange_data_provider_aurax11.cc',
452 'base/touch/touch_device.cc',
456 'base/dragdrop/os_exchange_data_provider_aura.cc',
457 'base/dragdrop/os_exchange_data_provider_aura.h',
458 'base/touch/touch_device_aurax11.cc',
463 'base/touch/touch_device.cc',
467 '../third_party/wtl/include',
469 # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int
470 # C4324 is structure was padded due to __declspec(align()), which is
472 'msvs_disabled_warnings': [ 4267, 4324 ],
480 'AdditionalDependencies': [
505 'base/dragdrop/drag_drop_types.h',
506 'base/dragdrop/os_exchange_data.cc',
511 '../third_party/mozilla/mozilla.gyp:mozilla',
514 'base/dragdrop/drag_utils.cc',
515 'base/dragdrop/drag_utils.h',
519 '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
520 '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
521 '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
526 'all_dependent_settings': {
534 '-lXrender', # For XRender* function calls in x11_util.cc.
542 '-lXrender', # For XRender* function calls in x11_util.cc.
546 '../build/linux/system.gyp:x11',
547 '../build/linux/system.gyp:xext',
548 '../build/linux/system.gyp:xfixes',
553 'base/cursor/cursor_null.cc',
554 'base/cursor/cursor_loader_null.cc',
555 'base/cursor/cursor_loader_null.h',
558 ['toolkit_views==0', {
560 'base/dragdrop/drop_target_event.cc',
561 'base/dragdrop/drop_target_event.h',
566 'base/accessibility/accessible_text_utils.cc',
567 'base/accessibility/accessible_view_state.cc',
568 'base/default_theme_provider.cc',
569 'base/dragdrop/drag_utils.cc',
570 'base/dragdrop/drag_utils.h',
571 'base/l10n/l10n_font_util.cc',
572 'base/models/button_menu_item_model.cc',
573 'base/models/dialog_model.cc',
574 'base/theme_provider.cc',
575 'base/touch/touch_device.cc',
576 'base/touch/touch_editing_controller.cc',
577 'base/ui_base_types.cc',
580 'ui_base_jni_headers',
588 ['OS=="android" and android_webview_build==0', {
590 'android/ui_android.gyp:ui_java',
593 ['OS=="android" and use_aura==0', {
595 'base/cursor/cursor_android.cc'
598 ['OS=="android" and use_aura==1', {
600 'base/clipboard/clipboard_aura.cc'
603 ['OS=="android" or OS=="ios"', {
605 'base/device_form_factor_desktop.cc'
613 ['use_system_icu==1', {
614 # When using the system icu, the icu targets generate shim headers
615 # which are included by public headers in the ui target, so we need
616 # ui to be a hard dependency for all its users.
617 'hard_dependency': 1,
622 'target_name': 'webui_test_support',
624 'direct_dependent_settings': {
626 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources',
635 'target_name': 'ui_base_jni_headers',
638 'android/java/src/org/chromium/ui/base/Clipboard.java',
639 'android/java/src/org/chromium/ui/base/LocalizationUtils.java',
640 'android/java/src/org/chromium/ui/base/SelectFileDialog.java',
641 'android/java/src/org/chromium/ui/base/ViewAndroid.java',
642 'android/java/src/org/chromium/ui/base/WindowAndroid.java',
645 'jni_gen_package': 'ui',
646 'jni_generator_ptr_type': 'long',
648 'includes': [ '../build/jni_generator.gypi' ],