Bug 43530 - [Qt] Input mode states are not reset after entering a password field
: [Qt] Input mode states are not reset after entering a password field
Status: RESOLVED FIXED
: WebKit
WebKit Qt
: 528+ (Nightly build)
: S60 Hardware S60 3rd edition
: P1 Critical
Assigned To:
:
: Qt, QtTriaged
:
:
  Show dependency treegraph
 
Reported: 2010-08-04 18:39 PST by
Modified: 2011-04-19 05:15 PST (History)


Attachments
proposed change to reset input modes (1.77 KB, patch)
2010-08-04 19:11 PST, David Leong
hausmann: review+
hausmann: commit‑queue-
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-08-04 18:39:35 PST
In Qt's implementation of void EditorClientQt::setInputMethodState(bool active), the specific input type is updated based on the input element type attribute to specify vkb handling for number, password or other special input modes.

There is a bug in this function where upon entering a password text field the input hit would be set correctly to 'hidden', but entering subsequent normal input elements the state would be stuck in the 'hidden' mode. There are other manifestations of the bug depending on the type of the text field previously entered. 

The fix is to reset the input method hints whenever EditorClientQt::setInputMethodState().

I will post up a patch as soon as possible.
------- Comment #1 From 2010-08-04 18:52:03 PST -------
Made a small mistake with the description., the use case is clicking a <input type='password'> field, which sets the input mode to 'hidden'. Next click on a <textarea> and the text area input will be stuck in the password mode.
------- Comment #2 From 2010-08-04 19:11:02 PST -------
Created an attachment (id=63528) [details]
proposed change to reset input modes

The bug happens when the user clicks on a input field with a specific type then clicking on a text area. Because the input hints are never reset the text area inherits the wrong input hints.

The fix is to reset the state and set all flags from scratch.
------- Comment #3 From 2010-08-04 20:21:12 PST -------
Looks good to me.
------- Comment #4 From 2010-08-05 01:03:10 PST -------
(From update of attachment 63528 [details])
r=me. I'll land it manually together with a unit test.
------- Comment #5 From 2010-08-05 02:20:07 PST -------
Committed r64725: <http://trac.webkit.org/changeset/64725>
------- Comment #6 From 2010-08-05 02:22:06 PST -------
cherry-picked into qtwebkit-4.6 with commit bbff6182e525fcf58dbc7426a1fbbf8f31588214
------- Comment #7 From 2010-08-05 05:42:59 PST -------
Revision r64725 cherry-picked into qtwebkit-2.1 with commit b0aea678e59f43c4fcc556d736da887452be5aad
------- Comment #8 From 2010-08-05 05:44:59 PST -------
Revision r64725 cherry-picked into qtwebkit-2.0 with commit 31fc031c76110f1e7d8626d930559a8b5f6c8e1d