# 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/features.gni") import("//build/config/ui.gni") gypi_values = exec_script( "//build/gypi_to_gn.py", [ rebase_path("views.gyp") ], "scope", [ "views.gyp" ]) component("views") { sources = gypi_values.views_sources defines = [ "VIEWS_IMPLEMENTATION" ] deps = [ "//base:i18n", "//base/third_party/dynamic_annotations", "//skia", "//third_party/icu", "//ui/accessibility", "//ui/aura", "//ui/native_theme", "//ui/resources", "//ui/strings", "//ui/wm", "//url", ] public_deps = [ "//base", "//ui/accessibility:ax_gen", "//ui/base", "//ui/compositor", "//ui/events", "//ui/events:events_base", "//ui/events/platform", "//ui/gfx", "//ui/gfx/geometry", ] if (use_x11 && !is_chromeos) { deps += [ "//ui/display/util" ] } if (is_linux && !is_chromeos) { sources -= [ "window/window_button_order_provider.cc" ] deps += [ "//ui/shell_dialogs" ] } else { sources -= [ "linux_ui/linux_ui.h", "linux_ui/linux_ui.cc", "linux_ui/window_button_order_observer.h", "linux_ui/window_button_order_provider.cc", ] } if (is_chromeos) { sources -= [ "linux_ui/status_icon_linux.h", "linux_ui/status_icon_linux.cc", ] } if (is_win) { sources += gypi_values.views_win_sources cflags = [ "/wd4267" ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. libs = [ "/imm32.lib", "oleacc.lib" ] ldflags = [ "/DELAYLOAD:user32.dll" ] deps += [ "//third_party/iaccessible2", "//third_party/wtl", ] } if (use_ozone) { deps += [ "//ui/ozone" ] } if (use_x11) { configs += [ "//build/config/linux:x11", "//build/config/linux:xrandr", ] deps += [ "//ui/events/devices", "//ui/events/platform/x11", "//ui/gfx/x", ] } if (use_aura) { sources += gypi_values.views_aura_sources if (!is_chromeos) { sources += gypi_values.views_desktop_aura_sources if (use_x11) { sources += gypi_values.views_desktop_aura_x11_sources } else if (is_win) { sources += gypi_values.views_desktop_aura_win_sources } else if (use_ozone) { sources += gypi_values.views_desktop_aura_ozone_sources } } } } static_library("test_support") { testonly = true sources = gypi_values.views_test_support_sources public_deps = [ ":views", ] deps = [ "//base", "//ipc:test_support", "//skia", "//testing/gtest", "//ui/aura", "//ui/base", "//ui/compositor", "//ui/compositor:test_support", "//ui/events", "//ui/events:events_base", "//ui/events:test_support", "//ui/events/platform", "//ui/gfx", "//ui/gfx/geometry", "//ui/wm", ] if (is_chromeos) { sources -= [ "test/ui_controls_factory_desktop_aurax11.cc", "test/ui_controls_factory_desktop_aurax11.h", ] } if (use_aura) { sources += gypi_values.views_test_support_aura_sources deps += [ "//ui/aura:test_support" ] } if (use_x11) { deps += [ "//ui/gfx/x" ] } if (use_ozone) { sources -= [ "test/x11_property_change_waiter.cc", ] } } test("views_unittests") { sources = gypi_values.views_unittests_sources deps = [ ":test_support", "//base", "//base:i18n", "//base/allocator", "//base/test:test_support", "//skia", "//testing/gtest", "//third_party/icu", "//ui/accessibility", "//ui/aura", "//ui/base", "//ui/base:test_support", "//ui/compositor:test_support", "//ui/events:test_support", "//ui/events:events_base", "//ui/events/platform", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl", "//ui/resources", "//ui/strings", "//ui/wm", "//url", ] if (is_chromeos) { sources -= [ "ime/input_method_bridge_unittest.cc", ] } if (is_win) { deps += [ "//third_party/iaccessible2", "//third_party/wtl", ] libs = [ "imm32.lib", "oleacc.lib", "comctl32.lib", ] # TOOD(GYP) #'msvs_settings': { # 'VCManifestTool': { # 'AdditionalManifestFiles': [ # '$(ProjectDir)\\test\\views_unittest.manifest', # ], # }, #}, } if (use_x11) { configs += [ "//build/config/linux:x11", "//build/config/linux:xext", ] deps += [ "//ui/events/devices", "//ui/events/platform/x11", "//ui/gfx/x", ] } if (use_aura) { sources += gypi_values.views_unittests_aura_sources deps += [ "//ui/aura:test_support" ] if (!is_chromeos) { sources += gypi_values.views_unittests_desktop_aura_sources } } if (use_x11) { deps += [ "//ui/events/platform/x11", "//ui/gfx/x", ] } if (is_mac) { # views_unittests not yet compiling on Mac. http://crbug.com/378134 sources -= [ "bubble/bubble_window_targeter_unittest.cc", "controls/button/custom_button_unittest.cc", "controls/button/menu_button_unittest.cc", "controls/native/native_view_host_unittest.cc", "controls/menu/menu_controller_unittest.cc", "ime/input_method_bridge_unittest.cc", "focus/focus_manager_unittest.cc", "widget/window_reorderer_unittest.cc", "widget/widget_unittest.cc", ] } } if (is_mac) { test("macviews_interactive_ui_tests") { sources = [ "run_all_unittests.cc", "widget/native_widget_mac_interactive_uitest.mm", ] deps = [ ":test_support", ":views", "//base", "//base/test:test_support", "//skia", "//testing/gtest", "//ui/aura", "//ui/compositor", "//ui/resources", "//ui/resources:ui_test_pak", "//ui/strings", "//ui/wm", ] } }