blob: 394bf565a67447af26a38e26b4c0e7102ffc6586 [file] [edit]
# Copyright 2014 The Chromium Authors
# 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")
import("//testing/test.gni")
component("native_theme") {
sources = [
"caption_style.cc",
"caption_style.h",
"native_theme.cc",
"native_theme.h",
"native_theme_base.cc",
"native_theme_base.h",
"native_theme_fluent.cc",
"native_theme_fluent.h",
"native_theme_observer.cc",
"native_theme_observer.h",
"os_settings_provider.cc",
"os_settings_provider.h",
"overlay_scrollbar_constants.cc",
"overlay_scrollbar_constants.h",
]
defines = [ "IS_NATIVE_THEME_IMPL" ]
public_deps = [
"features",
"//skia",
]
deps = [
"//base",
"//cc/paint",
"//ui/base",
"//ui/color",
# http://crbug.com/730719 - No !is_android to work around gn --check.
"//ui/color:mixers",
"//ui/display",
"//ui/gfx",
"//ui/gfx/animation/keyframe",
"//ui/gfx/geometry",
"//ui/resources",
]
if (is_android) {
sources += [
"os_settings_provider_android.cc",
"os_settings_provider_android.h",
]
deps += [ "//ui/accessibility:ax_base_android" ]
}
if (is_android || is_ios) {
sources += [
"native_theme_mobile.cc",
"native_theme_mobile.h",
]
}
if (is_chromeos) {
sources += [
"os_settings_provider_ash.cc",
"os_settings_provider_ash.h",
]
}
if (is_mac) {
frameworks = [
"Accessibility.framework",
"AppKit.framework",
"CoreGraphics.framework",
"MediaAccessibility.framework",
]
sources += [
"caption_style_mac.mm",
"native_theme_mac.h",
"native_theme_mac.mm",
"os_settings_provider_mac.h",
"os_settings_provider_mac.mm",
"scrollbar_animator_mac.cc",
"scrollbar_animator_mac.h",
]
}
if (is_win) {
sources += [
"caption_style_win.cc",
"native_theme_win.cc",
"native_theme_win.h",
"os_settings_provider_win.cc",
"os_settings_provider_win.h",
]
public_deps += [ "//ui/color:accent_color_observer" ]
libs = [ "uxtheme.lib" ]
}
# Mac uses `NativeThemeAura` for the web instance. That class does not depend
# on any other Aura-specific code.
if (use_aura || is_mac) {
sources += [
"native_theme_aura.cc",
"native_theme_aura.h",
]
}
}
component("test_support") {
testonly = true
sources = [
"mock_os_settings_provider.cc",
"mock_os_settings_provider.h",
]
defines = [ "IS_NATIVE_THEME_IMPL" ]
deps = [
":native_theme",
"//base",
"//ui/color:color_provider_key",
]
}
test("native_theme_unittests") {
use_xvfb = use_xvfb_in_this_config
sources = [
"native_theme_base_unittest.cc",
"native_theme_unittest.cc",
"os_settings_provider_unittest.cc",
]
deps = [
":native_theme",
":test_support",
"//base/test:run_all_unittests",
"//base/test:test_support",
"//skia",
"//testing/gtest",
"//ui/color",
"//ui/gfx:test_support",
"//ui/gfx/geometry",
]
if (is_mac) {
sources += [
"native_theme_mac_unittest.mm",
"scrollbar_animator_mac_unittest.cc",
]
deps += [ "//ui/gfx:test_support" ]
}
if (is_win) {
sources += [
"caption_style_win_unittest.cc",
"native_theme_win_unittest.cc",
]
}
if (is_win || is_linux) {
sources += [ "native_theme_fluent_unittest.cc" ]
}
}