blob: 0143c06f091608c28d6c30525767cbd1dc641e21 [file] [log] [blame]
# 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.
import("//build/config/ui.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
}
build_ime = !is_ios
component("base") {
output_name = "ui_base"
sources = [
"accelerators/accelerator.cc",
"accelerators/accelerator.h",
"accelerators/accelerator_history.cc",
"accelerators/accelerator_history.h",
"accelerators/accelerator_manager.cc",
"accelerators/accelerator_manager.h",
"accelerators/menu_label_accelerator_util_linux.cc",
"accelerators/menu_label_accelerator_util_linux.h",
"accelerators/platform_accelerator.h",
"accelerators/platform_accelerator_cocoa.h",
"accelerators/platform_accelerator_cocoa.mm",
"android/system_ui_resource_manager.h",
"android/system_ui_resource_type.h",
"android/ui_base_jni_registrar.cc",
"android/ui_base_jni_registrar.h",
"android/view_android.cc",
"android/view_android.h",
"android/window_android.cc",
"android/window_android.h",
"android/window_android_compositor.h",
"android/window_android_observer.h",
"base_window.cc",
"base_window.h",
"clipboard/clipboard.cc",
"clipboard/clipboard.h",
"clipboard/clipboard_android.cc",
"clipboard/clipboard_android.h",
"clipboard/clipboard_constants.cc",
"clipboard/clipboard_mac.h",
"clipboard/clipboard_mac.mm",
"clipboard/clipboard_types.h",
"clipboard/clipboard_util_win.cc",
"clipboard/clipboard_util_win.h",
"clipboard/clipboard_win.cc",
"clipboard/clipboard_win.h",
"clipboard/custom_data_helper.cc",
"clipboard/custom_data_helper.h",
"clipboard/custom_data_helper_linux.cc",
"clipboard/custom_data_helper_mac.mm",
"clipboard/scoped_clipboard_writer.cc",
"clipboard/scoped_clipboard_writer.h",
"cocoa/animation_utils.h",
"cocoa/appkit_utils.h",
"cocoa/appkit_utils.mm",
"cocoa/base_view.h",
"cocoa/base_view.mm",
"cocoa/cocoa_base_utils.h",
"cocoa/cocoa_base_utils.mm",
"cocoa/controls/blue_label_button.h",
"cocoa/controls/blue_label_button.mm",
"cocoa/controls/hover_image_menu_button.h",
"cocoa/controls/hover_image_menu_button.mm",
"cocoa/controls/hover_image_menu_button_cell.h",
"cocoa/controls/hover_image_menu_button_cell.mm",
"cocoa/controls/hyperlink_button_cell.h",
"cocoa/controls/hyperlink_button_cell.mm",
"cocoa/controls/hyperlink_text_view.h",
"cocoa/controls/hyperlink_text_view.mm",
"cocoa/find_pasteboard.h",
"cocoa/find_pasteboard.mm",
"cocoa/flipped_view.h",
"cocoa/flipped_view.mm",
"cocoa/focus_tracker.h",
"cocoa/focus_tracker.mm",
"cocoa/focus_window_set.h",
"cocoa/focus_window_set.mm",
"cocoa/fullscreen_window_manager.h",
"cocoa/fullscreen_window_manager.mm",
"cocoa/hover_button.h",
"cocoa/hover_button.mm",
"cocoa/hover_image_button.h",
"cocoa/hover_image_button.mm",
"cocoa/menu_controller.h",
"cocoa/menu_controller.mm",
"cocoa/nib_loading.h",
"cocoa/nib_loading.mm",
"cocoa/nsgraphics_context_additions.h",
"cocoa/nsgraphics_context_additions.mm",
"cocoa/nsview_additions.h",
"cocoa/nsview_additions.mm",
"cocoa/remote_layer_api.h",
"cocoa/remote_layer_api.mm",
"cocoa/tracking_area.h",
"cocoa/tracking_area.mm",
"cocoa/underlay_opengl_hosting_window.h",
"cocoa/underlay_opengl_hosting_window.mm",
"cocoa/view_description.h",
"cocoa/view_description.mm",
"cocoa/window_size_constants.h",
"cocoa/window_size_constants.mm",
"cursor/cursor.cc",
"cursor/cursor.h",
"cursor/cursor_android.cc",
"cursor/cursor_loader.h",
"cursor/cursor_util.cc",
"cursor/cursor_util.h",
"cursor/cursor_win.cc",
"cursor/cursors_aura.cc",
"cursor/cursors_aura.h",
"cursor/image_cursors.cc",
"cursor/image_cursors.h",
"default_theme_provider.cc",
"default_theme_provider.h",
"default_theme_provider_mac.mm",
"device_form_factor_android.cc",
"device_form_factor_android.h",
"device_form_factor_desktop.cc",
"device_form_factor_ios.mm",
"device_form_factor.h",
"dragdrop/cocoa_dnd_util.h",
"dragdrop/cocoa_dnd_util.mm",
"dragdrop/drag_drop_types.h",
"dragdrop/drag_drop_types_win.cc",
"dragdrop/drag_source_win.cc",
"dragdrop/drag_source_win.h",
"dragdrop/drag_utils.cc",
"dragdrop/drag_utils.h",
"dragdrop/drag_utils_aura.cc",
"dragdrop/drag_utils_mac.mm",
"dragdrop/drag_utils_win.cc",
"dragdrop/drop_target_event.cc",
"dragdrop/drop_target_event.h",
"dragdrop/drop_target_win.cc",
"dragdrop/drop_target_win.h",
"dragdrop/file_info.cc",
"dragdrop/file_info.h",
"dragdrop/os_exchange_data.cc",
"dragdrop/os_exchange_data.h",
"dragdrop/os_exchange_data_provider_mac.h",
"dragdrop/os_exchange_data_provider_mac.mm",
"dragdrop/os_exchange_data_provider_win.cc",
"dragdrop/os_exchange_data_provider_win.h",
"hit_test.h",
"l10n/formatter.cc",
"l10n/formatter.h",
"l10n/l10n_font_util.cc",
"l10n/l10n_font_util.h",
"l10n/l10n_util.cc",
"l10n/l10n_util.h",
"l10n/l10n_util_android.cc",
"l10n/l10n_util_android.h",
"l10n/l10n_util_collator.h",
"l10n/l10n_util_mac.h",
"l10n/l10n_util_mac.mm",
"l10n/l10n_util_plurals.cc",
"l10n/l10n_util_plurals.h",
"l10n/l10n_util_posix.cc",
"l10n/l10n_util_win.cc",
"l10n/l10n_util_win.h",
"l10n/time_format.cc",
"l10n/time_format.h",
"layout.cc",
"layout.h",
"layout_mac.mm",
"models/button_menu_item_model.cc",
"models/button_menu_item_model.h",
"models/combobox_model.cc",
"models/combobox_model.h",
"models/combobox_model_observer.h",
"models/dialog_model.cc",
"models/dialog_model.h",
"models/list_model.h",
"models/list_model_observer.h",
"models/list_selection_model.cc",
"models/list_selection_model.h",
"models/menu_model.cc",
"models/menu_model.h",
"models/menu_model_delegate.h",
"models/menu_separator_types.h",
"models/simple_combobox_model.cc",
"models/simple_combobox_model.h",
"models/simple_menu_model.cc",
"models/simple_menu_model.h",
"models/table_model.cc",
"models/table_model.h",
"models/table_model_observer.h",
"models/tree_model.cc",
"models/tree_model.h",
"models/tree_node_iterator.h",
"models/tree_node_model.h",
"nine_image_painter_factory.cc",
"nine_image_painter_factory.h",
"page_transition_types.cc",
"page_transition_types.h",
"page_transition_types_list.h",
"resource/data_pack.cc",
"resource/data_pack.h",
"resource/resource_bundle.cc",
"resource/resource_bundle.h",
"resource/resource_bundle_android.cc",
"resource/resource_bundle_auralinux.cc",
"resource/resource_bundle_ios.mm",
"resource/resource_bundle_mac.mm",
"resource/resource_bundle_win.cc",
"resource/resource_bundle_win.h",
"resource/resource_data_dll_win.cc",
"resource/resource_data_dll_win.h",
"resource/resource_handle.h",
"text/bytes_formatting.cc",
"text/bytes_formatting.h",
"theme_provider.cc",
"theme_provider.h",
"touch/touch_device.h",
"touch/touch_editing_controller.cc",
"touch/touch_editing_controller.h",
"touch/touch_enabled.cc",
"touch/touch_enabled.h",
"ui_base_export.h",
"ui_base_exports.cc",
"ui_base_paths.cc",
"ui_base_paths.h",
"ui_base_switches.cc",
"ui_base_switches.h",
"ui_base_switches_util.cc",
"ui_base_switches_util.h",
"ui_base_types.cc",
"ui_base_types.h",
"view_prop.cc",
"view_prop.h",
"webui/jstemplate_builder.cc",
"webui/jstemplate_builder.h",
"webui/web_ui_util.cc",
"webui/web_ui_util.h",
"win/accessibility_ids_win.h",
"win/accessibility_misc_utils.cc",
"win/accessibility_misc_utils.h",
"win/atl_module.h",
"win/foreground_helper.cc",
"win/foreground_helper.h",
"win/hidden_window.cc",
"win/hidden_window.h",
"win/hwnd_subclass.cc",
"win/hwnd_subclass.h",
"win/internal_constants.cc",
"win/internal_constants.h",
"win/lock_state.cc",
"win/lock_state.h",
"win/open_file_name_win.cc",
"win/open_file_name_win.h",
"win/message_box_win.cc",
"win/message_box_win.h",
"win/mouse_wheel_util.cc",
"win/mouse_wheel_util.h",
"win/scoped_ole_initializer.cc",
"win/scoped_ole_initializer.h",
"win/shell.cc",
"win/shell.h",
"win/touch_input.cc",
"win/touch_input.h",
"win/window_event_target.cc",
"win/window_event_target.h",
"window_open_disposition.cc",
"window_open_disposition.h",
"work_area_watcher_observer.h",
]
if (is_win) {
sources += [ "touch/touch_device_win.cc" ]
} else if (is_android) {
sources += [ "touch/touch_device_android.cc" ]
} else if (use_ozone) {
sources += [ "touch/touch_device_ozone.cc" ]
} else if (use_aura && use_x11) {
sources += [ "touch/touch_device_aurax11.cc" ]
} else {
# Empty implementation for all other cases.
sources += [ "touch/touch_device.cc" ]
}
defines = [ "UI_BASE_IMPLEMENTATION" ]
public_deps = [
"//base",
"//skia",
"//ui/events/platform",
"//ui/events:events_base",
"//ui/gfx",
"//ui/gfx/geometry",
]
deps = [
"//base/third_party/dynamic_annotations",
"//base:base_static",
"//base:i18n",
"//net",
"//third_party/icu",
"//ui/resources",
"//ui/strings",
"//url",
]
if (build_ime) {
if (!is_android) {
deps += [
"//ui/events",
]
}
sources += [
"ime/candidate_window.cc",
"ime/candidate_window.h",
"ime/chromeos/character_composer.cc",
"ime/chromeos/character_composer.h",
"ime/chromeos/ime_bridge.cc",
"ime/chromeos/ime_bridge.h",
"ime/chromeos/ime_keymap.cc",
"ime/chromeos/ime_keymap.h",
"ime/chromeos/mock_ime_candidate_window_handler.cc",
"ime/chromeos/mock_ime_candidate_window_handler.h",
"ime/chromeos/mock_ime_engine_handler.cc",
"ime/chromeos/mock_ime_engine_handler.h",
"ime/chromeos/mock_ime_input_context_handler.cc",
"ime/chromeos/mock_ime_input_context_handler.h",
"ime/composition_text.cc",
"ime/composition_text.h",
"ime/composition_text_util_pango.cc",
"ime/composition_text_util_pango.h",
"ime/composition_underline.h",
"ime/dummy_input_method_delegate.cc",
"ime/dummy_input_method_delegate.h",
"ime/infolist_entry.cc",
"ime/infolist_entry.h",
"ime/input_method.h",
"ime/input_method_auralinux.cc",
"ime/input_method_auralinux.h",
"ime/input_method_base.cc",
"ime/input_method_base.h",
"ime/input_method_chromeos.cc",
"ime/input_method_chromeos.h",
"ime/input_method_delegate.h",
"ime/input_method_factory.cc",
"ime/input_method_factory.h",
"ime/input_method_initializer.cc",
"ime/input_method_initializer.h",
"ime/input_method_mac.h",
"ime/input_method_mac.mm",
"ime/input_method_minimal.cc",
"ime/input_method_minimal.h",
"ime/input_method_observer.h",
"ime/input_method_win.cc",
"ime/input_method_win.h",
"ime/linux/fake_input_method_context.cc",
"ime/linux/fake_input_method_context.h",
"ime/linux/fake_input_method_context_factory.cc",
"ime/linux/fake_input_method_context_factory.h",
"ime/linux/linux_input_method_context.h",
"ime/linux/linux_input_method_context_factory.cc",
"ime/linux/linux_input_method_context_factory.h",
"ime/mock_input_method.cc",
"ime/mock_input_method.h",
"ime/remote_input_method_delegate_win.h",
"ime/remote_input_method_win.cc",
"ime/remote_input_method_win.h",
"ime/text_input_client.cc",
"ime/text_input_client.h",
"ime/text_input_focus_manager.cc",
"ime/text_input_focus_manager.h",
"ime/text_input_type.h",
"ime/win/imm32_manager.cc",
"ime/win/imm32_manager.h",
"ime/win/tsf_input_scope.cc",
"ime/win/tsf_input_scope.h",
]
if (!use_aura || (!is_linux && !use_ozone)) {
sources -= [
"ime/input_method_auralinux.cc",
"ime/input_method_auralinux.h",
]
}
if (!toolkit_views && !use_aura) {
sources -= [
"ime/input_method_factory.cc",
"ime/input_method_factory.h",
"ime/input_method_minimal.cc",
"ime/input_method_minimal.h",
]
}
if (is_chromeos) {
deps += [
"//chromeos",
]
}
if (use_pango) {
configs += [ "//build/config/linux:pangocairo" ]
} else {
sources -= [
"ime/composition_text_util_pango.cc",
"ime/composition_text_util_pango.h",
]
}
}
if (is_ios) {
sources += [
"l10n/l10n_util_mac.h",
"l10n/l10n_util_mac.mm",
]
}
if (toolkit_views) {
deps += [
"//ui/events",
]
}
if (use_x11 && use_aura) {
sources += [
"x/selection_owner.cc",
"x/selection_owner.h",
"x/selection_requestor.cc",
"x/selection_requestor.h",
"x/selection_utils.cc",
"x/selection_utils.h",
]
}
if (use_aura) {
deps += [
"//ui/events",
]
} else {
sources -= [
"cursor/cursor.cc",
"cursor/cursor.h",
"dragdrop/drag_utils_aura.cc",
]
}
if (use_x11) {
sources += [
"x/x11_foreign_window_manager.cc",
"x/x11_foreign_window_manager.h",
"x/x11_menu_list.cc",
"x/x11_menu_list.h",
"x/x11_util.cc",
"x/x11_util.h",
"x/x11_util_internal.h",
]
deps += [ "//ui/gfx/x" ]
}
if (!use_aura || !is_linux) {
sources -= [
"resource/resource_bundle_auralinux.cc",
]
}
if (use_aura && is_win) {
sources -= [
"dragdrop/drag_utils_aura.cc",
]
}
if (is_linux) {
configs += [
"//build/config/linux:fontconfig",
"//build/config/linux:glib",
]
}
if ((is_linux && !is_chromeos) || is_chromeos) {
if (!toolkit_views && !use_aura) {
sources -= [
"dragdrop/drag_utils.cc",
"dragdrop/drag_utils.h",
]
}
}
if (is_chromeos || (use_aura && is_linux && !use_x11)) {
sources += [
"dragdrop/os_exchange_data_provider_aura.cc",
"dragdrop/os_exchange_data_provider_aura.h",
]
}
libs = []
if (is_win) {
sources += [
"cursor/cursor_loader_win.cc",
"cursor/cursor_loader_win.h",
]
deps += [
"//third_party/wtl",
]
cflags = [
"/wd4267", # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int.
"/wd4324", # Structure was padded due to __declspec(align()), which is
# uninteresting.
]
ldflags = [
"/DELAYLOAD:d2d1.dll",
"/DELAYLOAD:d3d10_1.dll",
"/DELAYLOAD:dwmapi.dll",
]
libs += [
"d2d1.lib",
"d3d10_1.lib",
"dwmapi.lib",
"imm32.lib",
"d2d1.lib",
"dwmapi.lib",
"oleacc.lib",
]
} else {
if (!use_aura) {
sources -= [
"view_prop.cc",
"view_prop.h",
]
}
}
if (is_mac) {
deps += [
"//third_party/mozilla",
]
sources -= [
"cursor/image_cursors.cc",
"cursor/image_cursors.h",
"dragdrop/drag_utils.cc",
"dragdrop/drag_utils.h",
]
libs += [
"Accelerate.framework",
"AudioUnit.framework",
"CoreVideo.framework",
]
}
if (use_x11) {
#'all_dependent_settings': {
#'ldflags': [
#'-L<(PRODUCT_DIR)',
#],
#},
configs += [
"//build/config/linux:x11"
]
}
if (use_aura) {
if (use_x11) {
sources += [
"cursor/cursor_loader_x11.cc",
"cursor/cursor_loader_x11.h",
"cursor/cursor_x11.cc",
]
if (!is_chromeos) {
# These Aura X11 files aren't used on ChromeOS.
sources += [
"dragdrop/os_exchange_data_provider_aurax11.cc",
"dragdrop/os_exchange_data_provider_aurax11.h",
]
}
}
}
if (use_ozone) {
sources += [
"cursor/cursor_loader_ozone.cc",
"cursor/cursor_loader_ozone.h",
"cursor/cursor_ozone.cc",
"cursor/ozone/bitmap_cursor_factory_ozone.cc",
"cursor/ozone/bitmap_cursor_factory_ozone.h",
]
deps += [
"//ui/ozone:ozone_base",
]
}
if (!toolkit_views) {
sources -= [
"dragdrop/drag_drop_types.h",
"dragdrop/drop_target_event.cc",
"dragdrop/drop_target_event.h",
"dragdrop/os_exchange_data.cc",
"dragdrop/os_exchange_data.h",
"nine_image_painter_factory.cc",
"nine_image_painter_factory.h",
]
}
if (is_android) {
sources -= [
"cursor/image_cursors.cc",
"cursor/image_cursors.h",
"default_theme_provider.cc",
"dragdrop/drag_utils.cc",
"dragdrop/drag_utils.h",
"l10n/l10n_font_util.cc",
"models/button_menu_item_model.cc",
"models/dialog_model.cc",
"theme_provider.cc",
"touch/touch_editing_controller.cc",
"ui_base_types.cc",
]
deps += [
":ui_base_jni_headers",
]
libs += [
"jnigraphics",
]
}
if (is_android && is_android_webview_build) {
deps += [
#TODO(GYP): port this component to GN.
#"//ui/android:ui_java",
]
}
if (is_android && !use_aura) {
sources -= [
"cursor/cursor_android.cc",
]
}
# Aura clipboard.
if (use_aura) {
if (use_x11) {
sources += [ "clipboard/clipboard_aurax11.cc" ]
} else if (!is_win) {
# This file is used for all non-X11, non-Windows aura Builds.
sources += [ "clipboard/clipboard_aura.cc" ]
}
}
if (is_android || is_ios) {
sources -= [
"device_form_factor_desktop.cc",
]
}
}
source_set("test_support") {
testonly = true
sources = [
"test/test_clipboard.cc",
"test/test_clipboard.h",
"test/ui_controls.h",
"test/ui_controls_aura.cc",
"test/ui_controls_internal_win.cc",
"test/ui_controls_internal_win.h",
"test/ui_controls_mac.mm",
"test/ui_controls_win.cc",
]
public_deps = [
":base",
]
deps = [
"//base",
"//skia",
"//testing/gtest",
"//ui/events:events_base",
"//ui/gfx",
"//ui/gfx/geometry",
]
if (build_ime) {
sources += [
"ime/dummy_input_method.cc",
"ime/dummy_input_method.h",
"ime/dummy_text_input_client.cc",
"ime/dummy_text_input_client.h",
]
}
if (!use_aura) {
sources -= [
"test/ui_controls_aura.cc",
]
}
}
if (is_android) {
generate_jni("ui_base_jni_headers") {
sources = [
"../android/java/src/org/chromium/ui/base/Clipboard.java",
"../android/java/src/org/chromium/ui/base/DeviceFormFactor.java",
"../android/java/src/org/chromium/ui/base/LocalizationUtils.java",
"../android/java/src/org/chromium/ui/base/ResourceBundle.java",
"../android/java/src/org/chromium/ui/base/SelectFileDialog.java",
"../android/java/src/org/chromium/ui/base/TouchDevice.java",
"../android/java/src/org/chromium/ui/base/ViewAndroid.java",
"../android/java/src/org/chromium/ui/base/WindowAndroid.java",
]
jni_package = "base"
}
}
# TODO(GYP): Make this work on Android and reenable it.
if (!is_android) {
# TODO(tfarina): Rename this target to ui_base_unittests.
# In order to do this we will need to keep this target, add a dummy
# ui_base_unittests target that just points to ui_unittests, change
# buildbot code to reference the new 'ui_base_unittests' target.
# After buildbot is updated, we can make the changes in Chromium and
# remove 'ui_unittests' target. crbug.com/331829
# GYP version: ui/base/ui_base_tests.gyp:ui_unittests
test("ui_unittests") {
sources = [
"l10n/l10n_util_mac_unittest.mm",
"l10n/l10n_util_unittest.cc",
"l10n/l10n_util_win_unittest.cc",
"l10n/time_format_unittest.cc",
"layout_unittest.cc",
"models/tree_node_iterator_unittest.cc",
"resource/data_pack_literal.cc",
"resource/data_pack_unittest.cc",
"resource/resource_bundle_unittest.cc",
"test/test_clipboard_unittest.cc",
"test/run_all_unittests.cc",
]
if (is_ios) {
# Compile this Mac file on iOS as well.
set_sources_assignment_filter([])
sources += [ "l10n/l10n_util_mac_unittest.mm" ]
set_sources_assignment_filter(sources_assignment_filter)
} else { # !is_ios
sources += [
"accelerators/accelerator_manager_unittest.cc",
"accelerators/menu_label_accelerator_util_linux_unittest.cc",
"clipboard/custom_data_helper_unittest.cc",
"cocoa/base_view_unittest.mm",
"cocoa/cocoa_base_utils_unittest.mm",
"cocoa/controls/blue_label_button_unittest.mm",
"cocoa/controls/hover_image_menu_button_unittest.mm",
"cocoa/controls/hyperlink_button_cell_unittest.mm",
"cocoa/controls/hyperlink_text_view_unittest.mm",
"cocoa/focus_tracker_unittest.mm",
"cocoa/fullscreen_window_manager_unittest.mm",
"cocoa/hover_image_button_unittest.mm",
"cocoa/menu_controller_unittest.mm",
"cocoa/nsgraphics_context_additions_unittest.mm",
"cocoa/nsview_additions_unittest.mm",
"cocoa/tracking_area_unittest.mm",
"dragdrop/os_exchange_data_provider_aurax11_unittest.cc",
"models/list_model_unittest.cc",
"models/list_selection_model_unittest.cc",
"models/tree_node_model_unittest.cc",
"test/data/resource.h",
"text/bytes_formatting_unittest.cc",
"touch/touch_editing_controller_unittest.cc",
"view_prop_unittest.cc",
"webui/web_ui_util_unittest.cc",
"x/selection_requestor_unittest.cc",
]
}
if (build_ime) {
sources += [
"ime/candidate_window_unittest.cc",
"ime/chromeos/character_composer_unittest.cc",
"ime/input_method_base_unittest.cc",
"ime/input_method_chromeos_unittest.cc",
"ime/remote_input_method_win_unittest.cc",
"ime/win/imm32_manager_unittest.cc",
"ime/win/tsf_input_scope_unittest.cc",
]
if (use_x11) {
sources += [ "ime/composition_text_util_pango_unittest.cc" ]
}
if (!use_x11 && is_chromeos) {
# These were already removed in the non-chromeos case.
sources -= [
"ime/chromeos/character_composer_unittest.cc",
"ime/input_method_chromeos_unittest.cc",
]
}
}
deps = [
"//base",
"//base/allocator",
"//base/test:test_support",
"//net",
"//skia",
"//testing/gmock",
"//testing/gtest",
"//third_party/icu",
"//ui/base",
"//ui/base:test_support",
"//ui/events:events_base",
"//ui/events:test_support",
"//ui/gfx:test_support",
"//ui/resources",
"//ui/resources:ui_test_pak",
"//ui/strings",
"//url",
]
if (is_ios) {
# TODO(GYP) lots of iOS-only steps for ui_unittests
}
if (is_win) {
sources += [
"dragdrop/os_exchange_data_win_unittest.cc",
"win/hwnd_subclass_unittest.cc",
"win/open_file_name_win_unittest.cc",
]
ldflags = [
"/DELAYLOAD:d2d1.dll",
"/DELAYLOAD:d3d10_1.dll",
]
libs = [
"d2d1.lib",
"d3d10_1.lib",
"imm32.lib",
"oleacc.lib",
]
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
cflags = [ "/wd4267" ]
}
if (is_android) {
deps += [
#"testing/android/native_test.gyp:native_test_native_code" TODO(GYP)
]
}
if (use_pango) {
configs += [
"//build/config/linux:pangocairo"
]
}
if (use_x11) {
sources += [
"cursor/cursor_loader_x11_unittest.cc"
]
configs += [
"//build/config/linux:x11"
]
deps += [
"//ui/events/platform/x11",
"//ui/gfx/x",
]
datadeps = [
"//tools/xdisplaycheck"
]
}
if (!is_win || !use_aura) {
sources -= [
"view_prop_unittest.cc"
]
}
if (is_mac) {
sources -= [
"dragdrop/os_exchange_data_provider_aurax11_unittest.cc",
"x/selection_requestor_unittest.cc",
]
deps += [
"//third_party/mozilla",
#'ui_unittests_bundle', TODO(GYP)
]
}
if (use_aura || toolkit_views) {
sources += [
"dragdrop/os_exchange_data_unittest.cc"
]
deps += [
"//ui/events",
"//ui/events/platform",
]
}
if (is_chromeos) {
sources -= [
"dragdrop/os_exchange_data_provider_aurax11_unittest.cc",
"x/selection_requestor_unittest.cc",
]
deps += [
"//chromeos",
]
}
}
}
# TODO(GYP) Mac (ui_unittest_bundle) and Android (ui_unittests_apk).