Chrome Version: master (don't know when it was introduced)
What steps will reproduce the problem?
(1) out/Release/content_shell -u "data:text/html;charset=utf-8,<input type=text> text<br><input type=number> number"
(2) Click the text-field.
(3) Click the number-field
What is the expected result?
One ViewHostMsg_TextInputStateChanged is sent.
What happens instead?
Three ViewHostMsg_TextInputStateChanged are sent.
This bug can be confirmed by adding extra prints:
[1:1:0105/104055.807397:175946904983:ERROR:render_frame_impl.cc(3999)] RenderFrameImpl::didChangeSelection
[1:1:0105/104055.807636:175946905164:ERROR:render_widget.cc(1065)] RenderWidget::UpdateTextInputState sends new ViewHostMsg_TextInputStateChanged
[12931:12931:0105/104055.808441:175946905874:ERROR:render_widget_host_impl.cc(1980)] RenderWidgetHostImpl::OnTextInputStateChange type: 0
[1:1:0105/104055.814126:175946911710:ERROR:render_frame_impl.cc(3999)] RenderFrameImpl::didChangeSelection
[1:1:0105/104055.814434:175946911959:ERROR:render_widget.cc(1065)] RenderWidget::UpdateTextInputState sends new ViewHostMsg_TextInputStateChanged
[12931:12931:0105/104055.815127:175946912561:ERROR:render_widget_host_impl.cc(1980)] RenderWidgetHostImpl::OnTextInputStateChange type: 5
[12931:12931:0105/104055.815824:175946913257:ERROR:render_widget_host_impl.cc(1471)] RenderWidgetHostImpl::OnSelectionBoundsChanged
[1:1:0105/104055.902154:175946999751:ERROR:render_widget.cc(1065)] RenderWidget::UpdateTextInputState sends new ViewHostMsg_TextInputStateChanged
[12931:12931:0105/104055.903195:175947000629:ERROR:render_widget_host_impl.cc(1980)] RenderWidgetHostImpl::OnTextInputStateChange type: 5
It seems like Chromium does redundant work here.
Does bug affect a downstream product?
Yes. The first message (type = 0 = TEXT_INPUT_TYPE_NONE) causes a UI glitch in the IME of Opera's Chromium-based SDK.
The IME hides itself on TEXT_INPUT_TYPE_NONE and reopens just after (looks like a quick flash).
Comment 1 by yosin@chromium.org
, Jan 10 2017