<?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>10221</bug_id>
          
          <creation_ts>2006-08-02 14:48:37 -0700</creation_ts>
          <short_desc>[S60] no key events for text input</short_desc>
          <delta_ts>2011-03-21 11:52:25 -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>DOM</component>
          <version>420+</version>
          <rep_platform>S60 Hardware</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.jameswatts.com/test/inputkeyevents.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Watts">jwatts</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dacarson</cc>
    
    <cc>franklin.davis</cc>
    
    <cc>jwatts</cc>
    
    <cc>S60webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>51481</commentid>
    <comment_count>0</comment_count>
    <who name="James Watts">jwatts</who>
    <bug_when>2006-08-02 14:48:37 -0700</bug_when>
    <thetext>Seems like key events are not being fired for text input.  See attached URL -- on FF, typing in the text input will write the key code to the page.

Tested on N80 V3.0614.0.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51482</commentid>
    <comment_count>1</comment_count>
      <attachid>9833</attachid>
    <who name="James Watts">jwatts</who>
    <bug_when>2006-08-02 14:49:03 -0700</bug_when>
    <thetext>Created attachment 9833
key events test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51556</commentid>
    <comment_count>2</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2006-08-03 08:00:20 -0700</bug_when>
    <thetext>Confirmed text input key events are not being handled as at r15752.

Thanks :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51581</commentid>
    <comment_count>3</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-08-03 10:17:32 -0700</bug_when>
    <thetext>The issue here is that there is some complex work being handled by the input box on the platform that is changing the letters as you type, similar to a FEP. 
