# 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("//extensions/generated_extensions_api.gni")

component("accessibility") {
  sources = [
    "ax_node.cc",
    "ax_node.h",
    "ax_node_data.cc",
    "ax_node_data.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_serializer.cc",
    "ax_tree_serializer.h",
    "ax_tree_source.h",
    "ax_tree_update.cc",
    "ax_tree_update.h",
    "ax_view_state.cc",
    "ax_view_state.h",
    "platform/ax_platform_node.cc",
    "platform/ax_platform_node.h",
    "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",
  ]

  defines = [ "ACCESSIBILITY_IMPLEMENTATION" ]

  public_deps = [
    ":ax_gen",
    "//base",
    "//ui/gfx",
    "//ui/gfx/geometry",
  ]
}

source_set("test_support") {
  sources = [
    "tree_generator.cc",
    "tree_generator.h"
  ]

  deps = [
    ":accessibility"
  ]
}

test("accessibility_unittests") {
  sources = [
    "ax_generated_tree_unittest.cc",
    "ax_tree_serializer_unittest.cc",
    "ax_tree_unittest.cc",
  ]

  deps = [
    ":accessibility",
    ":test_support",
    "//base",
    "//base/test:run_all_unittests",
    "//testing/gtest",
    "//ui/gfx",
    "//ui/gfx/geometry",
  ]
}

generated_extensions_api("ax_gen") {
  sources = [ "ax_enums.idl" ]
  deps = [ "//base/third_party/dynamic_annotations" ]
  root_namespace = "ui"
  schemas = true
}