Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index a77c98f6761fe545aa0f92015d0fd4a2f2abac48..a086f7baa99da0d06210a62d4b1bafdcdc46a698 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -2022,6 +2022,8 @@ void RenderWidget::GetCompositionRange(gfx::Range* range) { |
bool RenderWidget::ShouldUpdateCompositionInfo( |
const gfx::Range& range, |
const std::vector<gfx::Rect>& bounds) { |
+ if (!range.IsValid()) |
+ return false; |
if (composition_range_ != range) |
return true; |
if (bounds.size() != composition_character_bounds_.size()) |
@@ -2077,17 +2079,7 @@ blink::WebScreenInfo RenderWidget::screenInfo() { |
void RenderWidget::resetInputMethod() { |
ImeEventGuard guard(this); |
- // If the last text input type is not None, then we should finish any |
- // ongoing composition regardless of the new text input type. |
- if (text_input_type_ != ui::TEXT_INPUT_TYPE_NONE) { |
- // If a composition text exists, then we need to let the browser process |
- // to cancel the input method's ongoing composition session. |
- blink::WebInputMethodController* controller = GetInputMethodController(); |
- if (controller && |
- controller->finishComposingText( |
- WebInputMethodController::DoNotKeepSelection)) |
- Send(new InputHostMsg_ImeCancelComposition(routing_id())); |
- } |
+ Send(new InputHostMsg_ImeCancelComposition(routing_id())); |
UpdateCompositionInfo(false /* not an immediate request */); |
} |