blob: 52d88ba0ffbdda0c2c0e90672d20d0d4a921f956 [file] [log] [blame]
# Copyright 2019 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/ozone.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/ui.gni")
component("clipboard_types") {
output_name = "ui_base_clipboard_types"
sources = [
"clipboard_buffer.h",
"clipboard_constants.cc",
"clipboard_constants.h",
]
if (!is_ios) {
sources += [ "clipboard_format_type.h" ]
}
if (is_android) {
sources += [ "clipboard_format_type_android.cc" ]
}
if (is_mac) {
sources += [ "clipboard_format_type_mac.mm" ]
}
if (is_apple) {
sources += [ "clipboard_constants_mac.mm" ]
}
if (is_win) {
sources += [ "clipboard_format_type_win.cc" ]
}
if (use_aura) {
if ((use_x11 && (is_linux || is_chromeos_lacros)) || !is_win) {
sources += [ "clipboard_format_type_aura.cc" ]
}
}
defines = [ "IS_UI_BASE_CLIPBOARD_TYPES_IMPL" ]
deps = [ "//base" ]
frameworks = []
if (is_apple) {
frameworks += [ "Foundation.framework" ]
}
if (is_mac) {
frameworks += [ "AppKit.framework" ]
}
}
component("file_info") {
output_name = "ui_base_file_info"
sources = [
"file_info.cc",
"file_info.h",
]
defines = [ "IS_UI_BASE_FILE_INFO_IMPL" ]
deps = [ "//base" ]
}
component("clipboard") {
output_name = "ui_base_clipboard"
sources = [
"clipboard.cc",
"clipboard.h",
"clipboard_metrics.cc",
"clipboard_metrics.h",
"clipboard_monitor.cc",
"clipboard_monitor.h",
"clipboard_observer.cc",
"clipboard_observer.h",
"clipboard_sequence_number_token.h",
"custom_data_helper.cc",
"custom_data_helper.h",
"scoped_clipboard_writer.cc",
"scoped_clipboard_writer.h",
]
if (is_android) {
sources += [
"clipboard_android.cc",
"clipboard_android.h",
]
}
if (is_mac) {
sources += [
"clipboard_mac.h",
"clipboard_mac.mm",
"clipboard_util_mac.h",
"clipboard_util_mac.mm",
]
}
if (is_win) {
sources += [
"clipboard_util_win.cc",
"clipboard_util_win.h",
"clipboard_win.cc",
"clipboard_win.h",
]
}
defines = [ "IS_UI_BASE_CLIPBOARD_IMPL" ]
deps = [
"//base",
"//build:chromeos_buildflags",
"//mojo/public/cpp/base",
"//net",
"//skia",
"//ui/base:features",
"//ui/gfx",
"//ui/gfx/geometry",
]
public_deps = [
":clipboard_types",
":file_info",
"//ui/base/data_transfer_policy",
]
if (use_aura) {
if (use_ozone) {
sources += [
"clipboard_data.cc",
"clipboard_data.h",
"clipboard_non_backed.cc",
"clipboard_non_backed.h",
"clipboard_ozone.cc",
"clipboard_ozone.h",
]
deps += [ "//ui/ozone" ]
}
if (use_x11) {
sources += [
"clipboard_x11.cc",
"clipboard_x11.h",
]
deps += [
"//ui/base",
"//ui/base/x",
"//ui/events/platform",
"//ui/events/platform/x11",
"//ui/events/x",
"//ui/gfx/x",
]
}
# TODO(crbug.com/1096425): Cleanup when non-Ozone path gets dropped.
if (use_ozone || use_x11) {
sources += [ "clipboard_factory_ozone.cc" ]
if (!use_ozone) {
sources += [
"clipboard_data.cc",
"clipboard_data.h",
"clipboard_non_backed.cc",
"clipboard_non_backed.h",
]
}
deps += [ "//ui/base" ]
}
}
if (is_android) {
deps += [ "//ui/base:ui_base_jni_headers" ]
}
if (is_mac) {
deps += [ "//third_party/mozilla" ]
frameworks = [
"AppKit.framework",
"CoreFoundation.framework",
]
}
}
source_set("clipboard_test_support") {
testonly = true
if (!is_ios) {
sources = [
"test/clipboard_test_util.cc",
"test/clipboard_test_util.h",
"test/test_clipboard.cc",
"test/test_clipboard.h",
]
}
if (is_android) {
sources += [ "clipboard_android_test_support.cc" ]
}
public_deps = [
":clipboard",
"//base",
"//skia",
]
deps = [
"//base/test:test_support",
"//build:chromecast_buildflags",
"//build:chromeos_buildflags",
"//ui/base:features",
"//ui/gfx",
]
if (is_android) {
deps += [ "//ui/android:ui_javatest_jni_headers" ]
}
}
source_set("clipboard_test") {
testonly = true
sources = []
output_name = "ui_base_clipboard_test"
if (!is_ios) {
sources += [
"custom_data_helper_unittest.cc",
"test/test_clipboard_unittest.cc",
]
}
if (is_mac) {
sources += [
"clipboard_mac_unittest.mm",
"clipboard_util_mac_unittest.mm",
]
}
if (use_aura && !is_chromeos_lacros && !use_x11 && !is_win) {
sources += [
"clipboard_data_unittest.cc",
"clipboard_non_backed_unittest.cc",
]
}
deps = [
":clipboard_test_support",
"//base/test:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/base:features",
"//ui/events/platform",
"//ui/gfx:test_support",
"//url:url",
]
if (is_mac) {
deps += [ "//third_party/mozilla" ]
}
}