<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>43530</bug_id>
          
          <creation_ts>2010-08-04 18:39:35 -0700</creation_ts>
          <short_desc>[Qt] Input mode states are not reset after entering a password field</short_desc>
          <delta_ts>2011-04-19 05:15:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>S60 Hardware</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Leong">david.leong</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>david.leong</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>260322</commentid>
    <comment_count>0</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-08-04 18:39:35 -0700</bug_when>
    <thetext>In Qt&apos;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 &apos;hidden&apos;, but entering subsequent normal input elements the state would be stuck in the &apos;hidden&apos; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260323</commentid>
    <comment_count>1</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-08-04 18:52:03 -0700</bug_when>
    <thetext>Made a small mistake with the description., the use case is clicking a &lt;input type=&apos;password&apos;&gt; field, which sets the input mode to &apos;hidden&apos;. Next click on a &lt;textarea&gt; and the text area input will be stuck in the password mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260330</commentid>
    <comment_count>2</comment_count>
      <attachid>63528</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-08-04 19:11:02 -0700</bug_when>
    <thetext>Created attachment 63528
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260358</commentid>
    <comment_count>3</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-08-04 20:21:12 -0700</bug_when>
    <thetext>Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260458</commentid>
    <comment_count>4</comment_count>
      <attachid>63528</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-05 01:03:10 -0700</bug_when>
    <thetext>Comment on attachment 63528
proposed change to reset input modes

r=me. I&apos;ll land it manually together with a unit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260476</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-05 02:20:07 -0700</bug_when>
    <thetext>Committed r64725: &lt;http://trac.webkit.org/changeset/64725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260479</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-05 02:22:06 -0700</bug_when>
    <thetext>cherry-picked into qtwebkit-4.6 with commit bbff6182e525fcf58dbc7426a1fbbf8f31588214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260543</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-05 05:42:59 -0700</bug_when>
    <thetext>Revision r64725 cherry-picked into qtwebkit-2.1 with commit b0aea678e59f43c4fcc556d736da887452be5aad</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260545</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-05 05:44:59 -0700</bug_when>
    <thetext>Revision r64725 cherry-picked into qtwebkit-2.0 with commit 31fc031c76110f1e7d8626d930559a8b5f6c8e1d</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63528</attachid>
            <date>2010-08-04 19:11:02 -0700</date>
            <delta_ts>2010-08-05 01:03:10 -0700</delta_ts>
            <desc>proposed change to reset input modes</desc>
            <filename>43530.patch</filename>
            <type>text/plain</type>
            <size>1811</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjQ3MDMpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDgtMDQgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gSW5wdXQgbW9kZSBzdGF0ZXMgYXJlIG5vdCByZXNldCBhZnRlciBlbnRlcmlu
ZyBhIHBhc3N3b3JkIGZpZWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzUzMAorCisgICAgICAgIElucHV0IG1vZGUgaGludHMgYXJlIG5vdCByZXNl
dCBpZiBjbGlja2luZyBvbiBwYXNzd29yZCA8aW5wdXQ+IGVsZW1lbnRzIHRoZW4gCisgICAgICAg
IGNsaWNraW5nIG9uIDx0ZXh0YXJlYT4gZWxlbWVudHMKKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFZGl0b3JDbGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZSk6CisKIDIwMTAtMDgtMDQgIFBp
ZXJyZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQW50b25pbyBHb21lcy4KSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudFF0LmNwcAkocmV2aXNpb24gNjQ2NTkpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTYsNiArNTk2LDEzIEBA
IHZvaWQgRWRpdG9yQ2xpZW50UXQ6OnNldElucHV0TWV0aG9kU3RhdGUKICAgICBRV2ViUGFnZUNs
aWVudCogd2ViUGFnZUNsaWVudCA9IG1fcGFnZS0+ZC0+Y2xpZW50OwogICAgIGlmICh3ZWJQYWdl
Q2xpZW50KSB7CiAjaWYgUVRfVkVSU0lPTiA+PSAweDA0MDYwMAorICAgICAgICAvLyBNYWtlIHN1
cmUgdG8gcmVzZXQgaW5wdXQgbWV0aG9kIGhpbnQKKyAgICAgICAgd2ViUGFnZUNsaWVudC0+c2V0
SW5wdXRNZXRob2RIaW50KFF0OjpJbWhEaWFsYWJsZUNoYXJhY3RlcnNPbmx5LCBmYWxzZSk7Cisg
ICAgICAgIHdlYlBhZ2VDbGllbnQtPnNldElucHV0TWV0aG9kSGludChRdDo6SW1oRGlnaXRzT25s
eSwgZmFsc2UpOworICAgICAgICB3ZWJQYWdlQ2xpZW50LT5zZXRJbnB1dE1ldGhvZEhpbnQoUXQ6
OkltaEVtYWlsQ2hhcmFjdGVyc09ubHksIGZhbHNlKTsKKyAgICAgICAgd2ViUGFnZUNsaWVudC0+
c2V0SW5wdXRNZXRob2RIaW50KFF0OjpJbWhVcmxDaGFyYWN0ZXJzT25seSwgZmFsc2UpOworICAg
ICAgICB3ZWJQYWdlQ2xpZW50LT5zZXRJbnB1dE1ldGhvZEhpbnQoUXQ6OkltaEhpZGRlblRleHQs
IGZhbHNlKTsKKwogICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSAwOwog
ICAgICAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmQtPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5kb2N1
bWVudCgpICYmIGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpKQo=
</data>
<flag name="review"
          id="51905"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="51906"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>