# Copyright 2022 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/buildflag_header.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//services/accessibility/buildflags.gni")
buildflag_header("buildflags") {
header = "buildflags.h"
flags = [
"ENABLE_ACCESSIBILITY_SERVICE=$enable_accessibility_service_internal",
"SUPPORTS_OS_ACCESSIBILITY_SERVICE=$supports_os_accessibility_service",
]
}
source_set("lib") {
public_deps = [
"//services/accessibility/public/mojom",
"//ui/accessibility:ax_base",
]
if (supports_os_accessibility_service) {
sources = [
"assistive_technology_controller_impl.cc",
"assistive_technology_controller_impl.h",
"features/automation_internal_bindings.cc",
"features/automation_internal_bindings.h",
"features/bindings_isolate_holder.cc",
"features/bindings_isolate_holder.h",
"features/interface_binder.h",
"features/mojo/mojo.cc",
"features/mojo/mojo.h",
"features/mojo/mojo_handle.cc",
"features/mojo/mojo_handle.h",
"features/mojo/mojo_watch_callback.cc",
"features/mojo/mojo_watch_callback.h",
"features/mojo/mojo_watcher.cc",
"features/mojo/mojo_watcher.h",
"features/registered_wrappable.cc",
"features/registered_wrappable.h",
"features/text_decoder.cc",
"features/text_decoder.h",
"features/text_encoder.cc",
"features/text_encoder.h",
"features/v8_bindings_utils.cc",
"features/v8_bindings_utils.h",
"features/v8_manager.cc",
"features/v8_manager.h",
"os_accessibility_service.cc",
"os_accessibility_service.h",
]
public_deps += [
"//gin",
"//ui/accessibility:accessibility",
]
configs += [ "//v8:external_startup_data" ]
} else {
sources = [
"automation_impl.cc",
"automation_impl.h",
"browser_accessibility_service.cc",
"browser_accessibility_service.h",
]
}
}
static_library("test_support") {
testonly = true
sources = [
"fake_service_client.cc",
"fake_service_client.h",
]
deps = [ ":lib" ]
}
source_set("tests") {
testonly = true
deps = [
":lib",
":test_support",
"//base/test:test_support",
"//testing/gtest",
"//ui/gfx:test_support",
]
if (supports_os_accessibility_service) {
sources = [
"assistive_technology_controller_impl_unittest.cc",
"features/automation_internal_bindings_unittest.cc",
"features/v8_manager_unittest.cc",
"os_accessibility_service_unittest.cc",
]
deps += [
"//base",
"//services/accessibility/features/mojo/test:mojom_js_api",
]
data_deps =
[ "//services/accessibility/features/mojo/test:test_support_data" ]
} else {
sources = [ "browser_accessibility_service_unittest.cc" ]
}
}