Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index faa04ba4181f24b31c9c136f8b912f6903604782..50ec1255dd002fe198fc7e8ab127000ebb545a04 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -1421,7 +1421,10 @@ void RenderViewImpl::OnUnselect() { |
} |
void RenderViewImpl::OnSetEditableSelectionOffsets(int start, int end) { |
+ handling_ime_event_ = true; |
jamesr
2013/02/01 00:22:10
What does this do? I can't find any code that cons
aurimas (slooooooooow)
2013/02/01 00:30:03
This is used in RenderWidget::UpdateTextInputState
|
webview()->setEditableSelectionOffsets(start, end); |
+ handling_ime_event_ = false; |
+ UpdateTextInputState(DO_NOT_SHOW_IME); |
} |
void RenderViewImpl::OnSetCompositionFromExistingText( |
@@ -1429,13 +1432,19 @@ void RenderViewImpl::OnSetCompositionFromExistingText( |
const std::vector<WebKit::WebCompositionUnderline>& underlines) { |
if (!webview()) |
return; |
+ handling_ime_event_ = true; |
webview()->setCompositionFromExistingText(start, end, underlines); |
+ handling_ime_event_ = false; |
+ UpdateTextInputState(DO_NOT_SHOW_IME); |
} |
void RenderViewImpl::OnExtendSelectionAndDelete(int before, int after) { |
if (!webview()) |
return; |
+ handling_ime_event_ = true; |
webview()->extendSelectionAndDelete(before, after); |
+ handling_ime_event_ = false; |
+ UpdateTextInputState(DO_NOT_SHOW_IME); |
} |
void RenderViewImpl::OnSelectRange(const gfx::Point& start, |