| # 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/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_types") { |
| output_name = "ui_base_ime_types" |
| sources = [ |
| "candidate_window.cc", |
| "candidate_window.h", |
| "composition_text.cc", |
| "composition_text.h", |
| "ime_text_span.cc", |
| "ime_text_span.h", |
| "infolist_entry.cc", |
| "infolist_entry.h", |
| "ui_base_ime_types_export.h", |
| ] |
| |
| defines = [ "UI_BASE_IME_TYPES_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//base", |
| "//ui/gfx/range", |
| ] |
| |
| public_deps = [ |
| ":text_input_types", |
| "//skia", |
| ] |
| |
| if (is_chromeos || use_ozone) { |
| sources += [ |
| "character_composer.cc", |
| "character_composer.h", |
| ] |
| deps += [ |
| "//ui/events:dom_keycode_converter", |
| "//ui/events:events", |
| "//ui/events:events_base", |
| ] |
| } |
| } |
| |
| jumbo_component("ime") { |
| output_name = "ui_base_ime" |
| sources = [ |
| "constants.cc", |
| "constants.h", |
| "ime_bridge.cc", |
| "ime_bridge.h", |
| "ime_engine_handler_interface.h", |
| "ime_input_context_handler_interface.h", |
| "input_method.h", |
| "input_method_base.cc", |
| "input_method_base.h", |
| "input_method_chromeos.cc", |
| "input_method_chromeos.h", |
| "input_method_delegate.cc", |
| "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", |
| "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", |
| ] |
| |
| if (is_chromeos) { |
| sources += [ |
| "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", |
| ] |
| } |
| |
| # 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/display", |
| "//ui/events", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gfx/range", |
| "//url", |
| ] |
| |
| public_deps = [ |
| ":ime_types", |
| ] |
| |
| if (is_desktop_linux) { |
| sources += [ |
| "input_method_auralinux.cc", |
| "input_method_auralinux.h", |
| ] |
| } |
| |
| if (is_linux) { |
| public_deps += [ "//ui/base/ime/linux" ] |
| } |
| |
| 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", |
| "//chromeos/ime:gencode", |
| "//services/ws/public/cpp/input_devices", |
| "//ui/base/ime/chromeos/public/interfaces", |
| "//ui/chromeos/strings", |
| ] |
| 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_base.cc", |
| "input_method_win_base.h", |
| "input_method_win_imm32.cc", |
| "input_method_win_imm32.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" ] |
| } |
| |
| if (is_fuchsia) { |
| sources += [ |
| "fuchsia/input_method_keyboard_controller_fuchsia.cc", |
| "fuchsia/input_method_keyboard_controller_fuchsia.h", |
| "input_method_fuchsia.cc", |
| "input_method_fuchsia.h", |
| ] |
| |
| deps += [ |
| "//third_party/fuchsia-sdk/sdk:ui_input", |
| "//ui/events", |
| "//ui/events:dom_keycode_converter", |
| ] |
| } |
| } |