diff options
author | uekawa@chromium.org <uekawa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-05 08:49:38 +0000 |
---|---|---|
committer | uekawa@chromium.org <uekawa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-05 08:49:38 +0000 |
commit | 4a9b24a11773f1eb6f39bd24825b924871736304 (patch) | |
tree | faa13a3e9656e02c8245a22fffb2d1478aad83f0 | |
parent | 3dc87e57acb4b771e2d4c11f65bd873fbd78cd62 (diff) | |
download | chromium_src-4a9b24a11773f1eb6f39bd24825b924871736304.zip chromium_src-4a9b24a11773f1eb6f39bd24825b924871736304.tar.gz chromium_src-4a9b24a11773f1eb6f39bd24825b924871736304.tar.bz2 |
Rename IBusText to CompositionText, because it's not about IBus anymore, but it is about Composition text.
Rename preedit to composition on the way.
BUG=283612
Review URL: https://codereview.chromium.org/153573002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248930 0039d316-1c4b-4281-b951-d872f2087c98
15 files changed, 187 insertions, 163 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_engine.cc b/chrome/browser/chromeos/input_method/input_method_engine.cc index 98f63fc..a1d8d3d 100644 --- a/chrome/browser/chromeos/input_method/input_method_engine.cc +++ b/chrome/browser/chromeos/input_method/input_method_engine.cc @@ -21,9 +21,9 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "chromeos/ime/component_extension_ime_manager.h" +#include "chromeos/ime/composition_text.h" #include "chromeos/ime/extension_ime_util.h" #include "chromeos/ime/ibus_keymap.h" -#include "chromeos/ime/ibus_text.h" #include "chromeos/ime/input_method_manager.h" #include "ui/aura/root_window.h" #include "ui/aura/window.h" @@ -37,18 +37,18 @@ namespace chromeos { const char* kErrorNotActive = "IME is not active"; const char* kErrorWrongContext = "Context is not active"; const char* kCandidateNotFound = "Candidate not found"; -const char* kEngineBusPrefix = "org.freedesktop.IBus."; namespace { -// Notifies InputContextHandler that the preedit is changed. -void UpdatePreedit(const IBusText& ibus_text, - uint32 cursor_pos, - bool is_visible) { +// Notifies InputContextHandler that the composition is changed. +void UpdateComposition(const CompositionText& composition_text, + uint32 cursor_pos, + bool is_visible) { IBusInputContextHandlerInterface* input_context = IMEBridge::Get()->GetInputContextHandler(); if (input_context) - input_context->UpdatePreeditText(ibus_text, cursor_pos, is_visible); + input_context->UpdateCompositionText( + composition_text, cursor_pos, is_visible); } } // namespace @@ -59,8 +59,8 @@ InputMethodEngine::InputMethodEngine() context_id_(0), next_context_id_(1), observer_(NULL), - preedit_text_(new IBusText()), - preedit_cursor_(0), + composition_text_(new CompositionText()), + composition_cursor_(0), candidate_window_(new ui::CandidateWindow()), window_visible_(false) {} @@ -138,24 +138,24 @@ bool InputMethodEngine::SetComposition( return false; } - preedit_cursor_ = cursor; - preedit_text_.reset(new IBusText()); - preedit_text_->set_text(text); + composition_cursor_ = cursor; + composition_text_.reset(new CompositionText()); + composition_text_->set_text(text); - preedit_text_->set_selection_start(selection_start); - preedit_text_->set_selection_end(selection_end); + composition_text_->set_selection_start(selection_start); + composition_text_->set_selection_end(selection_end); // TODO: Add support for displaying selected text in the composition string. for (std::vector<SegmentInfo>::const_iterator segment = segments.begin(); segment != segments.end(); ++segment) { - IBusText::UnderlineAttribute underline; + CompositionText::UnderlineAttribute underline; switch (segment->style) { case SEGMENT_STYLE_UNDERLINE: - underline.type = IBusText::IBUS_TEXT_UNDERLINE_SINGLE; + underline.type = CompositionText::COMPOSITION_TEXT_UNDERLINE_SINGLE; break; case SEGMENT_STYLE_DOUBLE_UNDERLINE: - underline.type = IBusText::IBUS_TEXT_UNDERLINE_DOUBLE; + underline.type = CompositionText::COMPOSITION_TEXT_UNDERLINE_DOUBLE; break; default: continue; @@ -163,11 +163,11 @@ bool InputMethodEngine::SetComposition( underline.start_index = segment->start; underline.end_index = segment->end; - preedit_text_->mutable_underline_attributes()->push_back(underline); + composition_text_->mutable_underline_attributes()->push_back(underline); } // TODO(nona): Makes focus out mode configuable, if necessary. - UpdatePreedit(*preedit_text_, preedit_cursor_, true); + UpdateComposition(*composition_text_, composition_cursor_, true); return true; } @@ -182,9 +182,9 @@ bool InputMethodEngine::ClearComposition(int context_id, return false; } - preedit_cursor_ = 0; - preedit_text_.reset(new IBusText()); - UpdatePreedit(*preedit_text_, preedit_cursor_, false); + composition_cursor_ = 0; + composition_text_.reset(new CompositionText()); + UpdateComposition(*composition_text_, composition_cursor_, false); return true; } diff --git a/chrome/browser/chromeos/input_method/input_method_engine.h b/chrome/browser/chromeos/input_method/input_method_engine.h index 0eb4cce..ce817d38 100644 --- a/chrome/browser/chromeos/input_method/input_method_engine.h +++ b/chrome/browser/chromeos/input_method/input_method_engine.h @@ -19,7 +19,7 @@ class KeyEvent; namespace chromeos { -class IBusText; +class CompositionText; namespace input_method { struct InputMethodProperty; @@ -124,8 +124,8 @@ class InputMethodEngine : public InputMethodEngineInterface { InputMethodEngineInterface::Observer* observer_; // The current preedit text, and it's cursor position. - scoped_ptr<IBusText> preedit_text_; - int preedit_cursor_; + scoped_ptr<CompositionText> composition_text_; + int composition_cursor_; // The current candidate window. scoped_ptr<ui::CandidateWindow> candidate_window_; diff --git a/chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc b/chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc index 1388edf..69a602a 100644 --- a/chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc +++ b/chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc @@ -6,7 +6,7 @@ #include "chrome/browser/extensions/extension_browsertest.h" #include "chrome/browser/extensions/extension_test_message_listener.h" #include "chromeos/ime/component_extension_ime_manager.h" -#include "chromeos/ime/ibus_text.h" +#include "chromeos/ime/composition_text.h" #include "chromeos/ime/input_method_descriptor.h" #include "chromeos/ime/input_method_manager.h" #include "content/public/test/browser_test_utils.h" @@ -461,21 +461,24 @@ IN_PROC_BROWSER_TEST_P(InputMethodEngineIBusBrowserTest, set_composition_test_script)); EXPECT_EQ(1, mock_input_context->update_preedit_text_call_count()); - EXPECT_EQ(4U, mock_input_context->last_update_preedit_arg().cursor_pos); - EXPECT_TRUE(mock_input_context->last_update_preedit_arg().is_visible); + EXPECT_EQ(4U, + mock_input_context->last_update_composition_arg().cursor_pos); + EXPECT_TRUE(mock_input_context->last_update_composition_arg().is_visible); - const IBusText& ibus_text = - mock_input_context->last_update_preedit_arg().ibus_text; - EXPECT_EQ("COMPOSITION_TEXT", ibus_text.text()); - const std::vector<IBusText::UnderlineAttribute>& underlines = - ibus_text.underline_attributes(); + const CompositionText& composition_text = + mock_input_context->last_update_composition_arg().composition_text; + EXPECT_EQ("COMPOSITION_TEXT", composition_text.text()); + const std::vector<CompositionText::UnderlineAttribute>& underlines = + composition_text.underline_attributes(); ASSERT_EQ(2U, underlines.size()); - EXPECT_EQ(IBusText::IBUS_TEXT_UNDERLINE_SINGLE, underlines[0].type); + EXPECT_EQ(CompositionText::COMPOSITION_TEXT_UNDERLINE_SINGLE, + underlines[0].type); EXPECT_EQ(0U, underlines[0].start_index); EXPECT_EQ(5U, underlines[0].end_index); - EXPECT_EQ(IBusText::IBUS_TEXT_UNDERLINE_DOUBLE, underlines[1].type); + EXPECT_EQ(CompositionText::COMPOSITION_TEXT_UNDERLINE_DOUBLE, + underlines[1].type); EXPECT_EQ(6U, underlines[1].start_index); EXPECT_EQ(10U, underlines[1].end_index); } @@ -492,10 +495,11 @@ IN_PROC_BROWSER_TEST_P(InputMethodEngineIBusBrowserTest, ASSERT_TRUE(content::ExecuteScript(host->host_contents(), commite_text_test_script)); EXPECT_EQ(1, mock_input_context->update_preedit_text_call_count()); - EXPECT_FALSE(mock_input_context->last_update_preedit_arg().is_visible); - const IBusText& ibus_text = - mock_input_context->last_update_preedit_arg().ibus_text; - EXPECT_TRUE(ibus_text.text().empty()); + EXPECT_FALSE( + mock_input_context->last_update_composition_arg().is_visible); + const CompositionText& composition_text = + mock_input_context->last_update_composition_arg().composition_text; + EXPECT_TRUE(composition_text.text().empty()); } { SCOPED_TRACE("setCandidateWindowProperties:visibility test"); diff --git a/chrome/browser/chromeos/input_method/mock_input_method_engine.cc b/chrome/browser/chromeos/input_method/mock_input_method_engine.cc index 4b606b0..eb09a4a 100644 --- a/chrome/browser/chromeos/input_method/mock_input_method_engine.cc +++ b/chrome/browser/chromeos/input_method/mock_input_method_engine.cc @@ -12,9 +12,9 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "chromeos/ime/component_extension_ime_manager.h" +#include "chromeos/ime/composition_text.h" #include "chromeos/ime/extension_ime_util.h" #include "chromeos/ime/ibus_keymap.h" -#include "chromeos/ime/ibus_text.h" #include "chromeos/ime/input_method_manager.h" #include "ui/base/ime/candidate_window.h" #include "ui/events/event.h" diff --git a/chrome/browser/chromeos/input_method/mock_input_method_engine.h b/chrome/browser/chromeos/input_method/mock_input_method_engine.h index 9cb5cc4..b5ad032 100644 --- a/chrome/browser/chromeos/input_method/mock_input_method_engine.h +++ b/chrome/browser/chromeos/input_method/mock_input_method_engine.h @@ -17,7 +17,7 @@ class KeyEvent; namespace chromeos { -class IBusText; +class CompositionText; namespace input_method { class CandidateWindow; diff --git a/chromeos/chromeos.gyp b/chromeos/chromeos.gyp index 3922ba0..1a13770 100644 --- a/chromeos/chromeos.gyp +++ b/chromeos/chromeos.gyp @@ -216,8 +216,8 @@ 'ime/extension_ime_util.h', 'ime/ibus_keymap.cc', 'ime/ibus_keymap.h', - 'ime/ibus_text.cc', - 'ime/ibus_text.h', + 'ime/composition_text.cc', + 'ime/composition_text.h', 'ime/input_method_delegate.h', 'ime/input_method_descriptor.cc', 'ime/input_method_descriptor.h', @@ -490,7 +490,7 @@ 'display/output_util_unittest.cc', 'ime/component_extension_ime_manager_unittest.cc', 'ime/extension_ime_util_unittest.cc', - 'ime/ibus_text_unittest.cc', + 'ime/composition_text_unittest.cc', 'ime/input_method_manager.h', 'ime/input_method_property_unittest.cc', 'ime/input_method_whitelist_unittest.cc', diff --git a/chromeos/ime/ibus_text.cc b/chromeos/ime/composition_text.cc index a719368..8bc6b52 100644 --- a/chromeos/ime/ibus_text.cc +++ b/chromeos/ime/composition_text.cc @@ -1,18 +1,18 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 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. -#include "chromeos/ime/ibus_text.h" +#include "chromeos/ime/composition_text.h" namespace chromeos { -IBusText::IBusText() +CompositionText::CompositionText() : selection_start_(0), selection_end_(0) {} -IBusText::~IBusText() {} +CompositionText::~CompositionText() {} -void IBusText::CopyFrom(const IBusText& obj) { +void CompositionText::CopyFrom(const CompositionText& obj) { text_ = obj.text(); underline_attributes_ = obj.underline_attributes(); selection_start_ = obj.selection_start(); diff --git a/chromeos/ime/ibus_text.h b/chromeos/ime/composition_text.h index 7ae841a..c93c868 100644 --- a/chromeos/ime/ibus_text.h +++ b/chromeos/ime/composition_text.h @@ -1,9 +1,9 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 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 CHROMEOS_IME_IBUS_TEXT_H_ -#define CHROMEOS_IME_IBUS_TEXT_H_ +#ifndef CHROMEOS_IME_COMPOSITION_TEXT_H_ +#define CHROMEOS_IME_COMPOSITION_TEXT_H_ #include <string> #include <vector> @@ -12,24 +12,24 @@ namespace chromeos { -class CHROMEOS_EXPORT IBusText { +class CHROMEOS_EXPORT CompositionText { public: - enum IBusTextUnderlineType { - IBUS_TEXT_UNDERLINE_SINGLE = 1, - IBUS_TEXT_UNDERLINE_DOUBLE = 2, - IBUS_TEXT_UNDERLINE_ERROR = 4, + enum UnderlineType { + COMPOSITION_TEXT_UNDERLINE_SINGLE = 1, + COMPOSITION_TEXT_UNDERLINE_DOUBLE = 2, + COMPOSITION_TEXT_UNDERLINE_ERROR = 4, }; struct UnderlineAttribute { - IBusTextUnderlineType type; + UnderlineType type; uint32 start_index; // The inclusive start index. uint32 end_index; // The exclusive end index. }; - // Accessors - IBusText(); - virtual ~IBusText(); + CompositionText(); + virtual ~CompositionText(); + // Accessors const std::string& text() const { return text_; } void set_text(const std::string& text) { text_ = text; } @@ -51,7 +51,7 @@ class CHROMEOS_EXPORT IBusText { selection_end_ = selection_end; } - void CopyFrom(const IBusText& obj); + void CopyFrom(const CompositionText& obj); private: std::string text_; @@ -59,9 +59,9 @@ class CHROMEOS_EXPORT IBusText { uint32 selection_start_; uint32 selection_end_; - DISALLOW_COPY_AND_ASSIGN(IBusText); + DISALLOW_COPY_AND_ASSIGN(CompositionText); }; } // namespace chromeos -#endif // CHROMEOS_IME_IBUS_TEXT_H_ +#endif // CHROMEOS_IME_COMPOSITION_TEXT_H_ diff --git a/chromeos/ime/ibus_text_unittest.cc b/chromeos/ime/composition_text_unittest.cc index f037177..0dbe6cd 100644 --- a/chromeos/ime/ibus_text_unittest.cc +++ b/chromeos/ime/composition_text_unittest.cc @@ -1,29 +1,29 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 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. // TODO(nona): Add more tests. -#include "chromeos/ime/ibus_text.h" +#include "chromeos/ime/composition_text.h" #include "testing/gtest/include/gtest/gtest.h" namespace chromeos { -TEST(IBusTextTest, CopyTest) { +TEST(CompositionTextTest, CopyTest) { const char kSampleText[] = "Sample Text"; - const IBusText::UnderlineAttribute kSampleUnderlineAttribute1 = { - IBusText::IBUS_TEXT_UNDERLINE_SINGLE, 10, 20}; + const CompositionText::UnderlineAttribute kSampleUnderlineAttribute1 = { + CompositionText::COMPOSITION_TEXT_UNDERLINE_SINGLE, 10, 20}; - const IBusText::UnderlineAttribute kSampleUnderlineAttribute2 = { - IBusText::IBUS_TEXT_UNDERLINE_DOUBLE, 11, 21}; + const CompositionText::UnderlineAttribute kSampleUnderlineAttribute2 = { + CompositionText::COMPOSITION_TEXT_UNDERLINE_DOUBLE, 11, 21}; - const IBusText::UnderlineAttribute kSampleUnderlineAttribute3 = { - IBusText::IBUS_TEXT_UNDERLINE_ERROR, 12, 22}; + const CompositionText::UnderlineAttribute kSampleUnderlineAttribute3 = { + CompositionText::COMPOSITION_TEXT_UNDERLINE_ERROR, 12, 22}; - // Make IBusText - IBusText text; + // Make CompositionText + CompositionText text; text.set_text(kSampleText); - std::vector<IBusText::UnderlineAttribute>* underline_attributes = + std::vector<CompositionText::UnderlineAttribute>* underline_attributes = text.mutable_underline_attributes(); underline_attributes->push_back(kSampleUnderlineAttribute1); underline_attributes->push_back(kSampleUnderlineAttribute2); @@ -31,7 +31,7 @@ TEST(IBusTextTest, CopyTest) { text.set_selection_start(30); text.set_selection_end(40); - IBusText text2; + CompositionText text2; text2.CopyFrom(text); EXPECT_EQ(text.text(), text2.text()); diff --git a/ui/base/ime/chromeos/ime_bridge.h b/ui/base/ime/chromeos/ime_bridge.h index 79af952..c7049db 100644 --- a/ui/base/ime/chromeos/ime_bridge.h +++ b/ui/base/ime/chromeos/ime_bridge.h @@ -23,17 +23,17 @@ class KeyEvent; namespace chromeos { -class IBusText; +class CompositionText; class UI_BASE_EXPORT IBusInputContextHandlerInterface { public: // Called when the engine commit a text. virtual void CommitText(const std::string& text) = 0; - // Called when the engine update preedit stroing. - virtual void UpdatePreeditText(const IBusText& text, - uint32 cursor_pos, - bool visible) = 0; + // Called when the engine updates composition text. + virtual void UpdateCompositionText(const CompositionText& text, + uint32 cursor_pos, + bool visible) = 0; // Called when the engine request deleting surrounding string. virtual void DeleteSurroundingText(int32 offset, uint32 length) = 0; diff --git a/ui/base/ime/chromeos/mock_ime_input_context_handler.cc b/ui/base/ime/chromeos/mock_ime_input_context_handler.cc index 4d8d40c..14e5bc0 100644 --- a/ui/base/ime/chromeos/mock_ime_input_context_handler.cc +++ b/ui/base/ime/chromeos/mock_ime_input_context_handler.cc @@ -4,7 +4,7 @@ #include "ui/base/ime/chromeos/mock_ime_input_context_handler.h" -#include "chromeos/ime/ibus_text.h" +#include "chromeos/ime/composition_text.h" namespace chromeos { @@ -22,13 +22,14 @@ void MockIMEInputContextHandler::CommitText(const std::string& text) { last_commit_text_ = text; } -void MockIMEInputContextHandler::UpdatePreeditText(const IBusText& text, - uint32 cursor_pos, - bool visible) { +void MockIMEInputContextHandler::UpdateCompositionText( + const CompositionText& text, + uint32 cursor_pos, + bool visible) { ++update_preedit_text_call_count_; - last_update_preedit_arg_.ibus_text.CopyFrom(text); - last_update_preedit_arg_.cursor_pos = cursor_pos; - last_update_preedit_arg_.is_visible = visible; + last_update_composition_arg_.composition_text.CopyFrom(text); + last_update_composition_arg_.cursor_pos = cursor_pos; + last_update_composition_arg_.is_visible = visible; } void MockIMEInputContextHandler::DeleteSurroundingText(int32 offset, 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 873cba4..5b3f8f3 100644 --- a/ui/base/ime/chromeos/mock_ime_input_context_handler.h +++ b/ui/base/ime/chromeos/mock_ime_input_context_handler.h @@ -5,7 +5,7 @@ #ifndef UI_BASE_IME_CHROMEOS_MOCK_IME_INPUT_CONTEXT_HANDLER_H_ #define UI_BASE_IME_CHROMEOS_MOCK_IME_INPUT_CONTEXT_HANDLER_H_ -#include "chromeos/ime/ibus_text.h" +#include "chromeos/ime/composition_text.h" #include "ui/base/ime/chromeos/ime_bridge.h" #include "ui/base/ui_base_export.h" @@ -14,8 +14,8 @@ namespace chromeos { class UI_BASE_EXPORT MockIMEInputContextHandler : public IBusInputContextHandlerInterface { public: - struct UpdatePreeditTextArg { - IBusText ibus_text; + struct UpdateCompositionTextArg { + CompositionText composition_text; uint32 cursor_pos; bool is_visible; }; @@ -29,7 +29,7 @@ class UI_BASE_EXPORT MockIMEInputContextHandler virtual ~MockIMEInputContextHandler(); virtual void CommitText(const std::string& text) OVERRIDE; - virtual void UpdatePreeditText(const IBusText& text, + virtual void UpdateCompositionText(const CompositionText& text, uint32 cursor_pos, bool visible) OVERRIDE; virtual void DeleteSurroundingText(int32 offset, uint32 length) OVERRIDE; @@ -48,8 +48,8 @@ class UI_BASE_EXPORT MockIMEInputContextHandler return last_commit_text_; }; - const UpdatePreeditTextArg& last_update_preedit_arg() const { - return last_update_preedit_arg_; + const UpdateCompositionTextArg& last_update_composition_arg() const { + return last_update_composition_arg_; } const DeleteSurroundingTextArg& last_delete_surrounding_text_arg() const { @@ -64,7 +64,7 @@ class UI_BASE_EXPORT MockIMEInputContextHandler int update_preedit_text_call_count_; int delete_surrounding_text_call_count_; std::string last_commit_text_; - UpdatePreeditTextArg last_update_preedit_arg_; + UpdateCompositionTextArg last_update_composition_arg_; DeleteSurroundingTextArg last_delete_surrounding_text_arg_; }; diff --git a/ui/base/ime/input_method_chromeos.cc b/ui/base/ime/input_method_chromeos.cc index 7906228..13f9dbc 100644 --- a/ui/base/ime/input_method_chromeos.cc +++ b/ui/base/ime/input_method_chromeos.cc @@ -16,7 +16,7 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/third_party/icu/icu_utf.h" -#include "chromeos/ime/ibus_text.h" +#include "chromeos/ime/composition_text.h" #include "chromeos/ime/input_method_descriptor.h" #include "chromeos/ime/input_method_manager.h" #include "ui/base/ime/text_input_client.h" @@ -485,9 +485,10 @@ void InputMethodChromeOS::CommitText(const std::string& text) { } } -void InputMethodChromeOS::UpdatePreeditText(const chromeos::IBusText& text, - uint32 cursor_pos, - bool visible) { +void InputMethodChromeOS::UpdateCompositionText( + const chromeos::CompositionText& text, + uint32 cursor_pos, + bool visible) { if (IsTextInputTypeNone()) return; @@ -557,11 +558,11 @@ bool InputMethodChromeOS::ExecuteCharacterComposer(const ui::KeyEvent& event) { return false; // CharacterComposer consumed the key event. Update the composition text. - chromeos::IBusText preedit; + chromeos::CompositionText preedit; preedit.set_text( base::UTF16ToUTF8(character_composer_.preedit_string())); - UpdatePreeditText(preedit, preedit.text().size(), - !preedit.text().empty()); + UpdateCompositionText(preedit, preedit.text().size(), + !preedit.text().empty()); std::string commit_text = base::UTF16ToUTF8(character_composer_.composed_character()); if (!commit_text.empty()) { @@ -571,7 +572,7 @@ bool InputMethodChromeOS::ExecuteCharacterComposer(const ui::KeyEvent& event) { } void InputMethodChromeOS::ExtractCompositionText( - const chromeos::IBusText& text, + const chromeos::CompositionText& text, uint32 cursor_position, CompositionText* out_composition) const { out_composition->Clear(); @@ -599,7 +600,7 @@ void InputMethodChromeOS::ExtractCompositionText( out_composition->selection = gfx::Range(cursor_offset); - const std::vector<chromeos::IBusText::UnderlineAttribute>& + const std::vector<chromeos::CompositionText::UnderlineAttribute>& underline_attributes = text.underline_attributes(); if (!underline_attributes.empty()) { for (size_t i = 0; i < underline_attributes.size(); ++i) { @@ -611,10 +612,10 @@ void InputMethodChromeOS::ExtractCompositionText( char16_offsets[start], char16_offsets[end], SK_ColorBLACK, false /* thick */); if (underline_attributes[i].type == - chromeos::IBusText::IBUS_TEXT_UNDERLINE_DOUBLE) + chromeos::CompositionText::COMPOSITION_TEXT_UNDERLINE_DOUBLE) underline.thick = true; else if (underline_attributes[i].type == - chromeos::IBusText::IBUS_TEXT_UNDERLINE_ERROR) + chromeos::CompositionText::COMPOSITION_TEXT_UNDERLINE_ERROR) underline.color = SK_ColorRED; out_composition->underlines.push_back(underline); } diff --git a/ui/base/ime/input_method_chromeos.h b/ui/base/ime/input_method_chromeos.h index b2708ae..e9dd17d 100644 --- a/ui/base/ime/input_method_chromeos.h +++ b/ui/base/ime/input_method_chromeos.h @@ -19,7 +19,7 @@ namespace chromeos { namespace ibus { -class IBusText; +class CompositionText; } // namespace ibus } // namespace chromeos @@ -49,7 +49,7 @@ class UI_BASE_EXPORT InputMethodChromeOS protected: // Converts |text| into CompositionText. - void ExtractCompositionText(const chromeos::IBusText& text, + void ExtractCompositionText(const chromeos::CompositionText& text, uint32 cursor_position, CompositionText* out_composition) const; @@ -104,9 +104,9 @@ class UI_BASE_EXPORT InputMethodChromeOS // chromeos::IBusInputContextHandlerInterface overrides: virtual void CommitText(const std::string& text) OVERRIDE; - virtual void UpdatePreeditText(const chromeos::IBusText& text, - uint32 cursor_pos, - bool visible) OVERRIDE; + virtual void UpdateCompositionText(const chromeos::CompositionText& text, + uint32 cursor_pos, + bool visible) OVERRIDE; virtual void DeleteSurroundingText(int32 offset, uint32 length) OVERRIDE; // Hides the composition text. diff --git a/ui/base/ime/input_method_chromeos_unittest.cc b/ui/base/ime/input_method_chromeos_unittest.cc index fee1817..55a7f11 100644 --- a/ui/base/ime/input_method_chromeos_unittest.cc +++ b/ui/base/ime/input_method_chromeos_unittest.cc @@ -15,8 +15,8 @@ #include "base/i18n/char_iterator.h" #include "base/memory/scoped_ptr.h" #include "base/strings/utf_string_conversions.h" +#include "chromeos/ime/composition_text.h" #include "chromeos/ime/ibus_keymap.h" -#include "chromeos/ime/ibus_text.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/base/ime/chromeos/ime_bridge.h" #include "ui/base/ime/chromeos/mock_ime_candidate_window_handler.h" @@ -579,11 +579,12 @@ TEST_F(InputMethodChromeOSTest, ExtractCompositionTextTest_NoAttribute) { const uint32 kCursorPos = 2UL; const base::string16 utf16_string = UTF8ToUTF16(kSampleText); - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); // If there is no selection, |selection| represents cursor position. EXPECT_EQ(kCursorPos, composition_text.selection.start()); @@ -601,17 +602,19 @@ TEST_F(InputMethodChromeOSTest, ExtractCompositionTextTest_SingleUnderline) { "\xE3\x81\x88\xE3\x81\x8A"; const uint32 kCursorPos = 2UL; - // Set up ibus text with one underline attribute. - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); - chromeos::IBusText::UnderlineAttribute underline; - underline.type = chromeos::IBusText::IBUS_TEXT_UNDERLINE_SINGLE; + // Set up chromeos composition text with one underline attribute. + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); + chromeos::CompositionText::UnderlineAttribute underline; + underline.type = chromeos::CompositionText::COMPOSITION_TEXT_UNDERLINE_SINGLE; underline.start_index = 1UL; underline.end_index = 4UL; - ibus_text.mutable_underline_attributes()->push_back(underline); + chromeos_composition_text.mutable_underline_attributes()->push_back( + underline); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); // If there is no selection, |selection| represents cursor position. EXPECT_EQ(kCursorPos, composition_text.selection.start()); @@ -631,17 +634,19 @@ TEST_F(InputMethodChromeOSTest, ExtractCompositionTextTest_DoubleUnderline) { "\xE3\x81\x88\xE3\x81\x8A"; const uint32 kCursorPos = 2UL; - // Set up ibus text with one underline attribute. - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); - chromeos::IBusText::UnderlineAttribute underline; - underline.type = chromeos::IBusText::IBUS_TEXT_UNDERLINE_DOUBLE; + // Set up chromeos composition text with one underline attribute. + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); + chromeos::CompositionText::UnderlineAttribute underline; + underline.type = chromeos::CompositionText::COMPOSITION_TEXT_UNDERLINE_DOUBLE; underline.start_index = 1UL; underline.end_index = 4UL; - ibus_text.mutable_underline_attributes()->push_back(underline); + chromeos_composition_text.mutable_underline_attributes()->push_back( + underline); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); // If there is no selection, |selection| represents cursor position. EXPECT_EQ(kCursorPos, composition_text.selection.start()); @@ -661,17 +666,19 @@ TEST_F(InputMethodChromeOSTest, ExtractCompositionTextTest_ErrorUnderline) { "\xE3\x81\x88\xE3\x81\x8A"; const uint32 kCursorPos = 2UL; - // Set up ibus text with one underline attribute. - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); - chromeos::IBusText::UnderlineAttribute underline; - underline.type = chromeos::IBusText::IBUS_TEXT_UNDERLINE_ERROR; + // Set up chromeos composition text with one underline attribute. + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); + chromeos::CompositionText::UnderlineAttribute underline; + underline.type = chromeos::CompositionText::COMPOSITION_TEXT_UNDERLINE_ERROR; underline.start_index = 1UL; underline.end_index = 4UL; - ibus_text.mutable_underline_attributes()->push_back(underline); + chromeos_composition_text.mutable_underline_attributes()->push_back( + underline); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); EXPECT_EQ(kCursorPos, composition_text.selection.start()); EXPECT_EQ(kCursorPos, composition_text.selection.end()); @@ -690,21 +697,24 @@ TEST_F(InputMethodChromeOSTest, ExtractCompositionTextTest_Selection) { "\xE3\x81\x88\xE3\x81\x8A"; const uint32 kCursorPos = 2UL; - // Set up ibus text with one underline attribute. - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); - ibus_text.set_selection_start(1UL); - ibus_text.set_selection_end(4UL); + // Set up chromeos composition text with one underline attribute. + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); + chromeos_composition_text.set_selection_start(1UL); + chromeos_composition_text.set_selection_end(4UL); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); EXPECT_EQ(kCursorPos, composition_text.selection.start()); EXPECT_EQ(kCursorPos, composition_text.selection.end()); ASSERT_EQ(1UL, composition_text.underlines.size()); - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_start()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_start()), composition_text.underlines[0].start_offset); - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_end()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_end()), composition_text.underlines[0].end_offset); EXPECT_EQ(SK_ColorBLACK, composition_text.underlines[0].color); EXPECT_TRUE(composition_text.underlines[0].thick); @@ -716,25 +726,29 @@ TEST_F(InputMethodChromeOSTest, "\xE3\x81\x88\xE3\x81\x8A"; const uint32 kCursorPos = 1UL; - // Set up ibus text with one underline attribute. - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); - ibus_text.set_selection_start(kCursorPos); - ibus_text.set_selection_end(4UL); + // Set up chromeos composition text with one underline attribute. + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); + chromeos_composition_text.set_selection_start(kCursorPos); + chromeos_composition_text.set_selection_end(4UL); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); // If the cursor position is same as selection bounds, selection start // position become opposit side of selection from cursor. - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_end()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_end()), composition_text.selection.start()); EXPECT_EQ(GetOffsetInUTF16(kSampleText, kCursorPos), composition_text.selection.end()); ASSERT_EQ(1UL, composition_text.underlines.size()); - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_start()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_start()), composition_text.underlines[0].start_offset); - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_end()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_end()), composition_text.underlines[0].end_offset); EXPECT_EQ(SK_ColorBLACK, composition_text.underlines[0].color); EXPECT_TRUE(composition_text.underlines[0].thick); @@ -746,25 +760,29 @@ TEST_F(InputMethodChromeOSTest, "\xE3\x81\x88\xE3\x81\x8A"; const uint32 kCursorPos = 4UL; - // Set up ibus text with one underline attribute. - chromeos::IBusText ibus_text; - ibus_text.set_text(kSampleText); - ibus_text.set_selection_start(1UL); - ibus_text.set_selection_end(kCursorPos); + // Set up chromeos composition text with one underline attribute. + chromeos::CompositionText chromeos_composition_text; + chromeos_composition_text.set_text(kSampleText); + chromeos_composition_text.set_selection_start(1UL); + chromeos_composition_text.set_selection_end(kCursorPos); CompositionText composition_text; - ime_->ExtractCompositionText(ibus_text, kCursorPos, &composition_text); + ime_->ExtractCompositionText( + chromeos_composition_text, kCursorPos, &composition_text); EXPECT_EQ(UTF8ToUTF16(kSampleText), composition_text.text); // If the cursor position is same as selection bounds, selection start // position become opposit side of selection from cursor. - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_start()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_start()), composition_text.selection.start()); EXPECT_EQ(GetOffsetInUTF16(kSampleText, kCursorPos), composition_text.selection.end()); ASSERT_EQ(1UL, composition_text.underlines.size()); - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_start()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_start()), composition_text.underlines[0].start_offset); - EXPECT_EQ(GetOffsetInUTF16(kSampleText, ibus_text.selection_end()), + EXPECT_EQ(GetOffsetInUTF16(kSampleText, + chromeos_composition_text.selection_end()), composition_text.underlines[0].end_offset); EXPECT_EQ(SK_ColorBLACK, composition_text.underlines[0].color); EXPECT_TRUE(composition_text.underlines[0].thick); |