blob: 732f9af354d425a17cc9f93c85c54076c1985fc9 [file] [log] [blame]
# Copyright 2020 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/linux/pkg_config.gni")
import("//build/config/ui.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
import("//tools/json_schema_compiler/json_schema_api.gni")
import("//ui/base/ui_features.gni")
if (is_win) {
import("//build/toolchain/win/midl.gni")
}
if (is_win) {
midl("ichromeaccessible") {
sources = [ "ichromeaccessible.idl" ]
}
}
if (is_android) {
import("//build/config/android/rules.gni")
}
source_set("platform") {
defines = [ "AX_IMPLEMENTATION" ]
visibility = [ "//ui/accessibility" ]
sources = [
# Used by by browser_accessibility_state_impl.cc.
"ax_platform_node.cc",
"ax_platform_node.h",
"ax_platform_node_delegate.h",
# Used by browser_accessibility.cc.
"ax_unique_id.cc",
"ax_unique_id.h",
# Used by accessibility_tree_formatter_blink.cc.
"compute_attributes.cc",
"compute_attributes.h",
# Used by //ui/accessibility:ax_assistant.
"ax_android_constants.cc",
"ax_android_constants.h",
# Used by //ui/views/views/ax_virtual_view.h.
"ax_platform_node_base.cc",
"ax_platform_node_base.h",
"ax_platform_node_delegate_base.cc",
"ax_platform_node_delegate_base.h",
# Used by //chrome/test/browser_tests/browser_view_browsertest.cc
"ax_platform_node_test_helper.cc",
"ax_platform_node_test_helper.h",
]
public_deps = [
"//ui/accessibility:ax_base",
"//ui/display",
]
if (has_native_accessibility) {
sources += [
"ax_fragment_root_delegate_win.h",
"ax_fragment_root_win.cc",
"ax_fragment_root_win.h",
"ax_platform_node_delegate_utils_win.cc",
"ax_platform_node_delegate_utils_win.h",
"ax_platform_node_textchildprovider_win.cc",
"ax_platform_node_textchildprovider_win.h",
"ax_platform_node_textprovider_win.cc",
"ax_platform_node_textprovider_win.h",
"ax_platform_node_textrangeprovider_win.cc",
"ax_platform_node_textrangeprovider_win.h",
"ax_platform_node_win.cc",
"ax_platform_node_win.h",
"ax_platform_relation_win.cc",
"ax_platform_relation_win.h",
"ax_platform_text_boundary.cc",
"ax_platform_text_boundary.h",
"ax_system_caret_win.cc",
"ax_system_caret_win.h",
"uia_registrar_win.cc",
"uia_registrar_win.h",
]
if (is_win) {
public_deps += [
"//third_party/iaccessible2",
"//ui/accessibility/platform:ichromeaccessible",
]
libs = [
"oleacc.lib",
"uiautomationcore.lib",
]
}
if (is_mac) {
sources += [
"ax_platform_node_mac.h",
"ax_platform_node_mac.mm",
]
frameworks = [
"AppKit.framework",
"Foundation.framework",
]
}
if (use_atk) {
sources += [
"atk_util_auralinux.cc",
"atk_util_auralinux.h",
"atk_util_auralinux_gtk.cc",
"ax_platform_atk_hyperlink.cc",
"ax_platform_atk_hyperlink.h",
"ax_platform_node_auralinux.cc",
"ax_platform_node_auralinux.h",
]
# ax_platform_text_boundary.h includes atk.h, so ATK is needed
# as a public config to ensure anything that includes this is
# able to find atk.h.
public_configs = [ "//build/config/linux/atk" ]
if (use_glib) {
configs += [ "//build/config/linux:glib" ]
}
if (use_x11) {
public_deps += [ "//ui/gfx/x" ]
}
}
}
}