chromium/ui/base/ime/BUILD.gn

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

import("//build/config/chromeos/ui_mode.gni")
import("//build/config/ui.gni")

source_set("text_input_types") {
  sources = [
    "text_input_action.h",
    "text_input_flags.h",
    "text_input_mode.h",
    "text_input_type.h",
  ]
}

component("ime_types") {
  output_name = "ui_base_ime_types"
  sources = [
    "autocorrect_info.h",
    "candidate_window.cc",
    "candidate_window.h",
    "composition_text.cc",
    "composition_text.h",
    "grammar_fragment.cc",
    "grammar_fragment.h",
    "ime_text_span.cc",
    "ime_text_span.h",
    "infolist_entry.cc",
    "infolist_entry.h",
    "text_edit_commands.h",
  ]

  defines = [ "IS_UI_BASE_IME_TYPES_IMPL" ]

  deps = [
    ":text_edit_commands",
    "//base",
    "//ui/gfx/geometry",
    "//ui/gfx/range",
  ]

  public_deps = [
    ":text_input_types",
    "//skia",
  ]

  if (is_chromeos_ash || use_ozone) {
    sources += [
      "character_composer.cc",
      "character_composer.h",
    ]
    deps += [
      "//ui/events:dom_keycode_converter",
      "//ui/events:events",
      "//ui/events:events_base",
    ]
  }
}

component("ime") {
  output_name = "ui_base_ime"
  sources = [
    "constants.cc",
    "constants.h",
    "events.cc",
    "events.h",
    "ime_key_event_dispatcher.h",
    "input_method.h",
    "input_method_base.cc",
    "input_method_base.h",
    "input_method_minimal.cc",
    "input_method_minimal.h",
    "input_method_observer.h",
    "mock_input_method.cc",
    "mock_input_method.h",
    "surrounding_text_tracker.cc",
    "surrounding_text_tracker.h",
    "text_input_client.cc",
    "text_input_client.h",
    "virtual_keyboard_controller.h",
    "virtual_keyboard_controller_observer.h",
    "virtual_keyboard_controller_stub.cc",
    "virtual_keyboard_controller_stub.h",
  ]

  defines = [ "IS_UI_BASE_IME_IMPL" ]

  public_deps = [
    ":ime_types",
    ":text_input_types",
    "//base",
    "//base:i18n",
    "//skia",
    "//third_party/icu",
    "//ui/base/ime/mojom",
    "//ui/events",
    "//ui/events:dom_keycode_converter",
    "//ui/events:events",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/gfx/range",
  ]

  deps = [ "//build:chromeos_buildflags" ]
}

source_set("text_edit_commands") {
  sources = [ "text_edit_commands.inc" ]
}