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 '../url/url.gyp:url_lib',
23 'base/strings/ui_strings.gyp:ui_strings',
24 'events/events.gyp:events_base',
26 'gfx/gfx.gyp:gfx_geometry',
27 'resources/ui_resources.gyp:ui_resources',
30 'UI_BASE_IMPLEMENTATION',
32 'export_dependent_settings': [
37 'base/accelerators/accelerator.cc',
38 'base/accelerators/accelerator.h',
39 'base/accelerators/accelerator_manager.cc',
40 'base/accelerators/accelerator_manager.h',
41 'base/accelerators/menu_label_accelerator_util_linux.cc',
42 'base/accelerators/menu_label_accelerator_util_linux.h',
43 'base/accelerators/platform_accelerator.h',
44 'base/accelerators/platform_accelerator_cocoa.h',
45 'base/accelerators/platform_accelerator_cocoa.mm',
46 'base/accelerators/platform_accelerator_gtk.cc',
47 'base/accelerators/platform_accelerator_gtk.h',
48 'base/android/ui_base_jni_registrar.cc',
49 'base/android/ui_base_jni_registrar.h',
50 'base/android/view_android.cc',
51 'base/android/view_android.h',
52 'base/android/window_android.cc',
53 'base/android/window_android.h',
54 'base/android/window_android_observer.h',
55 'base/base_window.cc',
57 'base/clipboard/clipboard.cc',
58 'base/clipboard/clipboard.h',
59 'base/clipboard/clipboard_android.cc',
60 'base/clipboard/clipboard_android_initialization.h',
61 'base/clipboard/clipboard_aura.cc',
62 'base/clipboard/clipboard_aurax11.cc',
63 'base/clipboard/clipboard_constants.cc',
64 'base/clipboard/clipboard_gtk.cc',
65 'base/clipboard/clipboard_mac.mm',
66 'base/clipboard/clipboard_types.h',
67 'base/clipboard/clipboard_util_win.cc',
68 'base/clipboard/clipboard_util_win.h',
69 'base/clipboard/clipboard_win.cc',
70 'base/clipboard/custom_data_helper.cc',
71 'base/clipboard/custom_data_helper.h',
72 'base/clipboard/custom_data_helper_linux.cc',
73 'base/clipboard/custom_data_helper_mac.mm',
74 'base/clipboard/scoped_clipboard_writer.cc',
75 'base/clipboard/scoped_clipboard_writer.h',
76 'base/cocoa/animation_utils.h',
77 'base/cocoa/appkit_utils.h',
78 'base/cocoa/appkit_utils.mm',
79 'base/cocoa/base_view.h',
80 'base/cocoa/base_view.mm',
81 'base/cocoa/cocoa_base_utils.h',
82 'base/cocoa/cocoa_base_utils.mm',
83 'base/cocoa/controls/blue_label_button.h',
84 'base/cocoa/controls/blue_label_button.mm',
85 'base/cocoa/controls/hover_image_menu_button.h',
86 'base/cocoa/controls/hover_image_menu_button.mm',
87 'base/cocoa/controls/hover_image_menu_button_cell.h',
88 'base/cocoa/controls/hover_image_menu_button_cell.mm',
89 'base/cocoa/controls/hyperlink_button_cell.h',
90 'base/cocoa/controls/hyperlink_button_cell.mm',
91 'base/cocoa/find_pasteboard.h',
92 'base/cocoa/find_pasteboard.mm',
93 'base/cocoa/flipped_view.h',
94 'base/cocoa/flipped_view.mm',
95 'base/cocoa/focus_tracker.h',
96 'base/cocoa/focus_tracker.mm',
97 'base/cocoa/focus_window_set.h',
98 'base/cocoa/focus_window_set.mm',
99 'base/cocoa/fullscreen_window_manager.h',
100 'base/cocoa/fullscreen_window_manager.mm',
101 'base/cocoa/hover_button.h',
102 'base/cocoa/hover_button.mm',
103 'base/cocoa/hover_image_button.h',
104 'base/cocoa/hover_image_button.mm',
105 'base/cocoa/menu_controller.h',
106 'base/cocoa/menu_controller.mm',
107 'base/cocoa/nib_loading.h',
108 'base/cocoa/nib_loading.mm',
109 'base/cocoa/nsgraphics_context_additions.h',
110 'base/cocoa/nsgraphics_context_additions.mm',
111 'base/cocoa/tracking_area.h',
112 'base/cocoa/tracking_area.mm',
113 'base/cocoa/underlay_opengl_hosting_window.h',
114 'base/cocoa/underlay_opengl_hosting_window.mm',
115 'base/cocoa/view_description.h',
116 'base/cocoa/view_description.mm',
117 'base/cocoa/window_size_constants.h',
118 'base/cocoa/window_size_constants.mm',
119 'base/cursor/cursor.cc',
120 'base/cursor/cursor.h',
121 'base/cursor/cursor_android.cc',
122 'base/cursor/cursor_loader.h',
123 'base/cursor/cursor_loader_ozone.cc',
124 'base/cursor/cursor_loader_ozone.h',
125 'base/cursor/cursor_loader_win.cc',
126 'base/cursor/cursor_loader_win.h',
127 'base/cursor/cursor_loader_x11.cc',
128 'base/cursor/cursor_loader_x11.h',
129 'base/cursor/cursor_ozone.cc',
130 'base/cursor/cursor_mac.mm',
131 'base/cursor/cursor_win.cc',
132 'base/cursor/cursor_x11.cc',
133 'base/cursor/cursors_aura.cc',
134 'base/cursor/cursors_aura.h',
135 'base/cursor/ozone/cursor_factory_ozone.cc',
136 'base/cursor/ozone/cursor_factory_ozone.h',
137 'base/default_theme_provider.cc',
138 'base/default_theme_provider.h',
139 'base/default_theme_provider_mac.mm',
140 'base/device_form_factor_android.cc',
141 'base/device_form_factor_desktop.cc',
142 'base/device_form_factor_ios.mm',
143 'base/device_form_factor.h',
144 'base/dragdrop/cocoa_dnd_util.h',
145 'base/dragdrop/cocoa_dnd_util.mm',
146 'base/dragdrop/drag_drop_types.h',
147 'base/dragdrop/drag_drop_types_win.cc',
148 'base/dragdrop/drag_source_win.cc',
149 'base/dragdrop/drag_source_win.h',
150 'base/dragdrop/drag_utils.cc',
151 'base/dragdrop/drag_utils.h',
152 'base/dragdrop/drag_utils_aura.cc',
153 'base/dragdrop/drag_utils_win.cc',
154 'base/dragdrop/drop_target_event.cc',
155 'base/dragdrop/drop_target_event.h',
156 'base/dragdrop/drop_target_win.cc',
157 'base/dragdrop/drop_target_win.h',
158 'base/dragdrop/gtk_dnd_util.cc',
159 'base/dragdrop/gtk_dnd_util.h',
160 'base/dragdrop/os_exchange_data.cc',
161 'base/dragdrop/os_exchange_data.h',
162 'base/dragdrop/os_exchange_data_provider_aura.cc',
163 'base/dragdrop/os_exchange_data_provider_aura.h',
164 'base/dragdrop/os_exchange_data_provider_aurax11.cc',
165 'base/dragdrop/os_exchange_data_provider_aurax11.h',
166 'base/dragdrop/os_exchange_data_provider_win.cc',
167 'base/dragdrop/os_exchange_data_provider_win.h',
168 'base/gtk/event_synthesis_gtk.cc',
169 'base/gtk/event_synthesis_gtk.h',
170 'base/gtk/focus_store_gtk.cc',
171 'base/gtk/focus_store_gtk.h',
172 'base/gtk/g_object_destructor_filo.cc',
173 'base/gtk/g_object_destructor_filo.h',
174 'base/gtk/gtk_expanded_container.cc',
175 'base/gtk/gtk_expanded_container.h',
176 'base/gtk/gtk_floating_container.cc',
177 'base/gtk/gtk_floating_container.h',
178 'base/gtk/gtk_hig_constants.h',
179 'base/gtk/gtk_screen_util.cc',
180 'base/gtk/gtk_screen_util.h',
181 'base/gtk/gtk_signal.h',
182 'base/gtk/gtk_signal_registrar.cc',
183 'base/gtk/gtk_signal_registrar.h',
184 'base/gtk/gtk_windowing.cc',
185 'base/gtk/gtk_windowing.h',
186 'base/gtk/owned_widget_gtk.cc',
187 'base/gtk/owned_widget_gtk.h',
188 'base/gtk/scoped_region.cc',
189 'base/gtk/scoped_region.h',
191 'base/l10n/formatter.cc',
192 'base/l10n/formatter.h',
193 'base/l10n/l10n_font_util.cc',
194 'base/l10n/l10n_font_util.h',
195 'base/l10n/l10n_util.cc',
196 'base/l10n/l10n_util.h',
197 'base/l10n/l10n_util_android.cc',
198 'base/l10n/l10n_util_android.h',
199 'base/l10n/l10n_util_collator.h',
200 'base/l10n/l10n_util_mac.h',
201 'base/l10n/l10n_util_mac.mm',
202 'base/l10n/l10n_util_plurals.cc',
203 'base/l10n/l10n_util_plurals.h',
204 'base/l10n/l10n_util_posix.cc',
205 'base/l10n/l10n_util_win.cc',
206 'base/l10n/l10n_util_win.h',
207 'base/l10n/time_format.cc',
208 'base/l10n/time_format.h',
211 'base/layout_mac.mm',
212 'base/models/button_menu_item_model.cc',
213 'base/models/button_menu_item_model.h',
214 'base/models/combobox_model.cc',
215 'base/models/combobox_model.h',
216 'base/models/combobox_model_observer.h',
217 'base/models/dialog_model.cc',
218 'base/models/dialog_model.h',
219 'base/models/list_model.h',
220 'base/models/list_model_observer.h',
221 'base/models/list_selection_model.cc',
222 'base/models/list_selection_model.h',
223 'base/models/menu_model.cc',
224 'base/models/menu_model.h',
225 'base/models/menu_model_delegate.h',
226 'base/models/menu_separator_types.h',
227 'base/models/simple_menu_model.cc',
228 'base/models/simple_menu_model.h',
229 'base/models/table_model.cc',
230 'base/models/table_model.h',
231 'base/models/table_model_observer.h',
232 'base/models/tree_model.cc',
233 'base/models/tree_model.h',
234 'base/models/tree_node_iterator.h',
235 'base/models/tree_node_model.h',
236 'base/nine_image_painter_factory.cc',
237 'base/nine_image_painter_factory.h',
238 'base/resource/data_pack.cc',
239 'base/resource/data_pack.h',
240 'base/resource/resource_bundle.cc',
241 'base/resource/resource_bundle.h',
242 'base/resource/resource_bundle_android.cc',
243 'base/resource/resource_bundle_auralinux.cc',
244 'base/resource/resource_bundle_gtk.cc',
245 'base/resource/resource_bundle_ios.mm',
246 'base/resource/resource_bundle_mac.mm',
247 'base/resource/resource_bundle_win.cc',
248 'base/resource/resource_bundle_win.h',
249 'base/resource/resource_data_dll_win.cc',
250 'base/resource/resource_data_dll_win.h',
251 'base/resource/resource_handle.h',
252 'base/text/bytes_formatting.cc',
253 'base/text/bytes_formatting.h',
254 'base/theme_provider.cc',
255 'base/theme_provider.h',
256 'base/touch/touch_device.cc',
257 'base/touch/touch_device.h',
258 'base/touch/touch_device_android.cc',
259 'base/touch/touch_device_aurax11.cc',
260 'base/touch/touch_device_ozone.cc',
261 'base/touch/touch_device_win.cc',
262 'base/touch/touch_editing_controller.cc',
263 'base/touch/touch_editing_controller.h',
264 'base/touch/touch_enabled.cc',
265 'base/touch/touch_enabled.h',
266 'base/ui_base_exports.cc',
267 'base/ui_base_paths.cc',
268 'base/ui_base_paths.h',
269 'base/ui_base_switches.cc',
270 'base/ui_base_switches.h',
271 'base/ui_base_switches_util.cc',
272 'base/ui_base_switches_util.h',
273 'base/ui_base_types.cc',
274 'base/ui_base_types.h',
275 'base/ui_base_export.h',
278 'base/webui/jstemplate_builder.cc',
279 'base/webui/jstemplate_builder.h',
280 'base/webui/web_ui_util.cc',
281 'base/webui/web_ui_util.h',
282 'base/win/accessibility_ids_win.h',
283 'base/win/accessibility_misc_utils.cc',
284 'base/win/accessibility_misc_utils.h',
285 'base/win/atl_module.h',
286 'base/win/dpi_setup.cc',
287 'base/win/dpi_setup.h',
288 'base/win/foreground_helper.cc',
289 'base/win/foreground_helper.h',
290 'base/win/hidden_window.cc',
291 'base/win/hidden_window.h',
292 'base/win/hwnd_subclass.cc',
293 'base/win/hwnd_subclass.h',
294 'base/win/lock_state.cc',
295 'base/win/lock_state.h',
296 'base/win/message_box_win.cc',
297 'base/win/message_box_win.h',
298 'base/win/mouse_wheel_util.cc',
299 'base/win/mouse_wheel_util.h',
300 'base/win/scoped_ole_initializer.cc',
301 'base/win/scoped_ole_initializer.h',
304 'base/win/touch_input.cc',
305 'base/win/touch_input.h',
306 'base/win/window_event_target.cc',
307 'base/win/window_event_target.h',
308 'base/window_open_disposition.cc',
309 'base/window_open_disposition.h',
310 'base/work_area_watcher_observer.h',
311 'base/x/active_window_watcher_x.cc',
312 'base/x/active_window_watcher_x.h',
313 'base/x/active_window_watcher_x_observer.h',
314 'base/x/root_window_property_watcher_x.cc',
315 'base/x/root_window_property_watcher_x.h',
316 'base/x/selection_owner.cc',
317 'base/x/selection_owner.h',
318 'base/x/selection_requestor.cc',
319 'base/x/selection_requestor.h',
320 'base/x/selection_utils.cc',
321 'base/x/selection_utils.h',
322 'base/x/work_area_watcher_x.cc',
323 'base/x/work_area_watcher_x.h',
324 'base/x/x11_util.cc',
326 'base/x/x11_util_internal.h',
328 'target_conditions': [
331 ['include', '^base/l10n/l10n_util_mac\\.mm$'],
341 # iOS only uses a subset of UI.
343 ['exclude', '\\.(cc|mm)$'],
344 ['include', '_ios\\.(cc|mm)$'],
345 ['include', '(^|/)ios/'],
346 ['include', '^base/l10n/'],
347 ['include', '^base/layout'],
348 ['include', '^base/resource/'],
349 ['include', '^base/ui_base_'],
353 '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
357 ['toolkit_views==1', {
359 'events/events.gyp:events',
364 ['exclude', 'base/clipboard/clipboard_mac.mm'],
365 ['exclude', 'base/layout_mac.mm'],
366 ['exclude', 'base/work_area_watcher_observer.h'],
367 ['exclude', 'base/x/active_window_watcher_x.cc'],
368 ['exclude', 'base/x/active_window_watcher_x.h'],
369 ['exclude', 'base/x/active_window_watcher_x_observer.h'],
370 ['exclude', 'base/x/root_window_property_watcher_x.cc'],
371 ['exclude', 'base/x/root_window_property_watcher_x.h'],
372 ['exclude', 'base/x/work_area_watcher_x.cc'],
373 ['exclude', 'base/x/work_area_watcher_x.h'],
376 'events/events.gyp:events',
380 'base/cursor/cursor.cc',
381 'base/cursor/cursor.h',
382 'base/cursor/cursor_loader_x11.cc',
383 'base/cursor/cursor_loader_x11.h',
384 'base/cursor/cursor_mac.mm',
385 'base/cursor/cursor_win.cc',
386 'base/cursor/cursor_x11.cc',
387 'base/nine_image_painter_factory.cc',
388 'base/nine_image_painter_factory.h',
389 'base/x/selection_owner.cc',
390 'base/x/selection_owner.h',
391 'base/x/selection_requestor.cc',
392 'base/x/selection_requestor.h',
393 'base/x/selection_utils.cc',
394 'base/x/selection_utils.h',
397 ['use_aura==0 or OS!="linux"', {
399 'base/resource/resource_bundle_auralinux.cc',
402 ['use_aura==1 and OS=="win"', {
404 ['exclude', 'base/dragdrop/drag_utils_aura.cc'],
409 # font_gtk.cc uses fontconfig.
410 '../build/linux/system.gyp:fontconfig',
411 '../build/linux/system.gyp:glib',
414 ['desktop_linux == 1 or chromeos == 1', {
416 ['toolkit_views==0 and use_aura==0', {
417 # Note: because of gyp predence rules this has to be defined as
418 # 'sources/' rather than 'sources!'.
420 ['exclude', '^base/dragdrop/drag_utils.cc'],
421 ['exclude', '^base/dragdrop/drag_utils.h'],
422 ['exclude', '^base/dragdrop/os_exchange_data.cc'],
423 ['exclude', '^base/dragdrop/os_exchange_data.h'],
426 # Note: because of gyp predence rules this has to be defined as
427 # 'sources/' rather than 'sources!'.
429 ['include', '^base/dragdrop/os_exchange_data.cc'],
436 '../build/linux/system.gyp:pangocairo',
439 ['OS=="win" or use_clipboard_aurax11==1', {
441 'base/clipboard/clipboard_aura.cc',
445 'base/clipboard/clipboard_aurax11.cc',
448 ['chromeos==1 or (use_aura==1 and OS=="linux" and use_x11==0)', {
450 'base/dragdrop/os_exchange_data_provider_aurax11.cc',
451 'base/touch/touch_device.cc',
455 'base/dragdrop/os_exchange_data_provider_aura.cc',
456 'base/dragdrop/os_exchange_data_provider_aura.h',
457 'base/touch/touch_device_aurax11.cc',
462 'base/touch/touch_device.cc',
466 '../third_party/wtl/include',
468 # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int
469 # C4324 is structure was padded due to __declspec(align()), which is
471 'msvs_disabled_warnings': [ 4267, 4324 ],
479 'AdditionalDependencies': [
504 'base/dragdrop/drag_drop_types.h',
505 'base/dragdrop/os_exchange_data.cc',
510 '../third_party/mozilla/mozilla.gyp:mozilla',
513 'base/dragdrop/drag_utils.cc',
514 'base/dragdrop/drag_utils.h',
518 '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
519 '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
520 '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
525 'all_dependent_settings': {
531 '../build/linux/system.gyp:x11',
532 '../build/linux/system.gyp:xcursor',
533 '../build/linux/system.gyp:xext',
534 '../build/linux/system.gyp:xfixes',
535 '../build/linux/system.gyp:xrender', # For XRender* function calls in x11_util.cc.
538 ['toolkit_views==0', {
540 'base/dragdrop/drop_target_event.cc',
541 'base/dragdrop/drop_target_event.h',
546 'base/default_theme_provider.cc',
547 'base/dragdrop/drag_utils.cc',
548 'base/dragdrop/drag_utils.h',
549 'base/l10n/l10n_font_util.cc',
550 'base/models/button_menu_item_model.cc',
551 'base/models/dialog_model.cc',
552 'base/theme_provider.cc',
553 'base/touch/touch_device.cc',
554 'base/touch/touch_editing_controller.cc',
555 'base/ui_base_types.cc',
558 'ui_base_jni_headers',
566 ['OS=="android" and android_webview_build==0', {
568 'android/ui_android.gyp:ui_java',
571 ['OS=="android" and use_aura==0', {
573 'base/cursor/cursor_android.cc'
576 ['OS=="android" and use_aura==1', {
578 'base/clipboard/clipboard_aura.cc'
581 ['OS=="android" or OS=="ios"', {
583 'base/device_form_factor_desktop.cc'
591 ['use_system_icu==1', {
592 # When using the system icu, the icu targets generate shim headers
593 # which are included by public headers in the ui target, so we need
594 # ui to be a hard dependency for all its users.
595 'hard_dependency': 1,
600 'target_name': 'webui_test_support',
602 'direct_dependent_settings': {
604 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources',
613 'target_name': 'ui_base_jni_headers',
616 'android/java/src/org/chromium/ui/base/Clipboard.java',
617 'android/java/src/org/chromium/ui/base/LocalizationUtils.java',
618 'android/java/src/org/chromium/ui/base/SelectFileDialog.java',
619 'android/java/src/org/chromium/ui/base/TouchDevice.java',
620 'android/java/src/org/chromium/ui/base/ViewAndroid.java',
621 'android/java/src/org/chromium/ui/base/WindowAndroid.java',
624 'jni_gen_package': 'ui',
625 'jni_generator_ptr_type': 'long',
627 'includes': [ '../build/jni_generator.gypi' ],