Mobile phone users use an input mode known at T9. It maps the characters for each number on 9-pad to a word in the dictionary. Eg to enter the word &apos;monday&apos;, the user presses 6-6-6-3-2-9. Though, as you type it it does not start to become the word monday till the letter 2. What appears to the user is the following:
o
on
non
none
monda
monday
What would it mean to issue key events into the DOM with such a system? What would web page authors expect? Would they expect the the letters m-o-n-d-a-y, or would they expect what they see on the screen, o-n-n-e-a-y (ie the character that was shown for that key press). How would inform the user that the character for a previous key event has changed?
Keep in mind that this is only the English language, when mobile devices are used in other countries such as China, it is even more complex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51602</commentid>
    <comment_count>4</comment_count>
    <who name="James Watts">jwatts</who>
    <bug_when>2006-08-03 11:18:57 -0700</bug_when>
    <thetext>I would expect that key press events would match the keys that were pressed by the user (0-9, #, *, or more simply the keys if you happen to have a qwerty device).  Ideally, the input mode would also be available via DOM (even more ideally, it would be settable for the current input), but I wouldn&apos;t expect that without DOM extensions.  In the absence of this, the JS can look at both the key event and the contents of the text box and decide what it thinks is the appropriate behavior.  

Understood that non-latin entry modes would bring their own complications, in this case the script would need to find another solution or disable whatever behavior it wanted to use -- I don&apos;t think the answer is to consider the text box &quot;out of bounds&quot; for scripts.

Of course, this is all predicated on scripts being written for mobile browsers.  Is the concern really that the browser is trying to protect itself from desktop pages?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51605</commentid>
    <comment_count>5</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-08-03 11:35:15 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I would expect that key press events would match the keys that were pressed by
&gt; the user (0-9, #, *, or more simply the keys if you happen to have a qwerty
&gt; device).  

ok. IMHO, I think that this would be ok, as in my experience I have only seen
scripts that are triggered from the key events but do not manage the input text
using information from the key event. They query the input field for the text.
There is a technical issue in the Symbian platform as the input box hijacks the
keyboard and the application does not see any events while an input box has
focus. A workaround for this would be required.

&gt; Ideally, the input mode would also be available via DOM (even more
&gt; ideally, it would be settable for the current input), but I wouldn&apos;t expect
&gt; that without DOM extensions.  In the absence of this, the JS can look at both
&gt; the key event and the contents of the text box and decide what it thinks is the
&gt; appropriate behavior.  

Yes. As long as existing web content is not broken by this behaviour.

&gt; Understood that non-latin entry modes would bring their own complications, in
&gt; this case the script would need to find another solution or disable whatever
&gt; behavior it wanted to use -- I don&apos;t think the answer is to consider the text
&gt; box &quot;out of bounds&quot; for scripts.

Definitly agree, the text box should not be out of bounds. Actually in the current
ToT development, the input boxes are no longer platform controls, but rather
are html controls. They are essentially editable HTML DIVs. It will be 
interesting to see how this is handled in the current Symbian ToT port going on.

&gt; Of course, this is all predicated on scripts being written for mobile browsers.
&gt;  Is the concern really that the browser is trying to protect itself from
&gt; desktop pages?

The concern is that the mobile browser needs to provide a true web experience
and steps are taken in a way to ensure that the majority on existing web content
works and is usable on the mobile browser.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51609</commentid>
    <comment_count>6</comment_count>
    <who name="James Watts">jwatts</who>
    <bug_when>2006-08-03 11:54:42 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The concern is that the mobile browser needs to provide a true web experience
&gt; and steps are taken in a way to ensure that the majority on existing web
&gt; content
&gt; works and is usable on the mobile browser.

Fair enough.  Has forking behavior for mobile pages been considered?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51618</commentid>
    <comment_count>7</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-08-03 12:47:26 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; The concern is that the mobile browser needs to provide a true web experience
&gt; &gt; and steps are taken in a way to ensure that the majority on existing web
&gt; &gt; content
&gt; &gt; works and is usable on the mobile browser.
&gt; 
&gt; Fair enough.  Has forking behavior for mobile pages been considered?
&gt; 

Yes, there are thoughts around this. Currently, the thought is that a page that has the XHTML-MP DTD defined, then it is a mobile page. But there are also side effects of this, the content must be conformant to XHTML-MP. (strict XML)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51775</commentid>
    <comment_count>8</comment_count>
    <who name="James Watts">jwatts</who>
    <bug_when>2006-08-04 09:30:56 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Yes, there are thoughts around this. Currently, the thought is that a page that
&gt; has the XHTML-MP DTD defined, then it is a mobile page. But there are also side
&gt; effects of this, the content must be conformant to XHTML-MP. (strict XML)
&gt; 
And XHTML-MP doesn&apos;t support the script tag.  I&apos;ve heard adding it has been discussed -- it might make sense given that there is a standard for mobile ecmascript, but no corresponding markup standard to deliver it.

What about setting a property in the DOM directly (document.declareMobileDoc() or similar) or adding another meta tag?  Opera looks at the stylesheet for the media=&quot;handheld&quot; attribute to make some decisions like this, but this doesn&apos;t seem like a good solution for making scripting decisions.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54498</commentid>
    <comment_count>9</comment_count>
    <who name="Krishna">krishnamurty.podipireddy</who>
    <bug_when>2006-10-05 10:34:23 -0700</bug_when>
    <thetext>
TSW ID: KPOY-6UAMMP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25147</commentid>
    <comment_count>10</comment_count>
      <attachid>13071</attachid>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2007-02-08 15:54:57 -0800</bug_when>
    <thetext>Created attachment 13071
Updated testcase with tabbed nav turned on.

Updated testcase with tabbed nav turned on

 &lt;meta name=&quot;navigation&quot; content=&quot;tabbed&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25148</commentid>
    <comment_count>11</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2007-02-08 15:57:12 -0800</bug_when>
    <thetext>Attached testcase should pass after Zalan&apos;s patch:

http://trac.webkit.org/projects/webkit/changeset/19423

Resolved.

Thank you, James!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76924</commentid>
    <comment_count>12</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2008-04-09 11:39:36 -0700</bug_when>
    <thetext>Bulk closing of all s60 platform bugs. 

Sorry for the noise!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370544</commentid>
    <comment_count>13</comment_count>
    <who name="Joel Parks">joel.parks</who>
    <bug_when>2011-03-21 11:52:25 -0700</bug_when>
    <thetext>re-purposing InTSW keyword for use by QtWebkit team</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9833</attachid>
            <date>2006-08-02 14:49:03 -0700</date>
            <delta_ts>2007-02-08 15:54:57 -0800</delta_ts>
            <desc>key events test case</desc>
            <filename>inputkeyevents.html</filename>
            <type>text/html</type>
            <size>637</size>
            <attacher name="James Watts">jwatts</attacher>
            
              <data encoding="base64">PGh0bWw+IAogIDxoZWFkPiAKICA8c3R5bGUgbWVkaWE9InNjcmVlbiwgaGFuZGhlbGQiIHR5cGU9
InRleHQvY3NzIj4KICAgICAgICBib2R5IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDsK
ICAgICAgICAgIHBhZGRpbmc6IDJweDsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICB9CiAg
PC9zdHlsZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBo
YW5kbGVrZXkoZXZlbnQpIHsKICAgICAgaWYgKGV2ZW50LmtleUNvZGUpIHsKICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpLmlubmVySFRNTCA9IGV2ZW50LmtleUNvZGUg
KyAiIjsKICAgICAgfQogICAgfQogIDwvc2NyaXB0PgogIDwvaGVhZD4KICA8Ym9keSBvbmxvYWQ9
ImluaXQoKSI+CiAgICBlbnRlciB0ZXh0Ojxici8+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9
InRlc3RfdHh0IiB2YWx1ZT0iIiBvbmtleXByZXNzPSJyZXR1cm4gaGFuZGxla2V5KGV2ZW50KSIg
b25rZXlkb3duPSJyZXR1cm4gaGFuZGxla2V5KGV2ZW50KSIgdmFsdWU9IiIgb25rZXl1cD0icmV0
dXJuIGhhbmRsZWtleShldmVudCkiIC8+CiAgICA8ZGl2IGlkPSJyZXN1bHRzIi8+CiAgPC9ib2R5
Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>13071</attachid>
            <date>2007-02-08 15:54:57 -0800</date>
            <delta_ts>2007-02-08 15:54:57 -0800</delta_ts>
            <desc>Updated testcase with tabbed nav turned on.</desc>
            <filename>inputkeyevents-tabbednav.html</filename>
            <type>text/html</type>
            <size>681</size>
            <attacher name="Bradley Morrison">bradley.morrison</attacher>
            
              <data encoding="base64">PGh0bWw+IAogIDxoZWFkPiAKICA8c3R5bGUgbWVkaWE9InNjcmVlbiwgaGFuZGhlbGQiIHR5cGU9
InRleHQvY3NzIj4KICAgICAgICBib2R5IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDsK
ICAgICAgICAgIHBhZGRpbmc6IDJweDsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICB9CiAg
PC9zdHlsZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBo
YW5kbGVrZXkoZXZlbnQpIHsKICAgICAgaWYgKGV2ZW50LmtleUNvZGUpIHsKICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpLmlubmVySFRNTCA9IGV2ZW50LmtleUNvZGUg
KyAiIjsKICAgICAgfQogICAgfQogIDwvc2NyaXB0PgogIDxtZXRhIG5hbWU9Im5hdmlnYXRpb24i
IGNvbnRlbnQ9InRhYmJlZCI+CiAgPC9oZWFkPgogIDxib2R5IG9ubG9hZD0iaW5pdCgpIj4KICAg
IGVudGVyIHRleHQ6PGJyLz4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGVzdF90eHQiIHZh
bHVlPSIiIG9ua2V5cHJlc3M9InJldHVybiBoYW5kbGVrZXkoZXZlbnQpIiBvbmtleWRvd249InJl
dHVybiBoYW5kbGVrZXkoZXZlbnQpIiB2YWx1ZT0iIiBvbmtleXVwPSJyZXR1cm4gaGFuZGxla2V5
KGV2ZW50KSIgLz4KICAgIDxkaXYgaWQ9InJlc3VsdHMiLz4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>