Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 6d3cdcfc77b6025fbee617afc03821c5b1e9f0df..82aa27d4a90ab0c79bdc858d6a327184c424a667 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -77,6 +77,7 @@ |
#if defined(OS_ANDROID) |
#include <android/keycodes.h> |
+#include "base/android/build_info.h" |
#include "content/renderer/android/synchronous_compositor_factory.h" |
#endif |
@@ -1542,7 +1543,7 @@ void RenderWidget::OnImeSetComposition( |
// sure we are in a consistent state. |
Send(new InputHostMsg_ImeCancelComposition(routing_id())); |
} |
-#if defined(OS_MACOSX) || defined(USE_AURA) |
+#if defined(OS_MACOSX) || defined(USE_AURA) || defined(OS_ANDROID) |
UpdateCompositionInfo(true); |
#endif |
} |
@@ -1561,7 +1562,7 @@ void RenderWidget::OnImeConfirmComposition(const base::string16& text, |
else |
webwidget_->confirmComposition(WebWidget::DoNotKeepSelection); |
handling_input_event_ = false; |
-#if defined(OS_MACOSX) || defined(USE_AURA) |
+#if defined(OS_MACOSX) || defined(USE_AURA) || defined(OS_ANDROID) |
UpdateCompositionInfo(true); |
#endif |
} |
@@ -1893,7 +1894,7 @@ void RenderWidget::UpdateSelectionBounds() { |
} |
} |
-#if defined(OS_MACOSX) || defined(USE_AURA) |
+#if defined(OS_MACOSX) || defined(USE_AURA) || defined(OS_ANDROID) |
UpdateCompositionInfo(false); |
#endif |
} |
@@ -1948,8 +1949,15 @@ ui::TextInputType RenderWidget::GetTextInputType() { |
return ui::TEXT_INPUT_TYPE_NONE; |
} |
-#if defined(OS_MACOSX) || defined(USE_AURA) |
+#if defined(OS_MACOSX) || defined(USE_AURA) || defined(OS_ANDROID) |
void RenderWidget::UpdateCompositionInfo(bool should_update_range) { |
+#if defined(OS_ANDROID) |
+ // Sending composition info makes sense only in Lollipop (API level 21) |
+ // and above due to the API availability. |
+ if (base::android::BuildInfo::GetInstance()->sdk_int() < 21) |
+ return; |
+#endif |
+ |
gfx::Range range = gfx::Range(); |
if (should_update_range) { |
GetCompositionRange(&range); |
@@ -2041,7 +2049,7 @@ void RenderWidget::resetInputMethod() { |
Send(new InputHostMsg_ImeCancelComposition(routing_id())); |
} |
-#if defined(OS_MACOSX) || defined(USE_AURA) |
+#if defined(OS_MACOSX) || defined(USE_AURA) || defined(OS_ANDROID) |
UpdateCompositionInfo(true); |
#endif |
} |