chromium/services/accessibility/public/mojom/BUILD.gn

# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//mojo/public/tools/bindings/mojom.gni")
import("//services/accessibility/buildflags.gni")

mojom("automation") {
  sources = [ "automation.mojom" ]
  public_deps = [
    "//mojo/public/mojom/base",
    "//ui/accessibility/mojom",
  ]
}

mojom("automation_client") {
  sources = [ "automation_client.mojom" ]
  public_deps = [
    "//mojo/public/mojom/base",
    "//ui/accessibility/mojom",
  ]
}

mojom("assistive_technology_type") {
  sources = [ "assistive_technology_type.mojom" ]
  public_deps = [ "//mojo/public/mojom/base" ]
}

mojom("mojom") {
  if (supports_os_accessibility_service) {
    enabled_features = [ "supports_os_accessibility_service" ]
  }
  sources = [ "accessibility_service.mojom" ]
  public_deps = [
    ":automation",
    ":automation_client",
    "//mojo/public/mojom/base",
    "//sandbox/policy/mojom",
  ]
  if (supports_os_accessibility_service) {
    public_deps += [
      ":assistive_technology_type",
      ":os_service_mojom",
      "//third_party/blink/public/mojom:mojom_platform",
      "//ui/accessibility/mojom",
    ]
  }
}

if (supports_os_accessibility_service) {
  mojom("os_service_mojom") {
    sources = [
      "autoclick.mojom",
      "file_loader.mojom",
      "speech_recognition.mojom",
      "tts.mojom",
      "user_input.mojom",
      "user_interface.mojom",
    ]
    public_deps = [
      ":assistive_technology_type",
      "//mojo/public/mojom/base",
      "//skia/public/mojom:mojom",
      "//ui/events/mojom:mojom",
      "//ui/gfx/geometry/mojom",
      "//ui/latency/mojom:mojom",
    ]
  }

  group("os_accessibility_service_js") {
    testonly = true
    data = [
      "$root_gen_dir/mojo/public/mojom/base/time.mojom-lite.js",
      "$root_gen_dir/skia/public/mojom/skcolor.mojom-lite.js",
      "$root_gen_dir/ui/events/mojom/event_constants.mojom-lite.js",
      "$root_gen_dir/ui/events/mojom/event.mojom-lite.js",
      "$root_gen_dir/mojo/public/mojom/base/unguessable_token.mojom-lite.js",
      "$root_gen_dir/ui/accessibility/ax_enums.mojom-lite.js",
      "$root_gen_dir/ui/accessibility/mojom/ax_tree_id.mojom-lite.js",
      "$root_gen_dir/ui/accessibility/mojom/ax_action_data.mojom-lite.js",
      "$target_gen_dir/automation_client.mojom-lite.js",
      "$root_gen_dir/ui/gfx/geometry/mojom/geometry.mojom-lite.js",
      "$root_gen_dir/ui/latency/mojom/latency_info.mojom-lite.js",
      "$target_gen_dir/assistive_technology_type.mojom-lite.js",
      "$target_gen_dir/autoclick.mojom-lite.js",
      "$target_gen_dir/speech_recognition.mojom-lite.js",
      "$target_gen_dir/tts.mojom-lite.js",
      "$target_gen_dir/user_input.mojom-lite.js",
      "$target_gen_dir/user_interface.mojom-lite.js",
    ]
    deps = [
      ":assistive_technology_type_js__generator",
      ":automation_client_js__generator",
      ":os_service_mojom_js__generator",
    ]
  }
}