Index: ui/base/ime/BUILD.gn |
diff --git a/ui/base/ime/BUILD.gn b/ui/base/ime/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..53b002e44c9682c84580ffd370a3ebbf2e4deb3f |
--- /dev/null |
+++ b/ui/base/ime/BUILD.gn |
@@ -0,0 +1,180 @@ |
+# Copyright 2015 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") |
+import("//testing/test.gni") |
+ |
+component("ime") { |
+ output_name = "ui_base_ime" |
+ sources = [ |
+ "candidate_window.cc", |
+ "candidate_window.h", |
+ "chromeos/character_composer.cc", |
+ "chromeos/character_composer.h", |
+ "chromeos/component_extension_ime_manager.cc", |
+ "chromeos/component_extension_ime_manager.h", |
+ "chromeos/composition_text.cc", |
+ "chromeos/composition_text.h", |
+ "chromeos/extension_ime_util.cc", |
+ "chromeos/extension_ime_util.h", |
+ "chromeos/fake_ime_keyboard.cc", |
+ "chromeos/fake_ime_keyboard.h", |
+ "chromeos/fake_input_method_delegate.cc", |
+ "chromeos/fake_input_method_delegate.h", |
+ "chromeos/ime_bridge.cc", |
+ "chromeos/ime_bridge.h", |
+ "chromeos/ime_keyboard.cc", |
+ "chromeos/ime_keyboard.h", |
+ "chromeos/ime_keyboard_ozone.cc", |
+ "chromeos/ime_keyboard_ozone.h", |
+ "chromeos/ime_keyboard_x11.cc", |
+ "chromeos/ime_keyboard_x11.h", |
+ "chromeos/ime_keymap.cc", |
+ "chromeos/ime_keymap.h", |
+ "chromeos/input_method_delegate.h", |
+ "chromeos/input_method_descriptor.cc", |
+ "chromeos/input_method_descriptor.h", |
+ "chromeos/input_method_manager.cc", |
+ "chromeos/input_method_manager.h", |
+ "chromeos/input_method_whitelist.cc", |
+ "chromeos/input_method_whitelist.h", |
+ "chromeos/mock_component_extension_ime_manager_delegate.cc", |
+ "chromeos/mock_component_extension_ime_manager_delegate.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", |
+ "ui_base_ime_export.h", |
+ "win/imm32_manager.cc", |
+ "win/imm32_manager.h", |
+ "win/tsf_input_scope.cc", |
+ "win/tsf_input_scope.h", |
+ ] |
+ |
+ defines = [ "UI_BASE_IME_IMPLEMENTATION" ] |
+ |
+ deps = [ |
+ "//base", |
+ "//base/third_party/dynamic_annotations", |
+ "//base:i18n", |
+ "//net", |
+ "//third_party/icu", |
+ "//ui/base", |
+ "//ui/events", |
+ "//ui/gfx", |
+ "//ui/gfx/geometry", |
+ "//url", |
+ ] |
+ |
+ if (!use_aura || (!is_linux && !use_ozone)) { |
+ sources -= [ |
+ "input_method_auralinux.cc", |
+ "input_method_auralinux.h", |
+ ] |
+ } |
+ |
+ 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", |
+ "//chromeos/ime:gencode", |
+ ] |
+ if (!use_ozone) { |
+ sources -= [ |
+ "chromeos/ime_keyboard_ozone.cc", |
+ "chromeos/ime_keyboard_ozone.h", |
+ ] |
+ } |
+ if (!use_x11) { |
+ sources -= [ |
+ "chromeos/ime_keyboard_x11.cc", |
+ "chromeos/ime_keyboard_x11.h", |
+ ] |
+ } |
+ } |
+ |
+ if (use_pango) { |
+ configs += [ "//build/config/linux:pangocairo" ] |
+ } else { |
+ sources -= [ |
+ "composition_text_util_pango.cc", |
+ "composition_text_util_pango.h", |
+ ] |
+ } |
+ if (use_x11) { |
+ configs += [ "//build/config/linux:x11" ] |
+ deps += [ "//ui/gfx/x" ] |
+ } |
+ |
+ if (is_win) { |
+ cflags = [ |
+ "/wd4267", # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int. |
+ "/wd4324", # Structure was padded due to __declspec(align()), which is |
+ # uninteresting. |
+ ] |
+ libs = [ "imm32.lib" ] |
+ } |
+ |
+ if (use_ozone) { |
+ deps += [ |
+ "//ui/ozone", |
+ "//ui/events/ozone:events_ozone_layout", |
+ ] |
+ } |
+} |