| # 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/linux/gtk/gtk.gni") | 
 | import("//build/config/linux/pkg_config.gni") | 
 | import("//build/config/features.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_android) { | 
 |   import("//build/config/android/rules.gni") | 
 | } | 
 |  | 
 | mojom("ax_enums_mojo") { | 
 |   sources = [ | 
 |     "ax_enums.mojom", | 
 |   ] | 
 | } | 
 |  | 
 | component("accessibility") { | 
 |   sources = [ | 
 |     "ax_action_data.cc", | 
 |     "ax_action_data.h", | 
 |     "ax_enum_util.cc", | 
 |     "ax_enum_util.h", | 
 |     "ax_event_generator.cc", | 
 |     "ax_event_generator.h", | 
 |     "ax_export.h", | 
 |     "ax_host_delegate.cc", | 
 |     "ax_host_delegate.h", | 
 |     "ax_node.cc", | 
 |     "ax_node.h", | 
 |     "ax_node_data.cc", | 
 |     "ax_node_data.h", | 
 |     "ax_node_position.cc", | 
 |     "ax_node_position.h", | 
 |     "ax_position.h", | 
 |     "ax_range.h", | 
 |     "ax_relative_bounds.cc", | 
 |     "ax_relative_bounds.h", | 
 |     "ax_role_properties.cc", | 
 |     "ax_role_properties.h", | 
 |     "ax_serializable_tree.cc", | 
 |     "ax_serializable_tree.h", | 
 |     "ax_text_utils.cc", | 
 |     "ax_text_utils.h", | 
 |     "ax_tree.cc", | 
 |     "ax_tree.h", | 
 |     "ax_tree_combiner.cc", | 
 |     "ax_tree_combiner.h", | 
 |     "ax_tree_data.cc", | 
 |     "ax_tree_data.h", | 
 |     "ax_tree_id_registry.cc", | 
 |     "ax_tree_id_registry.h", | 
 |     "ax_tree_serializer.cc", | 
 |     "ax_tree_serializer.h", | 
 |     "ax_tree_source.h", | 
 |     "ax_tree_update.h", | 
 |     "platform/ax_android_constants.cc", | 
 |     "platform/ax_android_constants.h", | 
 |     "platform/ax_platform_node.cc", | 
 |     "platform/ax_platform_node.h", | 
 |     "platform/ax_snapshot_node_android_platform.cc", | 
 |     "platform/ax_snapshot_node_android_platform.h", | 
 |     "platform/ax_unique_id.cc", | 
 |     "platform/ax_unique_id.h", | 
 |   ] | 
 |  | 
 |   if (has_native_accessibility) { | 
 |     sources += [ | 
 |       "platform/ax_platform_node_base.cc", | 
 |       "platform/ax_platform_node_base.h", | 
 |       "platform/ax_platform_node_delegate.h", | 
 |       "platform/ax_platform_node_mac.h", | 
 |       "platform/ax_platform_node_mac.mm", | 
 |       "platform/ax_platform_node_win.cc", | 
 |       "platform/ax_platform_node_win.h", | 
 |       "platform/ax_platform_relation_win.cc", | 
 |       "platform/ax_platform_relation_win.h", | 
 |       "platform/ax_system_caret_win.cc", | 
 |       "platform/ax_system_caret_win.h", | 
 |     ] | 
 |   } | 
 |  | 
 |   defines = [ "ACCESSIBILITY_IMPLEMENTATION" ] | 
 |  | 
 |   public_deps = [ | 
 |     ":ax_enums_mojo", | 
 |     "//base", | 
 |     "//base:i18n", | 
 |     "//ui/base", | 
 |     "//ui/gfx", | 
 |     "//ui/gfx/geometry", | 
 |     "//ui/strings", | 
 |   ] | 
 |  | 
 |   if (is_win) { | 
 |     public_deps += [ "//third_party/iaccessible2" ] | 
 |     libs = [ "oleacc.lib" ] | 
 |   } | 
 |  | 
 |   if (is_mac) { | 
 |     libs = [ | 
 |       "AppKit.framework", | 
 |       "Foundation.framework", | 
 |     ] | 
 |   } | 
 |  | 
 |   if (use_atk) { | 
 |     sources += [ | 
 |       "platform/atk_util_auralinux.cc", | 
 |       "platform/atk_util_auralinux.h", | 
 |       "platform/ax_platform_atk_hyperlink.cc", | 
 |       "platform/ax_platform_atk_hyperlink.h", | 
 |       "platform/ax_platform_node_auralinux.cc", | 
 |       "platform/ax_platform_node_auralinux.h", | 
 |     ] | 
 |  | 
 |     configs += [ "//build/config/linux/atk" ] | 
 |  | 
 |     if (use_glib) { | 
 |       configs += [ "//build/config/linux:glib" ] | 
 |     } | 
 |     if (use_gtk3) { | 
 |       sources += [ "platform/atk_util_auralinux_gtk3.cc" ] | 
 |     } else { | 
 |       sources += [ "platform/atk_util_auralinux_gtk2.cc" ] | 
 |     } | 
 |   } | 
 |  | 
 |   if (use_aura) { | 
 |     sources += [ | 
 |       "platform/aura_window_properties.cc", | 
 |       "platform/aura_window_properties.h", | 
 |     ] | 
 |  | 
 |     public_deps += [ "//ui/aura" ] | 
 |   } | 
 | } | 
 |  | 
 | static_library("test_support") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "tree_generator.cc", | 
 |     "tree_generator.h", | 
 |   ] | 
 |  | 
 |   if (is_win || use_atk) { | 
 |     sources += [ | 
 |       "platform/test_ax_node_wrapper.cc", | 
 |       "platform/test_ax_node_wrapper.h", | 
 |     ] | 
 |   } | 
 |  | 
 |   deps = [ | 
 |     ":accessibility", | 
 |   ] | 
 | } | 
 |  | 
 | test("accessibility_unittests") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "ax_event_generator_unittest.cc", | 
 |     "ax_generated_tree_unittest.cc", | 
 |     "ax_node_position_unittest.cc", | 
 |     "ax_text_utils_unittest.cc", | 
 |     "ax_tree_combiner_unittest.cc", | 
 |     "ax_tree_serializer_unittest.cc", | 
 |     "ax_tree_unittest.cc", | 
 |     "platform/ax_platform_node_unittest.cc", | 
 |     "platform/ax_platform_node_unittest.h", | 
 |     "platform/ax_platform_node_win_unittest.cc", | 
 |     "platform/ax_unique_id_unittest.cc", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":accessibility", | 
 |     ":ax_enums_mojo", | 
 |     ":test_support", | 
 |     "//base", | 
 |     "//base/test:run_all_unittests", | 
 |     "//skia", | 
 |     "//testing/gtest", | 
 |     "//ui/base", | 
 |     "//ui/gfx", | 
 |     "//ui/gfx/geometry", | 
 |   ] | 
 |  | 
 |   if (is_win) { | 
 |     deps += [ "//third_party/iaccessible2" ] | 
 |     libs = [ "oleacc.lib" ] | 
 |   } | 
 |   if (use_atk) { | 
 |     sources += [ "platform/ax_platform_node_auralinux_unittest.cc" ] | 
 |     configs += [ "//build/config/linux/atk" ] | 
 |   } | 
 | } | 
 |  | 
 | fuzzer_test("ax_tree_fuzzer") { | 
 |   sources = [ | 
 |     "ax_tree_fuzzer.cc", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":accessibility", | 
 |   ] | 
 | } |