summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/ibus
diff options
context:
space:
mode:
authornona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-07 12:01:27 +0000
committernona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-07 12:01:27 +0000
commit7fd94ade101b26e2c6853d87eac5f3cca503d4a6 (patch)
tree6dd73bfa60da8a7958eae3b8712ffcdd325c0a05 /chromeos/dbus/ibus
parent3cf81cb978164c0d417b61170b0565effd1e3305 (diff)
downloadchromium_src-7fd94ade101b26e2c6853d87eac5f3cca503d4a6.zip
chromium_src-7fd94ade101b26e2c6853d87eac5f3cca503d4a6.tar.gz
chromium_src-7fd94ade101b26e2c6853d87eac5f3cca503d4a6.tar.bz2
Support surrounding text feature.
Some Thai input requires surrounding text feature. This patch implement full-spec surrounding text feature for ibus. BUG=158111 TEST=Ran ui_unittests and manually done on lumpy. Review URL: https://chromiumcodereview.appspot.com/11275148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166383 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/ibus')
-rw-r--r--chromeos/dbus/ibus/mock_ibus_input_context_client.cc5
-rw-r--r--chromeos/dbus/ibus/mock_ibus_input_context_client.h15
2 files changed, 19 insertions, 1 deletions
diff --git a/chromeos/dbus/ibus/mock_ibus_input_context_client.cc b/chromeos/dbus/ibus/mock_ibus_input_context_client.cc
index 6edcc5c..ecc4202 100644
--- a/chromeos/dbus/ibus/mock_ibus_input_context_client.cc
+++ b/chromeos/dbus/ibus/mock_ibus_input_context_client.cc
@@ -16,7 +16,8 @@ MockIBusInputContextClient::MockIBusInputContextClient()
focus_out_call_count_(0),
reset_call_count_(0),
set_cursor_location_call_count_(0),
- process_key_event_call_count_(0) {
+ process_key_event_call_count_(0),
+ set_surrounding_text_call_count_(0) {
}
MockIBusInputContextClient::~MockIBusInputContextClient() {}
@@ -112,6 +113,8 @@ void MockIBusInputContextClient::SetSurroundingText(
const std::string& text,
uint32 cursor_pos,
uint32 anchor_pos) {
+ set_surrounding_text_call_count_++;
+ set_surrounding_text_handler_.Run(text, cursor_pos, anchor_pos);
}
void MockIBusInputContextClient::PropertyActivate(
diff --git a/chromeos/dbus/ibus/mock_ibus_input_context_client.h b/chromeos/dbus/ibus/mock_ibus_input_context_client.h
index ab26674..1b20a7e 100644
--- a/chromeos/dbus/ibus/mock_ibus_input_context_client.h
+++ b/chromeos/dbus/ibus/mock_ibus_input_context_client.h
@@ -18,6 +18,9 @@ class MockIBusInputContextClient : public IBusInputContextClient {
const ProcessKeyEventCallback& callback,
const ErrorCallback& error_callback)>
ProcessKeyEventHandler;
+ typedef base::Callback<void (const std::string& text, uint32 cursor_pos,
+ uint32 anchor_pos)>
+ SetSurroundingTextHandler;
MockIBusInputContextClient();
virtual ~MockIBusInputContextClient();
@@ -93,6 +96,16 @@ class MockIBusInputContextClient : public IBusInputContextClient {
process_key_event_handler_ = handler;
}
+ // Call count of SetSurroundingText().
+ int set_surrounding_text_call_count() const {
+ return set_surrounding_text_call_count_;
+ }
+
+ void set_set_surrounding_text_handler(
+ const SetSurroundingTextHandler& handler) {
+ set_surrounding_text_handler_ = handler;
+ }
+
private:
int initialize_call_count_;
bool is_initialized_;
@@ -103,7 +116,9 @@ class MockIBusInputContextClient : public IBusInputContextClient {
int reset_call_count_;
int set_cursor_location_call_count_;
int process_key_event_call_count_;
+ int set_surrounding_text_call_count_;
ProcessKeyEventHandler process_key_event_handler_;
+ SetSurroundingTextHandler set_surrounding_text_handler_;
DISALLOW_COPY_AND_ASSIGN(MockIBusInputContextClient);
};