Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3149)

Unified Diff: blimp/client/core/contents/ime_feature.cc

Issue 2292343002: Hooking up Blimp IME with BlimpContents (Closed)
Patch Set: Fixed linux client Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « blimp/client/core/contents/ime_feature.h ('k') | blimp/client/core/contents/mock_ime_feature_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/client/core/contents/ime_feature.cc
diff --git a/blimp/client/core/contents/ime_feature.cc b/blimp/client/core/contents/ime_feature.cc
index 08ade40d9a57db2d90b4a62a01fcac4719194786..4a4bcdbfe331165cdd44125d5d47c0e95aab0ac9 100644
--- a/blimp/client/core/contents/ime_feature.cc
+++ b/blimp/client/core/contents/ime_feature.cc
@@ -18,14 +18,16 @@ ImeFeature::ImeFeature() {}
ImeFeature::~ImeFeature() {}
-void ImeFeature::OnImeTextEntered(const std::string& text) {
- DCHECK_LE(0, tab_id_);
- DCHECK_LT(0, render_widget_id_);
+void ImeFeature::OnImeTextEntered(int tab_id,
+ int render_widget_id,
+ const std::string& text) {
+ DCHECK_LE(0, tab_id);
+ DCHECK_LT(0, render_widget_id);
ImeMessage* ime_message;
std::unique_ptr<BlimpMessage> blimp_message =
- CreateBlimpMessage(&ime_message, tab_id_);
- ime_message->set_render_widget_id(render_widget_id_);
+ CreateBlimpMessage(&ime_message, tab_id);
+ ime_message->set_render_widget_id(render_widget_id);
ime_message->set_type(ImeMessage::SET_TEXT);
ime_message->set_ime_text(text);
@@ -49,18 +51,17 @@ void ImeFeature::ProcessMessage(std::unique_ptr<BlimpMessage> message,
callback.Run(net::ERR_INVALID_ARGUMENT);
return;
}
-
- tab_id_ = message->target_tab_id();
- render_widget_id_ = ime_message.render_widget_id();
-
- delegate_->OnShowImeRequested(
- InputMessageConverter::TextInputTypeFromProto(
- ime_message.text_input_type()),
- ime_message.ime_text());
+ {
+ ShowImeCallback show_ime_callback = base::Bind(
+ &ImeFeature::OnImeTextEntered, base::Unretained(this),
+ message->target_tab_id(), ime_message.render_widget_id());
+ delegate_->OnShowImeRequested(
+ InputMessageConverter::TextInputTypeFromProto(
+ ime_message.text_input_type()),
+ ime_message.ime_text(), show_ime_callback);
+ }
break;
case ImeMessage::HIDE_IME:
- tab_id_ = -1;
- render_widget_id_ = 0;
delegate_->OnHideImeRequested();
break;
case ImeMessage::SET_TEXT:
« no previous file with comments | « blimp/client/core/contents/ime_feature.h ('k') | blimp/client/core/contents/mock_ime_feature_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698