diff options
author | spang <spang@chromium.org> | 2015-02-05 07:45:36 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-05 15:46:32 +0000 |
commit | 2321ca1b99c1a8e9a90e48a9cd50f6446a7e5e82 (patch) | |
tree | af0a8cf1ce253892fab0a5b2d2186a5b430a288d /ui/base/ime | |
parent | f6e654986dbda503d573f7551973264219e8fb1f (diff) | |
download | chromium_src-2321ca1b99c1a8e9a90e48a9cd50f6446a7e5e82.zip chromium_src-2321ca1b99c1a8e9a90e48a9cd50f6446a7e5e82.tar.gz chromium_src-2321ca1b99c1a8e9a90e48a9cd50f6446a7e5e82.tar.bz2 |
Split ui/base/ime into a new component
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
Review URL: https://codereview.chromium.org/889323003
Cr-Commit-Position: refs/heads/master@{#314815}
Diffstat (limited to 'ui/base/ime')
45 files changed, 524 insertions, 121 deletions
diff --git a/ui/base/ime/BUILD.gn b/ui/base/ime/BUILD.gn new file mode 100644 index 0000000..e9e0cb5 --- /dev/null +++ b/ui/base/ime/BUILD.gn @@ -0,0 +1,179 @@ +# 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) { + 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); |