Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 022fcf3ea16073dd71bd0f1240da1e0ef11d7d54..79ec6fc215141288776b48abf860e5ffab4a3ea0 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -2584,8 +2584,13 @@ void RenderViewImpl::didChangeSelection(bool is_empty_selection) { |
if (is_empty_selection) |
selection_text_.clear(); |
- SyncSelectionIfRequired(); |
+ // UpdateTextInputType should be called before SyncSelectionIfRequired. |
+ // UpdateTextInputType may send TextInputTypeChanged to notify the focus |
+ // was changed, and SyncSelectionIfRequired may send SelectionChanged |
+ // to notify the selection was changed. Focus change should be notified |
+ // before selection change. |
UpdateTextInputType(); |
+ SyncSelectionIfRequired(); |
#if defined(OS_ANDROID) |
UpdateTextInputState(false, true); |
#endif |