Index: content/browser/android/ime_adapter_android.cc |
diff --git a/content/browser/android/ime_adapter_android.cc b/content/browser/android/ime_adapter_android.cc |
index 4e18e286f1d4f5db4a06d804ae4c4d226630f2e5..695e53727c802388abe4594840a74010db712c56 100644 |
--- a/content/browser/android/ime_adapter_android.cc |
+++ b/content/browser/android/ime_adapter_android.cc |
@@ -32,6 +32,7 @@ |
using base::android::AttachCurrentThread; |
using base::android::ConvertJavaStringToUTF16; |
+using base::android::ConvertUTF8ToJavaString; |
using base::android::JavaParamRef; |
using base::android::ScopedJavaLocalRef; |
@@ -187,6 +188,21 @@ void ImeAdapterAndroid::UpdateRenderProcessConnection( |
} |
} |
+void ImeAdapterAndroid::UpdateState(const TextInputState& state) { |
+ JNIEnv* env = AttachCurrentThread(); |
+ ScopedJavaLocalRef<jobject> obj = java_ime_adapter_.get(env); |
+ if (obj.is_null()) |
+ return; |
+ |
+ ScopedJavaLocalRef<jstring> jstring_text = |
+ ConvertUTF8ToJavaString(env, state.value); |
+ Java_ImeAdapter_updateState(env, obj, static_cast<int>(state.type), |
+ state.flags, state.mode, state.show_ime_if_needed, |
+ jstring_text, state.selection_start, |
+ state.selection_end, state.composition_start, |
+ state.composition_end, state.reply_to_request); |
+} |
+ |
bool ImeAdapterAndroid::SendKeyEvent( |
JNIEnv* env, |
const JavaParamRef<jobject>&, |