summaryrefslogtreecommitdiffstats
path: root/ui/base
diff options
context:
space:
mode:
authorspang <spang@chromium.org>2015-02-05 11:55:12 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-05 19:56:47 +0000
commit1c36facc53f4a0038f2e2e482c78a65438cc8ec4 (patch)
tree2aa5ab5a94f2cf674dbc2872c22795b94e74c74e /ui/base
parent4514d31cc051b2099cd6fcc1a0a2a71bb1c5532e (diff)
downloadchromium_src-1c36facc53f4a0038f2e2e482c78a65438cc8ec4.zip
chromium_src-1c36facc53f4a0038f2e2e482c78a65438cc8ec4.tar.gz
chromium_src-1c36facc53f4a0038f2e2e482c78a65438cc8ec4.tar.bz2
Split ui/base/ime into a new component (reland with windows GN fix)
The IME code in ui/base/ime depends on ui/ozone to support keyboard control (via the InputController interface). This dependency is currently missing from the build. Unfortunately, we cannot simply add this dependency, because ui/ozone depends on code from ui/base/cursor and ui/base/resource (for cursor bitmaps). Break this cycle by componentizing ui/base/ime & add a dependency from the new ui/base/ime component to ui/ozone. This also helps clean things up a bit because iOS builds ui/base but not ui/base/ime. So there is already a fault line here. The handful of IME tests are left as part of ui_base_unittests. BUG=445627 TEST=gn gen out_gn_ozone --args='os="chromeos" use_ozone=true is_component_build=true' && ninja -C out_gn_ozone chrome ozone_unittests (along with other needed changes) TBR=jam Committed: https://crrev.com/2321ca1b99c1a8e9a90e48a9cd50f6446a7e5e82 Cr-Commit-Position: refs/heads/master@{#314815} Review URL: https://codereview.chromium.org/889323003 Cr-Commit-Position: refs/heads/master@{#314860}
Diffstat (limited to 'ui/base')
-rw-r--r--ui/base/BUILD.gn144
-rw-r--r--ui/base/ime/BUILD.gn180
-rw-r--r--ui/base/ime/candidate_window.h8
-rw-r--r--ui/base/ime/chromeos/character_composer.h4
-rw-r--r--ui/base/ime/chromeos/component_extension_ime_manager.h10
-rw-r--r--ui/base/ime/chromeos/composition_text.h4
-rw-r--r--ui/base/ime/chromeos/extension_ime_util.h40
-rw-r--r--ui/base/ime/chromeos/fake_ime_keyboard.h2
-rw-r--r--ui/base/ime/chromeos/fake_input_method_delegate.h4
-rw-r--r--ui/base/ime/chromeos/ime_bridge.h10
-rw-r--r--ui/base/ime/chromeos/ime_keyboard.h10
-rw-r--r--ui/base/ime/chromeos/ime_keyboard_ozone.h4
-rw-r--r--ui/base/ime/chromeos/ime_keyboard_x11.h4
-rw-r--r--ui/base/ime/chromeos/ime_keymap.h7
-rw-r--r--ui/base/ime/chromeos/input_method_descriptor.h4
-rw-r--r--ui/base/ime/chromeos/input_method_manager.h10
-rw-r--r--ui/base/ime/chromeos/input_method_whitelist.h4
-rw-r--r--ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h4
-rw-r--r--ui/base/ime/chromeos/mock_ime_candidate_window_handler.h4
-rw-r--r--ui/base/ime/chromeos/mock_ime_engine_handler.h5
-rw-r--r--ui/base/ime/chromeos/mock_ime_input_context_handler.h4
-rw-r--r--ui/base/ime/composition_text.h4
-rw-r--r--ui/base/ime/composition_text_util_pango.h4
-rw-r--r--ui/base/ime/dummy_input_method_delegate.h2
-rw-r--r--ui/base/ime/infolist_entry.h4
-rw-r--r--ui/base/ime/input_method_auralinux.h2
-rw-r--r--ui/base/ime/input_method_base.h8
-rw-r--r--ui/base/ime/input_method_chromeos.h2
-rw-r--r--ui/base/ime/input_method_delegate.h4
-rw-r--r--ui/base/ime/input_method_factory.h6
-rw-r--r--ui/base/ime/input_method_initializer.h10
-rw-r--r--ui/base/ime/input_method_mac.h2
-rw-r--r--ui/base/ime/input_method_minimal.h2
-rw-r--r--ui/base/ime/input_method_observer.h4
-rw-r--r--ui/base/ime/input_method_win.h2
-rw-r--r--ui/base/ime/linux/linux_input_method_context.h6
-rw-r--r--ui/base/ime/linux/linux_input_method_context_factory.h4
-rw-r--r--ui/base/ime/mock_input_method.h5
-rw-r--r--ui/base/ime/remote_input_method_delegate_win.h4
-rw-r--r--ui/base/ime/remote_input_method_win.h6
-rw-r--r--ui/base/ime/text_input_client.h4
-rw-r--r--ui/base/ime/text_input_focus_manager.h4
-rw-r--r--ui/base/ime/ui_base_ime.gyp186
-rw-r--r--ui/base/ime/ui_base_ime_export.h34
-rw-r--r--ui/base/ime/win/imm32_manager.h4
-rw-r--r--ui/base/ime/win/tsf_input_scope.h11
-rw-r--r--ui/base/ui_base.gyp125
-rw-r--r--ui/base/ui_base_tests.gyp1
48 files changed, 535 insertions, 381 deletions
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index b16f5a5..4529844 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -316,143 +316,6 @@ component("base") {
"//url",
]
- if (build_ime) {
- sources += [
- "ime/candidate_window.cc",
- "ime/candidate_window.h",
- "ime/chromeos/character_composer.cc",
- "ime/chromeos/character_composer.h",
- "ime/chromeos/component_extension_ime_manager.cc",
- "ime/chromeos/component_extension_ime_manager.h",
- "ime/chromeos/composition_text.cc",
- "ime/chromeos/composition_text.h",
- "ime/chromeos/extension_ime_util.cc",
- "ime/chromeos/extension_ime_util.h",
- "ime/chromeos/fake_ime_keyboard.cc",
- "ime/chromeos/fake_ime_keyboard.h",
- "ime/chromeos/fake_input_method_delegate.cc",
- "ime/chromeos/fake_input_method_delegate.h",
- "ime/chromeos/ime_bridge.cc",
- "ime/chromeos/ime_bridge.h",
- "ime/chromeos/ime_keyboard.cc",
- "ime/chromeos/ime_keyboard.h",
- "ime/chromeos/ime_keyboard_ozone.cc",
- "ime/chromeos/ime_keyboard_ozone.h",
- "ime/chromeos/ime_keyboard_x11.cc",
- "ime/chromeos/ime_keyboard_x11.h",
- "ime/chromeos/ime_keymap.cc",
- "ime/chromeos/ime_keymap.h",
- "ime/chromeos/input_method_delegate.h",
- "ime/chromeos/input_method_descriptor.cc",
- "ime/chromeos/input_method_descriptor.h",
- "ime/chromeos/input_method_manager.cc",
- "ime/chromeos/input_method_manager.h",
- "ime/chromeos/input_method_whitelist.cc",
- "ime/chromeos/input_method_whitelist.h",
- "ime/chromeos/mock_component_extension_ime_manager_delegate.cc",
- "ime/chromeos/mock_component_extension_ime_manager_delegate.h",
- "ime/chromeos/mock_ime_candidate_window_handler.cc",
- "ime/chromeos/mock_ime_candidate_window_handler.h",
- "ime/chromeos/mock_ime_engine_handler.cc",
- "ime/chromeos/mock_ime_engine_handler.h",
- "ime/chromeos/mock_ime_input_context_handler.cc",
- "ime/chromeos/mock_ime_input_context_handler.h",
- "ime/composition_text.cc",
- "ime/composition_text.h",
- "ime/composition_text_util_pango.cc",
- "ime/composition_text_util_pango.h",
- "ime/composition_underline.h",
- "ime/dummy_input_method_delegate.cc",
- "ime/dummy_input_method_delegate.h",
- "ime/infolist_entry.cc",
- "ime/infolist_entry.h",
- "ime/input_method.h",
- "ime/input_method_auralinux.cc",
- "ime/input_method_auralinux.h",
- "ime/input_method_base.cc",
- "ime/input_method_base.h",
- "ime/input_method_chromeos.cc",
- "ime/input_method_chromeos.h",
- "ime/input_method_delegate.h",
- "ime/input_method_factory.cc",
- "ime/input_method_factory.h",
- "ime/input_method_initializer.cc",
- "ime/input_method_initializer.h",
- "ime/input_method_mac.h",
- "ime/input_method_mac.mm",
- "ime/input_method_minimal.cc",
- "ime/input_method_minimal.h",
- "ime/input_method_observer.h",
- "ime/input_method_win.cc",
- "ime/input_method_win.h",
- "ime/linux/fake_input_method_context.cc",
- "ime/linux/fake_input_method_context.h",
- "ime/linux/fake_input_method_context_factory.cc",
- "ime/linux/fake_input_method_context_factory.h",
- "ime/linux/linux_input_method_context.h",
- "ime/linux/linux_input_method_context_factory.cc",
- "ime/linux/linux_input_method_context_factory.h",
- "ime/mock_input_method.cc",
- "ime/mock_input_method.h",
- "ime/remote_input_method_delegate_win.h",
- "ime/remote_input_method_win.cc",
- "ime/remote_input_method_win.h",
- "ime/text_input_client.cc",
- "ime/text_input_client.h",
- "ime/text_input_focus_manager.cc",
- "ime/text_input_focus_manager.h",
- "ime/text_input_type.h",
- "ime/win/imm32_manager.cc",
- "ime/win/imm32_manager.h",
- "ime/win/tsf_input_scope.cc",
- "ime/win/tsf_input_scope.h",
- ]
-
- if (!use_aura || (!is_linux && !use_ozone)) {
- sources -= [
- "ime/input_method_auralinux.cc",
- "ime/input_method_auralinux.h",
- ]
- }
-
- if (!toolkit_views && !use_aura) {
- sources -= [
- "ime/input_method_factory.cc",
- "ime/input_method_factory.h",
- "ime/input_method_minimal.cc",
- "ime/input_method_minimal.h",
- ]
- }
-
- if (is_chromeos) {
- deps += [
- "//chromeos",
- "//chromeos/ime:gencode",
- ]
- if (!use_ozone) {
- sources -= [
- "ime/chromeos/ime_keyboard_ozone.cc",
- "ime/chromeos/ime_keyboard_ozone.h",
- ]
- }
- if (!use_x11) {
- sources -= [
- "ime/chromeos/ime_keyboard_x11.cc",
- "ime/chromeos/ime_keyboard_x11.h",
- ]
- }
- }
-
- if (use_pango) {
- configs += [ "//build/config/linux:pangocairo" ]
- } else {
- sources -= [
- "ime/composition_text_util_pango.cc",
- "ime/composition_text_util_pango.h",
- ]
- }
- }
-
if (is_ios) {
sources += [
"l10n/l10n_util_mac.h",
@@ -563,7 +426,6 @@ component("base") {
"d2d1.lib",
"d3d10_1.lib",
"dwmapi.lib",
- "imm32.lib",
"d2d1.lib",
"dwmapi.lib",
"oleacc.lib",
@@ -730,6 +592,8 @@ source_set("test_support") {
"ime/dummy_text_input_client.cc",
"ime/dummy_text_input_client.h",
]
+
+ deps += [ "//ui/base/ime" ]
}
if (!use_aura) {
@@ -856,6 +720,10 @@ test("ui_base_unittests") {
# TODO(GYP) lots of iOS-only steps for ui_base_unittests
}
+ if (build_ime) {
+ deps += [ "//ui/base/ime" ]
+ }
+
if (is_win) {
sources += [
"dragdrop/os_exchange_data_win_unittest.cc",
diff --git a/ui/base/ime/BUILD.gn b/ui/base/ime/BUILD.gn
new file mode 100644
index 0000000..53b002e
--- /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",
+ ]
+ }
+}
diff --git a/ui/base/ime/candidate_window.h b/ui/base/ime/candidate_window.h
index 6ae6dd8..f8c967e 100644
--- a/ui/base/ime/candidate_window.h
+++ b/ui/base/ime/candidate_window.h
@@ -10,19 +10,19 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
#include "ui/base/ime/infolist_entry.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
// CandidateWindow represents the structure of candidates generated from IME.
-class UI_BASE_EXPORT CandidateWindow {
+class UI_BASE_IME_EXPORT CandidateWindow {
public:
enum Orientation {
HORIZONTAL = 0,
VERTICAL = 1,
};
- struct UI_BASE_EXPORT CandidateWindowProperty {
+ struct UI_BASE_IME_EXPORT CandidateWindowProperty {
CandidateWindowProperty();
virtual ~CandidateWindowProperty();
int page_size;
@@ -38,7 +38,7 @@ class UI_BASE_EXPORT CandidateWindow {
};
// Represents a candidate entry.
- struct UI_BASE_EXPORT Entry {
+ struct UI_BASE_IME_EXPORT Entry {
Entry();
virtual ~Entry();
base::string16 value;
diff --git a/ui/base/ime/chromeos/character_composer.h b/ui/base/ime/chromeos/character_composer.h
index 5d4267f..7c32d93 100644
--- a/ui/base/ime/chromeos/character_composer.h
+++ b/ui/base/ime/chromeos/character_composer.h
@@ -8,14 +8,14 @@
#include <vector>
#include "base/strings/string_util.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
class KeyEvent;
// A class to recognize compose and dead key sequence.
// Outputs composed character.
-class UI_BASE_EXPORT CharacterComposer {
+class UI_BASE_IME_EXPORT CharacterComposer {
public:
CharacterComposer();
~CharacterComposer();
diff --git a/ui/base/ime/chromeos/component_extension_ime_manager.h b/ui/base/ime/chromeos/component_extension_ime_manager.h
index 6d4032c..cdb9d757 100644
--- a/ui/base/ime/chromeos/component_extension_ime_manager.h
+++ b/ui/base/ime/chromeos/component_extension_ime_manager.h
@@ -12,14 +12,14 @@
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
#include "ui/base/ime/chromeos/input_method_descriptor.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
class Profile;
namespace chromeos {
// Represents an engine in component extension IME.
-struct UI_BASE_EXPORT ComponentExtensionEngine {
+struct UI_BASE_IME_EXPORT ComponentExtensionEngine {
ComponentExtensionEngine();
~ComponentExtensionEngine();
std::string engine_id; // The engine id.
@@ -33,7 +33,7 @@ struct UI_BASE_EXPORT ComponentExtensionEngine {
};
// Represents a component extension IME.
-struct UI_BASE_EXPORT ComponentExtensionIME {
+struct UI_BASE_IME_EXPORT ComponentExtensionIME {
ComponentExtensionIME();
~ComponentExtensionIME();
std::string id; // extension id.
@@ -45,7 +45,7 @@ struct UI_BASE_EXPORT ComponentExtensionIME {
};
// Provides an interface to list/load/unload for component extension IME.
-class UI_BASE_EXPORT ComponentExtensionIMEManagerDelegate {
+class UI_BASE_IME_EXPORT ComponentExtensionIMEManagerDelegate {
public:
ComponentExtensionIMEManagerDelegate();
virtual ~ComponentExtensionIMEManagerDelegate();
@@ -67,7 +67,7 @@ class UI_BASE_EXPORT ComponentExtensionIMEManagerDelegate {
};
// This class manages component extension input method.
-class UI_BASE_EXPORT ComponentExtensionIMEManager {
+class UI_BASE_IME_EXPORT ComponentExtensionIMEManager {
public:
ComponentExtensionIMEManager();
virtual ~ComponentExtensionIMEManager();
diff --git a/ui/base/ime/chromeos/composition_text.h b/ui/base/ime/chromeos/composition_text.h
index 6060928..90b8a8c 100644
--- a/ui/base/ime/chromeos/composition_text.h
+++ b/ui/base/ime/chromeos/composition_text.h
@@ -10,11 +10,11 @@
#include "base/basictypes.h"
#include "base/strings/string16.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
-class UI_BASE_EXPORT CompositionText {
+class UI_BASE_IME_EXPORT CompositionText {
public:
enum UnderlineType {
COMPOSITION_TEXT_UNDERLINE_SINGLE = 1,
diff --git a/ui/base/ime/chromeos/extension_ime_util.h b/ui/base/ime/chromeos/extension_ime_util.h
index 3f52d39..08dbc7b 100644
--- a/ui/base/ime/chromeos/extension_ime_util.h
+++ b/ui/base/ime/chromeos/extension_ime_util.h
@@ -8,7 +8,7 @@
#include <string>
#include "base/auto_reset.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
@@ -38,60 +38,60 @@ const char kChineseCangjieExtensionId[] = "aeebooiibjahgpgmhkeocbeekccfknbj";
// Returns InputMethodID for |engine_id| in |extension_id| of extension IME.
// This function does not check |extension_id| is installed extension IME nor
// |engine_id| is really a member of |extension_id|.
-std::string UI_BASE_EXPORT GetInputMethodID(const std::string& extension_id,
- const std::string& engine_id);
+std::string UI_BASE_IME_EXPORT
+GetInputMethodID(const std::string& extension_id, const std::string& engine_id);
// Returns InputMethodID for |engine_id| in |extension_id| of component
// extension IME, This function does not check |extension_id| is component one
// nor |engine_id| is really a member of |extension_id|.
-std::string UI_BASE_EXPORT GetComponentInputMethodID(
- const std::string& extension_id,
- const std::string& engine_id);
+std::string UI_BASE_IME_EXPORT
+GetComponentInputMethodID(const std::string& extension_id,
+ const std::string& engine_id);
// Returns extension ID if |input_method_id| is extension IME ID or component
// extension IME ID. Otherwise returns an empty string ("").
-std::string UI_BASE_EXPORT GetExtensionIDFromInputMethodID(
- const std::string& input_method_id);
+std::string UI_BASE_IME_EXPORT
+GetExtensionIDFromInputMethodID(const std::string& input_method_id);
// Returns InputMethodID from engine id (e.g. xkb:fr:fra), or returns itself if
// the |engine_id| is not a known engine id.
// The caller must make sure the |engine_id| is from system input methods
// instead of 3rd party input methods.
-std::string UI_BASE_EXPORT GetInputMethodIDByEngineID(
- const std::string& engine_id);
+std::string UI_BASE_IME_EXPORT
+GetInputMethodIDByEngineID(const std::string& engine_id);
// Returns true if |input_method_id| is extension IME ID. This function does not
// check |input_method_id| is installed extension IME.
-bool UI_BASE_EXPORT IsExtensionIME(const std::string& input_method_id);
+bool UI_BASE_IME_EXPORT IsExtensionIME(const std::string& input_method_id);
// Returns true if |input_method_id| is component extension IME ID. This
// function does not check |input_method_id| is really whitelisted one or not.
// If you want to check |input_method_id| is whitelisted component extension
// IME, please use ComponentExtensionIMEManager::IsWhitelisted instead.
-bool UI_BASE_EXPORT IsComponentExtensionIME(
- const std::string& input_method_id);
+bool UI_BASE_IME_EXPORT
+IsComponentExtensionIME(const std::string& input_method_id);
// Returns true if the |input_method| is a member of |extension_id| of extension
// IME, otherwise returns false.
-bool UI_BASE_EXPORT IsMemberOfExtension(const std::string& input_method_id,
+bool UI_BASE_IME_EXPORT IsMemberOfExtension(const std::string& input_method_id,
const std::string& extension_id);
// Returns true if the |input_method_id| is the extension based xkb keyboard,
// otherwise returns false.
-bool UI_BASE_EXPORT IsKeyboardLayoutExtension(
- const std::string& input_method_id);
+bool UI_BASE_IME_EXPORT
+IsKeyboardLayoutExtension(const std::string& input_method_id);
// Returns input method component id from the extension-based InputMethodID
// for component IME extensions. This function does not check that
// |input_method_id| is installed.
-std::string UI_BASE_EXPORT
- GetComponentIDByInputMethodID(const std::string& input_method_id);
+std::string UI_BASE_IME_EXPORT
+GetComponentIDByInputMethodID(const std::string& input_method_id);
// Gets legacy xkb id (e.g. xkb:us::eng) from the new extension based xkb id
// (e.g. _comp_ime_...xkb:us::eng). If the given id is not prefixed with
// 'xkb:', just return the same as the given id.
-std::string UI_BASE_EXPORT MaybeGetLegacyXkbId(
- const std::string& input_method_id);
+std::string UI_BASE_IME_EXPORT
+MaybeGetLegacyXkbId(const std::string& input_method_id);
} // namespace extension_ime_util
diff --git a/ui/base/ime/chromeos/fake_ime_keyboard.h b/ui/base/ime/chromeos/fake_ime_keyboard.h
index 771aaab..02ba308 100644
--- a/ui/base/ime/chromeos/fake_ime_keyboard.h
+++ b/ui/base/ime/chromeos/fake_ime_keyboard.h
@@ -14,7 +14,7 @@
namespace chromeos {
namespace input_method {
-class UI_BASE_EXPORT FakeImeKeyboard : public ImeKeyboard {
+class UI_BASE_IME_EXPORT FakeImeKeyboard : public ImeKeyboard {
public:
FakeImeKeyboard();
~FakeImeKeyboard() override;
diff --git a/ui/base/ime/chromeos/fake_input_method_delegate.h b/ui/base/ime/chromeos/fake_input_method_delegate.h
index 6ce324c..b9b7aa1 100644
--- a/ui/base/ime/chromeos/fake_input_method_delegate.h
+++ b/ui/base/ime/chromeos/fake_input_method_delegate.h
@@ -11,12 +11,12 @@
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "ui/base/ime/chromeos/input_method_delegate.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
namespace input_method {
-class UI_BASE_EXPORT FakeInputMethodDelegate : public InputMethodDelegate {
+class UI_BASE_IME_EXPORT FakeInputMethodDelegate : public InputMethodDelegate {
public:
typedef base::Callback<base::string16 (const std::string& language_code)>
LanguageNameLocalizationCallback;
diff --git a/ui/base/ime/chromeos/ime_bridge.h b/ui/base/ime/chromeos/ime_bridge.h
index c8c7203..caf631e 100644
--- a/ui/base/ime/chromeos/ime_bridge.h
+++ b/ui/base/ime/chromeos/ime_bridge.h
@@ -12,7 +12,7 @@
#include "base/strings/string16.h"
#include "ui/base/ime/text_input_mode.h"
#include "ui/base/ime/text_input_type.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace gfx {
class Rect;
@@ -27,7 +27,7 @@ namespace chromeos {
class CompositionText;
-class UI_BASE_EXPORT IMEInputContextHandlerInterface {
+class UI_BASE_IME_EXPORT IMEInputContextHandlerInterface {
public:
// Called when the engine commit a text.
virtual void CommitText(const std::string& text) = 0;
@@ -43,7 +43,7 @@ class UI_BASE_EXPORT IMEInputContextHandlerInterface {
// A interface to handle the engine handler method call.
-class UI_BASE_EXPORT IMEEngineHandlerInterface {
+class UI_BASE_IME_EXPORT IMEEngineHandlerInterface {
public:
typedef base::Callback<void (bool consumed)> KeyEventDoneCallback;
@@ -111,7 +111,7 @@ class UI_BASE_EXPORT IMEEngineHandlerInterface {
};
// A interface to handle the candidate window related method call.
-class UI_BASE_EXPORT IMECandidateWindowHandlerInterface {
+class UI_BASE_IME_EXPORT IMECandidateWindowHandlerInterface {
public:
virtual ~IMECandidateWindowHandlerInterface() {}
@@ -140,7 +140,7 @@ class UI_BASE_EXPORT IMECandidateWindowHandlerInterface {
// IMEBridge provides access of each IME related handler. This class
// is used for IME implementation.
-class UI_BASE_EXPORT IMEBridge {
+class UI_BASE_IME_EXPORT IMEBridge {
public:
virtual ~IMEBridge();
diff --git a/ui/base/ime/chromeos/ime_keyboard.h b/ui/base/ime/chromeos/ime_keyboard.h
index 5fa5e13..2c0e912 100644
--- a/ui/base/ime/chromeos/ime_keyboard.h
+++ b/ui/base/ime/chromeos/ime_keyboard.h
@@ -10,7 +10,7 @@
#include "base/basictypes.h"
#include "base/observer_list.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
namespace input_method {
@@ -35,7 +35,7 @@ enum ModifierKey {
class InputMethodUtil;
-class UI_BASE_EXPORT ImeKeyboard {
+class UI_BASE_IME_EXPORT ImeKeyboard {
public:
class Observer {
public:
@@ -101,16 +101,16 @@ class UI_BASE_EXPORT ImeKeyboard {
// On success, set current auto repeat rate on |out_rate| and returns true.
// Returns false otherwise. This function is protected: for testability.
- static UI_BASE_EXPORT bool GetAutoRepeatRateForTesting(
+ static UI_BASE_IME_EXPORT bool GetAutoRepeatRateForTesting(
AutoRepeatRate* out_rate);
// Returns false if |layout_name| contains a bad character.
- static UI_BASE_EXPORT bool CheckLayoutNameForTesting(
+ static UI_BASE_IME_EXPORT bool CheckLayoutNameForTesting(
const std::string& layout_name);
// Note: At this moment, classes other than InputMethodManager should not
// instantiate the ImeKeyboard class.
- static UI_BASE_EXPORT ImeKeyboard* Create();
+ static UI_BASE_IME_EXPORT ImeKeyboard* Create();
bool caps_lock_is_enabled_;
std::string last_layout_;
diff --git a/ui/base/ime/chromeos/ime_keyboard_ozone.h b/ui/base/ime/chromeos/ime_keyboard_ozone.h
index f41d9a0..e9813c7 100644
--- a/ui/base/ime/chromeos/ime_keyboard_ozone.h
+++ b/ui/base/ime/chromeos/ime_keyboard_ozone.h
@@ -10,7 +10,7 @@
#include <string>
#include "base/compiler_specific.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
class InputController;
@@ -19,7 +19,7 @@ class InputController;
namespace chromeos {
namespace input_method {
-class UI_BASE_EXPORT ImeKeyboardOzone : public ImeKeyboard {
+class UI_BASE_IME_EXPORT ImeKeyboardOzone : public ImeKeyboard {
public:
ImeKeyboardOzone(ui::InputController* controller);
~ImeKeyboardOzone() override;
diff --git a/ui/base/ime/chromeos/ime_keyboard_x11.h b/ui/base/ime/chromeos/ime_keyboard_x11.h
index 6faad10..6b9da52 100644
--- a/ui/base/ime/chromeos/ime_keyboard_x11.h
+++ b/ui/base/ime/chromeos/ime_keyboard_x11.h
@@ -24,12 +24,12 @@
#include "base/strings/stringprintf.h"
#include "base/sys_info.h"
#include "base/threading/thread_checker.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
namespace input_method {
-class UI_BASE_EXPORT ImeKeyboardX11 : public ImeKeyboard {
+class UI_BASE_IME_EXPORT ImeKeyboardX11 : public ImeKeyboard {
public:
ImeKeyboardX11();
~ImeKeyboardX11() override;
diff --git a/ui/base/ime/chromeos/ime_keymap.h b/ui/base/ime/chromeos/ime_keymap.h
index a4cdf0d..4a87a6a 100644
--- a/ui/base/ime/chromeos/ime_keymap.h
+++ b/ui/base/ime/chromeos/ime_keymap.h
@@ -7,16 +7,17 @@
#include <string>
#include "base/basictypes.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/events/keycodes/keyboard_codes.h"
namespace ui {
// Translates the DOM4 key code string to ui::KeyboardCode.
-UI_BASE_EXPORT KeyboardCode DomKeycodeToKeyboardCode(const std::string& code);
+UI_BASE_IME_EXPORT KeyboardCode
+DomKeycodeToKeyboardCode(const std::string& code);
// Translates the ui::KeyboardCode to DOM4 key code string.
-UI_BASE_EXPORT std::string KeyboardCodeToDomKeycode(KeyboardCode code);
+UI_BASE_IME_EXPORT std::string KeyboardCodeToDomKeycode(KeyboardCode code);
} // namespace ui
diff --git a/ui/base/ime/chromeos/input_method_descriptor.h b/ui/base/ime/chromeos/input_method_descriptor.h
index 760da51..188e370 100644
--- a/ui/base/ime/chromeos/input_method_descriptor.h
+++ b/ui/base/ime/chromeos/input_method_descriptor.h
@@ -9,14 +9,14 @@
#include <vector>
#include "base/basictypes.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "url/gurl.h"
namespace chromeos {
namespace input_method {
// A structure which represents an input method.
-class UI_BASE_EXPORT InputMethodDescriptor {
+class UI_BASE_IME_EXPORT InputMethodDescriptor {
public:
InputMethodDescriptor();
InputMethodDescriptor(const std::string& id,
diff --git a/ui/base/ime/chromeos/input_method_manager.h b/ui/base/ime/chromeos/input_method_manager.h
index d469e31..a7eb3a9 100644
--- a/ui/base/ime/chromeos/input_method_manager.h
+++ b/ui/base/ime/chromeos/input_method_manager.h
@@ -12,7 +12,7 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "ui/base/ime/chromeos/input_method_descriptor.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
class Profile;
@@ -34,7 +34,7 @@ class ImeKeyboard;
// This class manages input methodshandles. Classes can add themselves as
// observers. Clients can get an instance of this library class by:
// InputMethodManager::Get().
-class UI_BASE_EXPORT InputMethodManager {
+class UI_BASE_IME_EXPORT InputMethodManager {
public:
enum UISessionState {
STATE_LOGIN_SCREEN = 0,
@@ -181,16 +181,16 @@ class UI_BASE_EXPORT InputMethodManager {
// Gets the global instance of InputMethodManager. Initialize() must be called
// first.
- static UI_BASE_EXPORT InputMethodManager* Get();
+ static UI_BASE_IME_EXPORT InputMethodManager* Get();
// Sets the global instance. |instance| will be owned by the internal pointer
// and deleted by Shutdown().
// TODO(nona): Instanciate InputMethodManagerImpl inside of this function once
// crbug.com/164375 is fixed.
- static UI_BASE_EXPORT void Initialize(InputMethodManager* instance);
+ static UI_BASE_IME_EXPORT void Initialize(InputMethodManager* instance);
// Destroy the global instance.
- static UI_BASE_EXPORT void Shutdown();
+ static UI_BASE_IME_EXPORT void Shutdown();
// Get the current UI session state (e.g. login screen, lock screen, etc.).
virtual UISessionState GetUISessionState() = 0;
diff --git a/ui/base/ime/chromeos/input_method_whitelist.h b/ui/base/ime/chromeos/input_method_whitelist.h
index d2fc1ce..1da5fc1 100644
--- a/ui/base/ime/chromeos/input_method_whitelist.h
+++ b/ui/base/ime/chromeos/input_method_whitelist.h
@@ -11,7 +11,7 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
namespace input_method {
@@ -21,7 +21,7 @@ typedef std::vector<InputMethodDescriptor> InputMethodDescriptors;
// A class which has white listed input method list. The list is generated by
// gen_input_methods.py from input_methods.txt.
-class UI_BASE_EXPORT InputMethodWhitelist {
+class UI_BASE_IME_EXPORT InputMethodWhitelist {
public:
InputMethodWhitelist();
~InputMethodWhitelist();
diff --git a/ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h b/ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h
index e2cead1..5bc4822 100644
--- a/ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h
+++ b/ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h
@@ -6,12 +6,12 @@
#define UI_BASE_IME_CHROMEOS_MOCK_COMPONENT_EXTENSION_IME_MANAGER_DELEGATE_H_
#include "ui/base/ime/chromeos/component_extension_ime_manager.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
namespace input_method {
-class UI_BASE_EXPORT MockComponentExtIMEManagerDelegate
+class UI_BASE_IME_EXPORT MockComponentExtIMEManagerDelegate
: public ComponentExtensionIMEManagerDelegate {
public:
MockComponentExtIMEManagerDelegate();
diff --git a/ui/base/ime/chromeos/mock_ime_candidate_window_handler.h b/ui/base/ime/chromeos/mock_ime_candidate_window_handler.h
index 2393eb3..9c53e33 100644
--- a/ui/base/ime/chromeos/mock_ime_candidate_window_handler.h
+++ b/ui/base/ime/chromeos/mock_ime_candidate_window_handler.h
@@ -7,11 +7,11 @@
#include "ui/base/ime/candidate_window.h"
#include "ui/base/ime/chromeos/ime_bridge.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
-class UI_BASE_EXPORT MockIMECandidateWindowHandler
+class UI_BASE_IME_EXPORT MockIMECandidateWindowHandler
: public IMECandidateWindowHandlerInterface {
public:
struct UpdateLookupTableArg {
diff --git a/ui/base/ime/chromeos/mock_ime_engine_handler.h b/ui/base/ime/chromeos/mock_ime_engine_handler.h
index 90eaf5c..b37a62f 100644
--- a/ui/base/ime/chromeos/mock_ime_engine_handler.h
+++ b/ui/base/ime/chromeos/mock_ime_engine_handler.h
@@ -6,12 +6,13 @@
#define UI_BASE_IME_CHROMEOS_MOCK_IME_ENGINE_HANDLER_H_
#include "ui/base/ime/chromeos/ime_bridge.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/events/event.h"
namespace chromeos {
-class UI_BASE_EXPORT MockIMEEngineHandler : public IMEEngineHandlerInterface {
+class UI_BASE_IME_EXPORT MockIMEEngineHandler
+ : public IMEEngineHandlerInterface {
public:
MockIMEEngineHandler();
~MockIMEEngineHandler() override;
diff --git a/ui/base/ime/chromeos/mock_ime_input_context_handler.h b/ui/base/ime/chromeos/mock_ime_input_context_handler.h
index 3f99315..5eefe6e 100644
--- a/ui/base/ime/chromeos/mock_ime_input_context_handler.h
+++ b/ui/base/ime/chromeos/mock_ime_input_context_handler.h
@@ -7,11 +7,11 @@
#include "ui/base/ime/chromeos/composition_text.h"
#include "ui/base/ime/chromeos/ime_bridge.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace chromeos {
-class UI_BASE_EXPORT MockIMEInputContextHandler
+class UI_BASE_IME_EXPORT MockIMEInputContextHandler
: public IMEInputContextHandlerInterface {
public:
struct UpdateCompositionTextArg {
diff --git a/ui/base/ime/composition_text.h b/ui/base/ime/composition_text.h
index e4974bd..063592e 100644
--- a/ui/base/ime/composition_text.h
+++ b/ui/base/ime/composition_text.h
@@ -7,13 +7,13 @@
#include "base/strings/string16.h"
#include "ui/base/ime/composition_underline.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/gfx/range/range.h"
namespace ui {
// A struct represents the status of an ongoing composition text.
-struct UI_BASE_EXPORT CompositionText {
+struct UI_BASE_IME_EXPORT CompositionText {
CompositionText();
~CompositionText();
diff --git a/ui/base/ime/composition_text_util_pango.h b/ui/base/ime/composition_text_util_pango.h
index 1116fd9..ae53ebb 100644
--- a/ui/base/ime/composition_text_util_pango.h
+++ b/ui/base/ime/composition_text_util_pango.h
@@ -6,7 +6,7 @@
#define UI_BASE_IME_COMPOSITION_TEXT_UTIL_PANGO_H_
#include "ui/base/glib/glib_integers.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
typedef struct _PangoAttrList PangoAttrList;
@@ -16,7 +16,7 @@ struct CompositionText;
// Extracts composition text information (text, underlines, selection range)
// from given Gtk preedit data (utf-8 text, pango attributes, cursor position).
-UI_BASE_EXPORT void ExtractCompositionTextFromGtkPreedit(
+UI_BASE_IME_EXPORT void ExtractCompositionTextFromGtkPreedit(
const gchar* utf8_text,
PangoAttrList* attrs,
int cursor_position,
diff --git a/ui/base/ime/dummy_input_method_delegate.h b/ui/base/ime/dummy_input_method_delegate.h
index db5a5e3..5bbd382 100644
--- a/ui/base/ime/dummy_input_method_delegate.h
+++ b/ui/base/ime/dummy_input_method_delegate.h
@@ -12,7 +12,7 @@
namespace ui {
namespace internal {
-class UI_BASE_EXPORT DummyInputMethodDelegate : public InputMethodDelegate {
+class UI_BASE_IME_EXPORT DummyInputMethodDelegate : public InputMethodDelegate {
public:
DummyInputMethodDelegate();
~DummyInputMethodDelegate() override;
diff --git a/ui/base/ime/infolist_entry.h b/ui/base/ime/infolist_entry.h
index 3cb7672..a19d854 100644
--- a/ui/base/ime/infolist_entry.h
+++ b/ui/base/ime/infolist_entry.h
@@ -6,12 +6,12 @@
#define UI_BASE_IME_INFOLIST_ENTRY_H_
#include "base/strings/string16.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
// The data model of infolist window.
-struct UI_BASE_EXPORT InfolistEntry {
+struct UI_BASE_IME_EXPORT InfolistEntry {
base::string16 title;
base::string16 body;
bool highlighted;
diff --git a/ui/base/ime/input_method_auralinux.h b/ui/base/ime/input_method_auralinux.h
index be8851a..fbba625f 100644
--- a/ui/base/ime/input_method_auralinux.h
+++ b/ui/base/ime/input_method_auralinux.h
@@ -14,7 +14,7 @@ namespace ui {
// A ui::InputMethod implementation for Aura on Linux platforms. The
// implementation details are separated to ui::LinuxInputMethodContext
// interface.
-class UI_BASE_EXPORT InputMethodAuraLinux
+class UI_BASE_IME_EXPORT InputMethodAuraLinux
: public InputMethodBase,
public LinuxInputMethodContextDelegate {
public:
diff --git a/ui/base/ime/input_method_base.h b/ui/base/ime/input_method_base.h
index 4d732cd..ce76d40 100644
--- a/ui/base/ime/input_method_base.h
+++ b/ui/base/ime/input_method_base.h
@@ -10,7 +10,7 @@
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "ui/base/ime/input_method.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace gfx {
class Rect;
@@ -24,9 +24,9 @@ class TextInputClient;
// A helper class providing functionalities shared among ui::InputMethod
// implementations.
-class UI_BASE_EXPORT InputMethodBase
- : NON_EXPORTED_BASE(public InputMethod),
- public base::SupportsWeakPtr<InputMethodBase> {
+class UI_BASE_IME_EXPORT InputMethodBase
+ : NON_EXPORTED_BASE(public InputMethod),
+ public base::SupportsWeakPtr<InputMethodBase> {
public:
InputMethodBase();
~InputMethodBase() override;
diff --git a/ui/base/ime/input_method_chromeos.h b/ui/base/ime/input_method_chromeos.h
index 3de4157..f091223 100644
--- a/ui/base/ime/input_method_chromeos.h
+++ b/ui/base/ime/input_method_chromeos.h
@@ -20,7 +20,7 @@
namespace ui {
// A ui::InputMethod implementation based on IBus.
-class UI_BASE_EXPORT InputMethodChromeOS
+class UI_BASE_IME_EXPORT InputMethodChromeOS
: public InputMethodBase,
public chromeos::IMEInputContextHandlerInterface {
public:
diff --git a/ui/base/ime/input_method_delegate.h b/ui/base/ime/input_method_delegate.h
index 080a8f6..eed2724 100644
--- a/ui/base/ime/input_method_delegate.h
+++ b/ui/base/ime/input_method_delegate.h
@@ -5,7 +5,7 @@
#ifndef UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
#define UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
@@ -15,7 +15,7 @@ namespace internal {
// An interface implemented by the object that handles events sent back from an
// ui::InputMethod implementation.
-class UI_BASE_EXPORT InputMethodDelegate {
+class UI_BASE_IME_EXPORT InputMethodDelegate {
public:
virtual ~InputMethodDelegate() {}
diff --git a/ui/base/ime/input_method_factory.h b/ui/base/ime/input_method_factory.h
index 3debc82..d3a6e25 100644
--- a/ui/base/ime/input_method_factory.h
+++ b/ui/base/ime/input_method_factory.h
@@ -9,7 +9,7 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "ui/base/ime/input_method_initializer.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/gfx/native_widget_types.h"
namespace ui {
@@ -20,12 +20,12 @@ class InputMethodDelegate;
class InputMethod;
// Creates a new instance of InputMethod and returns it.
-UI_BASE_EXPORT scoped_ptr<InputMethod> CreateInputMethod(
+UI_BASE_IME_EXPORT scoped_ptr<InputMethod> CreateInputMethod(
internal::InputMethodDelegate* delegate,
gfx::AcceleratedWidget widget);
// Makes CreateInputMethod return a MockInputMethod.
-UI_BASE_EXPORT void SetUpInputMethodFactoryForTesting();
+UI_BASE_IME_EXPORT void SetUpInputMethodFactoryForTesting();
} // namespace ui;
diff --git a/ui/base/ime/input_method_initializer.h b/ui/base/ime/input_method_initializer.h
index 065e53e..787d7cc 100644
--- a/ui/base/ime/input_method_initializer.h
+++ b/ui/base/ime/input_method_initializer.h
@@ -6,25 +6,25 @@
#define UI_BASE_IME_INPUT_METHOD_INITIALIZER_H_
#include "base/basictypes.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
// Initializes thread-local resources for input method. This function should be
// called in the UI thread before input method is used.
-UI_BASE_EXPORT void InitializeInputMethod();
+UI_BASE_IME_EXPORT void InitializeInputMethod();
// Shutdown thread-local resources for input method. This function should be
// called in the UI thread after input method is used.
-UI_BASE_EXPORT void ShutdownInputMethod();
+UI_BASE_IME_EXPORT void ShutdownInputMethod();
// Initializes thread-local resources for input method. This function is
// intended to be called from Setup function of unit tests.
-UI_BASE_EXPORT void InitializeInputMethodForTesting();
+UI_BASE_IME_EXPORT void InitializeInputMethodForTesting();
// Initializes thread-local resources for input method. This function is
// intended to be called from TearDown function of unit tests.
-UI_BASE_EXPORT void ShutdownInputMethodForTesting();
+UI_BASE_IME_EXPORT void ShutdownInputMethodForTesting();
} // namespace ui
diff --git a/ui/base/ime/input_method_mac.h b/ui/base/ime/input_method_mac.h
index d910fa1..24c8430 100644
--- a/ui/base/ime/input_method_mac.h
+++ b/ui/base/ime/input_method_mac.h
@@ -13,7 +13,7 @@ namespace ui {
// On the Mac, key events don't pass through InputMethod.
// Instead, NSTextInputClient calls are bridged to the currently focused
// ui::TextInputClient object.
-class UI_BASE_EXPORT InputMethodMac : public InputMethodBase {
+class UI_BASE_IME_EXPORT InputMethodMac : public InputMethodBase {
public:
explicit InputMethodMac(internal::InputMethodDelegate* delegate);
~InputMethodMac() override;
diff --git a/ui/base/ime/input_method_minimal.h b/ui/base/ime/input_method_minimal.h
index b797eb8..d66810e 100644
--- a/ui/base/ime/input_method_minimal.h
+++ b/ui/base/ime/input_method_minimal.h
@@ -11,7 +11,7 @@ namespace ui {
// A minimal implementation of ui::InputMethod, which supports only the direct
// input without any compositions or conversions.
-class UI_BASE_EXPORT InputMethodMinimal : public InputMethodBase {
+class UI_BASE_IME_EXPORT InputMethodMinimal : public InputMethodBase {
public:
explicit InputMethodMinimal(internal::InputMethodDelegate* delegate);
~InputMethodMinimal() override;
diff --git a/ui/base/ime/input_method_observer.h b/ui/base/ime/input_method_observer.h
index d3432c9..945545e 100644
--- a/ui/base/ime/input_method_observer.h
+++ b/ui/base/ime/input_method_observer.h
@@ -5,14 +5,14 @@
#ifndef UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
#define UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
class InputMethod;
class TextInputClient;
-class UI_BASE_EXPORT InputMethodObserver {
+class UI_BASE_IME_EXPORT InputMethodObserver {
public:
virtual ~InputMethodObserver() {}
diff --git a/ui/base/ime/input_method_win.h b/ui/base/ime/input_method_win.h
index b6d5320..4bddcfb 100644
--- a/ui/base/ime/input_method_win.h
+++ b/ui/base/ime/input_method_win.h
@@ -17,7 +17,7 @@
namespace ui {
// A common InputMethod implementation based on IMM32.
-class UI_BASE_EXPORT InputMethodWin : public InputMethodBase {
+class UI_BASE_IME_EXPORT InputMethodWin : public InputMethodBase {
public:
InputMethodWin(internal::InputMethodDelegate* delegate,
HWND toplevel_window_handle);
diff --git a/ui/base/ime/linux/linux_input_method_context.h b/ui/base/ime/linux/linux_input_method_context.h
index 0bcfd0a..09fc04b 100644
--- a/ui/base/ime/linux/linux_input_method_context.h
+++ b/ui/base/ime/linux/linux_input_method_context.h
@@ -7,7 +7,7 @@
#include "base/strings/string16.h"
#include "ui/base/ime/text_input_type.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace gfx {
class Rect;
@@ -20,7 +20,7 @@ class KeyEvent;
// An interface of input method context for input method frameworks on
// GNU/Linux and likes.
-class UI_BASE_EXPORT LinuxInputMethodContext {
+class UI_BASE_IME_EXPORT LinuxInputMethodContext {
public:
virtual ~LinuxInputMethodContext() {}
@@ -42,7 +42,7 @@ class UI_BASE_EXPORT LinuxInputMethodContext {
};
// An interface of callback functions called from LinuxInputMethodContext.
-class UI_BASE_EXPORT LinuxInputMethodContextDelegate {
+class UI_BASE_IME_EXPORT LinuxInputMethodContextDelegate {
public:
virtual ~LinuxInputMethodContextDelegate() {}
diff --git a/ui/base/ime/linux/linux_input_method_context_factory.h b/ui/base/ime/linux/linux_input_method_context_factory.h
index af2a3a0..8f07943 100644
--- a/ui/base/ime/linux/linux_input_method_context_factory.h
+++ b/ui/base/ime/linux/linux_input_method_context_factory.h
@@ -6,7 +6,7 @@
#define UI_BASE_IME_LINUX_LINUX_INPUT_METHOD_CONTEXT_FACTORY_H_
#include "base/memory/scoped_ptr.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
@@ -16,7 +16,7 @@ class LinuxInputMethodContextDelegate;
// An interface that lets different Linux platforms override the
// CreateInputMethodContext function declared here to return native input method
// contexts.
-class UI_BASE_EXPORT LinuxInputMethodContextFactory {
+class UI_BASE_IME_EXPORT LinuxInputMethodContextFactory {
public:
// Returns the current active factory or NULL.
static const LinuxInputMethodContextFactory* instance();
diff --git a/ui/base/ime/mock_input_method.h b/ui/base/ime/mock_input_method.h
index b88787c..5d85482 100644
--- a/ui/base/ime/mock_input_method.h
+++ b/ui/base/ime/mock_input_method.h
@@ -12,7 +12,7 @@
#include "base/observer_list.h"
#include "ui/base/ime/input_method.h"
#include "ui/base/ime/input_method_observer.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
@@ -23,7 +23,8 @@ class TextInputClient;
// of this class as the global input method with calling
// SetUpInputMethodFactoryForTesting() which is declared in
// ui/base/ime/input_method_factory.h
-class UI_BASE_EXPORT MockInputMethod : NON_EXPORTED_BASE(public InputMethod) {
+class UI_BASE_IME_EXPORT MockInputMethod
+ : NON_EXPORTED_BASE(public InputMethod) {
public:
explicit MockInputMethod(internal::InputMethodDelegate* delegate);
~MockInputMethod() override;
diff --git a/ui/base/ime/remote_input_method_delegate_win.h b/ui/base/ime/remote_input_method_delegate_win.h
index 0946331..b65d8c3 100644
--- a/ui/base/ime/remote_input_method_delegate_win.h
+++ b/ui/base/ime/remote_input_method_delegate_win.h
@@ -8,7 +8,7 @@
#include <vector>
#include "base/basictypes.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/gfx/geometry/rect.h"
namespace ui {
@@ -16,7 +16,7 @@ namespace internal {
// An interface implemented by the object to forward events that should be
// handled by the IME which is running in the remote metro_driver process.
-class UI_BASE_EXPORT RemoteInputMethodDelegateWin {
+class UI_BASE_IME_EXPORT RemoteInputMethodDelegateWin {
public:
virtual ~RemoteInputMethodDelegateWin() {}
diff --git a/ui/base/ime/remote_input_method_win.h b/ui/base/ime/remote_input_method_win.h
index 5258f3d..3f822cf 100644
--- a/ui/base/ime/remote_input_method_win.h
+++ b/ui/base/ime/remote_input_method_win.h
@@ -13,7 +13,7 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/gfx/native_widget_types.h"
namespace ui {
@@ -46,11 +46,11 @@ bool IsRemoteInputMethodWinRequired(gfx::AcceleratedWidget widget);
// Returns the public interface of RemoteInputMethodWin.
// Caveats: Currently only one instance of RemoteInputMethodWin is able to run
// at the same time.
-UI_BASE_EXPORT scoped_ptr<InputMethod> CreateRemoteInputMethodWin(
+UI_BASE_IME_EXPORT scoped_ptr<InputMethod> CreateRemoteInputMethodWin(
internal::InputMethodDelegate* delegate);
// Private interface of RemoteInputMethodWin.
-class UI_BASE_EXPORT RemoteInputMethodPrivateWin {
+class UI_BASE_IME_EXPORT RemoteInputMethodPrivateWin {
public:
RemoteInputMethodPrivateWin();
diff --git a/ui/base/ime/text_input_client.h b/ui/base/ime/text_input_client.h
index 582a0d3..19c602c 100644
--- a/ui/base/ime/text_input_client.h
+++ b/ui/base/ime/text_input_client.h
@@ -11,7 +11,7 @@
#include "ui/base/ime/composition_text.h"
#include "ui/base/ime/text_input_mode.h"
#include "ui/base/ime/text_input_type.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/range/range.h"
@@ -22,7 +22,7 @@ class Rect;
namespace ui {
// An interface implemented by a View that needs text input support.
-class UI_BASE_EXPORT TextInputClient {
+class UI_BASE_IME_EXPORT TextInputClient {
public:
virtual ~TextInputClient();
diff --git a/ui/base/ime/text_input_focus_manager.h b/ui/base/ime/text_input_focus_manager.h
index 22f47e3..88bf3fc 100644
--- a/ui/base/ime/text_input_focus_manager.h
+++ b/ui/base/ime/text_input_focus_manager.h
@@ -7,7 +7,7 @@
#include "base/macros.h"
#include "base/threading/thread_checker.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
template <typename T> struct DefaultSingletonTraits;
@@ -16,7 +16,7 @@ namespace ui {
class TextInputClient;
// Manages the focused TextInputClient across windows and their contents.
-class UI_BASE_EXPORT TextInputFocusManager {
+class UI_BASE_IME_EXPORT TextInputFocusManager {
public:
static TextInputFocusManager* GetInstance();
diff --git a/ui/base/ime/ui_base_ime.gyp b/ui/base/ime/ui_base_ime.gyp
new file mode 100644
index 0000000..e58be98
--- /dev/null
+++ b/ui/base/ime/ui_base_ime.gyp
@@ -0,0 +1,186 @@
+# 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.
+
+{
+ 'variables': {
+ 'chromium_code': 1,
+ },
+ 'targets': [
+ {
+ # GN version: //ui/base/ime
+ 'target_name': 'ui_base_ime',
+ 'type': '<(component)',
+ 'dependencies': [
+ '../../../base/base.gyp:base',
+ '../../../base/base.gyp:base_i18n',
+ '../../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
+ '../../../skia/skia.gyp:skia',
+ '../../../third_party/icu/icu.gyp:icui18n',
+ '../../../third_party/icu/icu.gyp:icuuc',
+ '../../../url/url.gyp:url_lib',
+ '../../events/events.gyp:events',
+ '../../events/events.gyp:events_base',
+ '../../gfx/gfx.gyp:gfx',
+ '../../gfx/gfx.gyp:gfx_geometry',
+ '../ui_base.gyp:ui_base',
+ ],
+ 'defines': [
+ 'UI_BASE_IME_IMPLEMENTATION',
+ ],
+ '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',
+ ],
+ 'conditions': [
+ ['use_ozone==1', {
+ 'dependencies': [
+ '../../events/ozone/events_ozone.gyp:events_ozone_layout',
+ '../../ozone/ozone.gyp:ozone',
+ ],
+ }],
+ ['use_pango==1', {
+ 'dependencies': [
+ '../../../build/linux/system.gyp:pangocairo',
+ ],
+ }],
+ ['OS=="win"', {
+ # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int
+ # C4324 is structure was padded due to __declspec(align()), which is
+ # uninteresting.
+ 'msvs_disabled_warnings': [ 4267, 4324 ],
+ 'link_settings': {
+ 'libraries': [
+ '-limm32.lib',
+ ],
+ },
+ }],
+ ['use_x11==1', {
+ 'dependencies': [
+ '../../../build/linux/system.gyp:x11',
+ '../../gfx/x/gfx_x11.gyp:gfx_x11',
+ ],
+ }],
+ ['toolkit_views==0 and use_aura==0', {
+ 'sources!': [
+ 'input_method_factory.cc',
+ 'input_method_factory.h',
+ 'input_method_minimal.cc',
+ 'input_method_minimal.h',
+ ],
+ }],
+ ['chromeos==1', {
+ 'dependencies': [
+ '../../../chromeos/chromeos.gyp:chromeos',
+ ],
+ }],
+ ['use_aura==0 or (desktop_linux==0 and use_ozone==0)', {
+ 'sources!': [
+ 'input_method_auralinux.cc',
+ 'input_method_auralinux.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',
+ ],
+ }],
+ ['use_x11==0', {
+ 'sources!': [
+ 'composition_text_util_pango.cc',
+ 'composition_text_util_pango.h',
+ ],
+ }],
+ ],
+ },
+ ],
+}
diff --git a/ui/base/ime/ui_base_ime_export.h b/ui/base/ime/ui_base_ime_export.h
new file mode 100644
index 0000000..955502f
--- /dev/null
+++ b/ui/base/ime/ui_base_ime_export.h
@@ -0,0 +1,34 @@
+// 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.
+
+#ifndef UI_BASE_IME_UI_BASE_IME_EXPORT_H_
+#define UI_BASE_IME_UI_BASE_IME_EXPORT_H_
+
+#if defined(COMPONENT_BUILD)
+
+#if defined(WIN32)
+
+#if defined(UI_BASE_IME_IMPLEMENTATION)
+#define UI_BASE_IME_EXPORT __declspec(dllexport)
+#else
+#define UI_BASE_IME_EXPORT __declspec(dllimport)
+#endif
+
+#else // !defined(WIN32)
+
+#if defined(UI_BASE_IME_IMPLEMENTATION)
+#define UI_BASE_IME_EXPORT __attribute__((visibility("default")))
+#else
+#define UI_BASE_IME_EXPORT
+#endif
+
+#endif
+
+#else // !defined(COMPONENT_BUILD)
+
+#define UI_BASE_IME_EXPORT
+
+#endif
+
+#endif // UI_BASE_IME_UI_BASE_IME_EXPORT_H_
diff --git a/ui/base/ime/win/imm32_manager.h b/ui/base/ime/win/imm32_manager.h
index 83a03f4..a1e473c 100644
--- a/ui/base/ime/win/imm32_manager.h
+++ b/ui/base/ime/win/imm32_manager.h
@@ -14,7 +14,7 @@
#include "base/i18n/rtl.h"
#include "base/strings/string16.h"
#include "ui/base/ime/text_input_mode.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
#include "ui/gfx/geometry/rect.h"
namespace ui {
@@ -74,7 +74,7 @@ struct CompositionText;
// hand, we can NEVER disable either TSF or CUAS in Windows Vista, i.e.
// THIS CLASS IS NOT ONLY USED ON THE INPUT CONTEXTS OF EAST-ASIAN
// LANGUAGES BUT ALSO USED ON THE INPUT CONTEXTS OF ALL LANGUAGES.
-class UI_BASE_EXPORT IMM32Manager {
+class UI_BASE_IME_EXPORT IMM32Manager {
public:
IMM32Manager();
virtual ~IMM32Manager();
diff --git a/ui/base/ime/win/tsf_input_scope.h b/ui/base/ime/win/tsf_input_scope.h
index 536d395..6d95405 100644
--- a/ui/base/ime/win/tsf_input_scope.h
+++ b/ui/base/ime/win/tsf_input_scope.h
@@ -12,7 +12,7 @@
#include "base/basictypes.h"
#include "ui/base/ime/text_input_mode.h"
#include "ui/base/ime/text_input_type.h"
-#include "ui/base/ui_base_export.h"
+#include "ui/base/ime/ui_base_ime_export.h"
namespace ui {
namespace tsf_inputscope {
@@ -20,7 +20,7 @@ namespace tsf_inputscope {
// Returns InputScope list corresoponding to ui::TextInputType and
// ui::TextInputMode.
// This function is only used from following functions but declared for test.
-UI_BASE_EXPORT std::vector<InputScope> GetInputScopes(
+UI_BASE_IME_EXPORT std::vector<InputScope> GetInputScopes(
TextInputType text_input_type,
TextInputMode text_input_mode);
@@ -30,14 +30,15 @@ UI_BASE_EXPORT std::vector<InputScope> GetInputScopes(
// in the target field.
// The returned instance has 0 reference count. The caller must maintain its
// reference count.
-UI_BASE_EXPORT ITfInputScope* CreateInputScope(TextInputType text_input_type,
- TextInputMode text_input_mode);
+UI_BASE_IME_EXPORT ITfInputScope* CreateInputScope(
+ TextInputType text_input_type,
+ TextInputMode text_input_mode);
// A wrapper of the SetInputScopes API exported by msctf.dll.
// http://msdn.microsoft.com/en-us/library/windows/desktop/ms629026.aspx
// Does nothing on Windows XP in case TSF is disabled.
// NOTE: For TSF-aware window, you should use ITfInputScope instead.
-UI_BASE_EXPORT void SetInputScopeForTsfUnawareWindow(
+UI_BASE_IME_EXPORT void SetInputScopeForTsfUnawareWindow(
HWND window_handle,
TextInputType text_input_type,
TextInputMode text_input_mode);
diff --git a/ui/base/ui_base.gyp b/ui/base/ui_base.gyp
index 3b00473..1d7614c 100644
--- a/ui/base/ui_base.gyp
+++ b/ui/base/ui_base.gyp
@@ -200,94 +200,6 @@
'idle/idle_win.cc',
'idle/screensaver_window_finder_x11.cc',
'idle/screensaver_window_finder_x11.h',
- 'ime/candidate_window.cc',
- 'ime/candidate_window.h',
- 'ime/chromeos/character_composer.cc',
- 'ime/chromeos/character_composer.h',
- 'ime/chromeos/component_extension_ime_manager.cc',
- 'ime/chromeos/component_extension_ime_manager.h',
- 'ime/chromeos/composition_text.cc',
- 'ime/chromeos/composition_text.h',
- 'ime/chromeos/extension_ime_util.cc',
- 'ime/chromeos/extension_ime_util.h',
- 'ime/chromeos/fake_ime_keyboard.cc',
- 'ime/chromeos/fake_ime_keyboard.h',
- 'ime/chromeos/fake_input_method_delegate.cc',
- 'ime/chromeos/fake_input_method_delegate.h',
- 'ime/chromeos/ime_bridge.cc',
- 'ime/chromeos/ime_bridge.h',
- 'ime/chromeos/ime_keyboard.cc',
- 'ime/chromeos/ime_keyboard.h',
- 'ime/chromeos/ime_keyboard_ozone.cc',
- 'ime/chromeos/ime_keyboard_ozone.h',
- 'ime/chromeos/ime_keyboard_x11.cc',
- 'ime/chromeos/ime_keyboard_x11.h',
- 'ime/chromeos/ime_keymap.cc',
- 'ime/chromeos/ime_keymap.h',
- 'ime/chromeos/input_method_delegate.h',
- 'ime/chromeos/input_method_descriptor.cc',
- 'ime/chromeos/input_method_descriptor.h',
- 'ime/chromeos/input_method_manager.cc',
- 'ime/chromeos/input_method_manager.h',
- 'ime/chromeos/input_method_whitelist.cc',
- 'ime/chromeos/input_method_whitelist.h',
- 'ime/chromeos/mock_component_extension_ime_manager_delegate.cc',
- 'ime/chromeos/mock_component_extension_ime_manager_delegate.h',
- 'ime/chromeos/mock_ime_candidate_window_handler.cc',
- 'ime/chromeos/mock_ime_candidate_window_handler.h',
- 'ime/chromeos/mock_ime_engine_handler.cc',
- 'ime/chromeos/mock_ime_engine_handler.h',
- 'ime/chromeos/mock_ime_input_context_handler.cc',
- 'ime/chromeos/mock_ime_input_context_handler.h',
- 'ime/composition_text.cc',
- 'ime/composition_text.h',
- 'ime/composition_text_util_pango.cc',
- 'ime/composition_text_util_pango.h',
- 'ime/composition_underline.h',
- 'ime/dummy_input_method_delegate.cc',
- 'ime/dummy_input_method_delegate.h',
- 'ime/infolist_entry.cc',
- 'ime/infolist_entry.h',
- 'ime/input_method.h',
- 'ime/input_method_auralinux.cc',
- 'ime/input_method_auralinux.h',
- 'ime/input_method_base.cc',
- 'ime/input_method_base.h',
- 'ime/input_method_chromeos.cc',
- 'ime/input_method_chromeos.h',
- 'ime/input_method_delegate.h',
- 'ime/input_method_factory.cc',
- 'ime/input_method_factory.h',
- 'ime/input_method_initializer.cc',
- 'ime/input_method_initializer.h',
- 'ime/input_method_mac.h',
- 'ime/input_method_mac.mm',
- 'ime/input_method_minimal.cc',
- 'ime/input_method_minimal.h',
- 'ime/input_method_observer.h',
- 'ime/input_method_win.cc',
- 'ime/input_method_win.h',
- 'ime/linux/fake_input_method_context.cc',
- 'ime/linux/fake_input_method_context.h',
- 'ime/linux/fake_input_method_context_factory.cc',
- 'ime/linux/fake_input_method_context_factory.h',
- 'ime/linux/linux_input_method_context.h',
- 'ime/linux/linux_input_method_context_factory.cc',
- 'ime/linux/linux_input_method_context_factory.h',
- 'ime/mock_input_method.cc',
- 'ime/mock_input_method.h',
- 'ime/remote_input_method_delegate_win.h',
- 'ime/remote_input_method_win.cc',
- 'ime/remote_input_method_win.h',
- 'ime/text_input_client.cc',
- 'ime/text_input_client.h',
- 'ime/text_input_focus_manager.cc',
- 'ime/text_input_focus_manager.h',
- 'ime/text_input_type.h',
- 'ime/win/imm32_manager.cc',
- 'ime/win/imm32_manager.h',
- 'ime/win/tsf_input_scope.cc',
- 'ime/win/tsf_input_scope.h',
'l10n/formatter.cc',
'l10n/formatter.h',
'l10n/l10n_font_util.cc',
@@ -582,7 +494,6 @@
},
'link_settings': {
'libraries': [
- '-limm32.lib',
'-ld2d1.lib',
'-ldwmapi.lib',
'-loleacc.lib',
@@ -706,14 +617,6 @@
# ui to be a hard dependency for all its users.
'hard_dependency': 1,
}],
- ['toolkit_views==0 and use_aura==0', {
- 'sources!': [
- 'ime/input_method_factory.cc',
- 'ime/input_method_factory.h',
- 'ime/input_method_minimal.cc',
- 'ime/input_method_minimal.h',
- ],
- }],
['chromeos==1', {
'dependencies': [
'../../chromeos/chromeos.gyp:chromeos',
@@ -726,31 +629,6 @@
'idle/screensaver_window_finder_x11.h',
],
}],
- ['OS!="win"', {
- 'sources!': [
- 'ime/input_method_imm32.cc',
- 'ime/input_method_imm32.h',
- ],
- }],
- ['use_aura==0 or (desktop_linux==0 and use_ozone==0)', {
- 'sources!': [
- 'ime/input_method_auralinux.cc',
- 'ime/input_method_auralinux.h',
- 'ime/linux/fake_input_method_context.cc',
- 'ime/linux/fake_input_method_context.h',
- 'ime/linux/fake_input_method_context_factory.cc',
- 'ime/linux/fake_input_method_context_factory.h',
- 'ime/linux/linux_input_method_context.h',
- 'ime/linux/linux_input_method_context_factory.cc',
- 'ime/linux/linux_input_method_context_factory.h',
- ],
- }],
- ['use_x11==0', {
- 'sources!': [
- 'ime/composition_text_util_pango.cc',
- 'ime/composition_text_util_pango.h',
- ],
- }],
],
},
{
@@ -780,6 +658,9 @@
'conditions': [
['OS!="ios"', {
'type': 'static_library',
+ 'dependecies': [
+ 'ime/ui_base_ime.gyp:ui_base_ime',
+ ],
'sources': [
'ime/dummy_input_method.cc',
'ime/dummy_input_method.h',
diff --git a/ui/base/ui_base_tests.gyp b/ui/base/ui_base_tests.gyp
index 287761d..fe1ccc2 100644
--- a/ui/base/ui_base_tests.gyp
+++ b/ui/base/ui_base_tests.gyp
@@ -26,6 +26,7 @@
'../resources/ui_resources.gyp:ui_resources',
'../resources/ui_resources.gyp:ui_test_pak',
'../strings/ui_strings.gyp:ui_strings',
+ 'ime/ui_base_ime.gyp:ui_base_ime',
'ui_base.gyp:ui_base',
'ui_base.gyp:ui_base_test_support',
],