# 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/jumbo.gni") import("//build/config/linux/pangocairo/pangocairo.gni") import("//build/config/ui.gni") import("//testing/test.gni") source_set("text_input_types") { sources = [ "text_input_flags.h", "text_input_mode.h", "text_input_type.h", ] } jumbo_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/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_candidate_window_handler_interface.h", "chromeos/ime_keyboard.cc", "chromeos/ime_keyboard.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_util.cc", "chromeos/input_method_util.h", "chromeos/mock_component_extension_ime_manager.cc", "chromeos/mock_component_extension_ime_manager.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", "composition_text.cc", "composition_text.h", "ime_bridge.cc", "ime_bridge.h", "ime_engine_handler_interface.h", "ime_input_context_handler_interface.h", "ime_text_span.cc", "ime_text_span.h", "infolist_entry.cc", "infolist_entry.h", "input_method.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_keyboard_controller.h", "input_method_keyboard_controller_observer.h", "input_method_keyboard_controller_stub.cc", "input_method_keyboard_controller_stub.h", "input_method_mac.h", "input_method_mac.mm", "input_method_minimal.cc", "input_method_minimal.h", "input_method_observer.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_ime_input_context_handler.cc", "mock_ime_input_context_handler.h", "mock_input_method.cc", "mock_input_method.h", "text_edit_commands.h", "text_input_client.cc", "text_input_client.h", "ui_base_ime_export.h", "win/imm32_manager.cc", "win/imm32_manager.h", "win/on_screen_keyboard_display_manager_input_pane.cc", "win/on_screen_keyboard_display_manager_input_pane.h", "win/on_screen_keyboard_display_manager_tab_tip.cc", "win/on_screen_keyboard_display_manager_tab_tip.h", "win/tsf_bridge.cc", "win/tsf_bridge.h", "win/tsf_event_router.cc", "win/tsf_event_router.h", "win/tsf_input_scope.cc", "win/tsf_input_scope.h", "win/tsf_text_store.cc", "win/tsf_text_store.h", ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] defines = [ "UI_BASE_IME_IMPLEMENTATION" ] deps = [ "//base", "//base:i18n", "//base/third_party/dynamic_annotations", "//net", "//third_party/icu", "//ui/base", "//ui/base/ime/chromeos/public/interfaces", "//ui/display", "//ui/events", "//ui/gfx", "//ui/gfx/geometry", "//ui/gfx/range", "//url", ] public_deps = [ ":text_input_types", "//skia", ] if (is_desktop_linux) { sources += [ "input_method_auralinux.cc", "input_method_auralinux.h", ] } if (!is_chromeos && is_linux) { sources += [ "linux/text_edit_command_auralinux.cc", "linux/text_edit_command_auralinux.h", "linux/text_edit_key_bindings_delegate_auralinux.cc", "linux/text_edit_key_bindings_delegate_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", "//services/ui/public/cpp/input_devices", "//ui/chromeos/strings", "//ui/events:dom_keycode_converter", ] sources += [ "chromeos/ime_keyboard_mus.cc", "chromeos/ime_keyboard_mus.h", ] } if (use_pangocairo) { configs += [ "//build/config/linux/pangocairo" ] 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 = [ "/wd4324" ] # Structure was padded due to __declspec(align()), which is # uninteresting. sources += [ "input_method_win.cc", "input_method_win.h", "input_method_win_base.cc", "input_method_win_base.h", "input_method_win_tsf.cc", "input_method_win_tsf.h", ] libs = [ "imm32.lib" ] jumbo_excluded_sources = [ # tsf_text_store.cc needs INITGUID to be defined before # including any header to properly generate GUID objects. That # is not guaranteed when included in a jumbo build. "win/tsf_text_store.cc", ] } if (is_mac) { libs = [ "AppKit.framework" ] } }