# 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/ui.gni")

source_set("ime") {
  # GYP version: ui/base/ime/ime.gypi, which is included into ui_base
  sources = [
    "candidate_window.cc",
    "candidate_window.h",
    "chromeos/character_composer.cc",
    "chromeos/character_composer.h",
    "chromeos/ime_bridge.cc",
    "chromeos/ime_bridge.h",
    "chromeos/ime_keymap.cc",
    "chromeos/ime_keymap.h",
    "chromeos/mock_ime_candidate_window_handler.cc",
    "chromeos/mock_ime_candidate_window_handler.h",
    "chromeos/mock_ime_engine_handler.cc",
    "chromeos/mock_ime_engine_handler.h",
    "chromeos/mock_ime_input_context_handler.cc",
    "chromeos/mock_ime_input_context_handler.h",
    "composition_text.cc",
    "composition_text.h",
    "composition_text_util_pango.cc",
    "composition_text_util_pango.h",
    "composition_underline.h",
    "dummy_input_method_delegate.cc",
    "dummy_input_method_delegate.h",
    "infolist_entry.cc",
    "infolist_entry.h",
    "input_method.h",
    "input_method_auralinux.cc",
    "input_method_auralinux.h",
    "input_method_base.cc",
    "input_method_base.h",
    "input_method_chromeos.cc",
    "input_method_chromeos.h",
    "input_method_delegate.h",
    "input_method_factory.cc",
    "input_method_factory.h",
    "input_method_initializer.cc",
    "input_method_initializer.h",
    "input_method_mac.h",
    "input_method_mac.mm",
    "input_method_minimal.cc",
    "input_method_minimal.h",
    "input_method_observer.h",
    "input_method_win.cc",
    "input_method_win.h",
    "linux/fake_input_method_context.cc",
    "linux/fake_input_method_context.h",
    "linux/fake_input_method_context_factory.cc",
    "linux/fake_input_method_context_factory.h",
    "linux/linux_input_method_context.h",
    "linux/linux_input_method_context_factory.cc",
    "linux/linux_input_method_context_factory.h",
    "mock_input_method.cc",
    "mock_input_method.h",
    "remote_input_method_delegate_win.h",
    "remote_input_method_win.cc",
    "remote_input_method_win.h",
    "text_input_client.cc",
    "text_input_client.h",
    "text_input_focus_manager.cc",
    "text_input_focus_manager.h",
    "text_input_type.h",
    "win/imm32_manager.cc",
    "win/imm32_manager.h",
    "win/tsf_input_scope.cc",
    "win/tsf_input_scope.h",
  ]

  defines = [ "UI_BASE_IMPLEMENTATION" ]

  deps = [
    "//skia",
    "//ui/events",
  ]

  if (!toolkit_views && !use_aura) {
    sources -= [
      "input_method_factory.cc",
      "input_method_factory.h",
      "input_method_minimal.cc",
      "input_method_minimal.h",
    ]
  }
  if (is_chromeos) {
    deps += [
      "//chromeos",
    ]
  }
  if (!use_aura || (!is_linux && !use_ozone)) {
    sources -= [
      "input_method_auralinux.cc",
      "input_method_auralinux.h",
    ]
  }
  if (use_pango) {
    configs += [ "//build/config/linux:pangocairo" ]
  } else {
    sources -= [
      "composition_text_util_pango.cc",
      "composition_text_util_pango.h",
    ]
  }

  if (is_android) {
    deps -= [ "//ui/events" ]
  }
}