<?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>56761</bug_id>
          
          <creation_ts>2011-03-21 11:40:29 -0700</creation_ts>
          <short_desc>KeyboardEvent keyIdentifier is not propagated to plugins by Chromium</short_desc>
          <delta_ts>2013-04-11 13:30:23 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>wez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>levin</cc>
    
    <cc>morrita</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>370502</commentid>
    <comment_count>0</comment_count>
    <who name="">wez</who>
    <bug_when>2011-03-21 11:40:29 -0700</bug_when>
    <thetext>Overview:

DOM KeyboardEvents reach plug-ins in Chromium via the WebPluginContainerImpl, which converts them to Chromium&apos;s WebKeyboardEvent.  The conversion process doesn&apos;t currently propagate the keyIdentifier field (presumably because that is never currently passed to plug-ins).

Steps to Reproduce:

Try to use the keyIdentifier field of the WebKeyboardEvent from plug-in code.

Actual Results:

The keyIdentifier string will be empty.

Expected Results:

The keyIdentifier field should contain a character key-value (e.g. U+0041) or key function name (e.g. &quot;Shift&quot;).

Build Date &amp; Platform:

Build 2011-03-21 on Linux w/ Chromium development build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372129</commentid>
    <comment_count>1</comment_count>
      <attachid>86613</attachid>
    <who name="">wez</who>
    <bug_when>2011-03-23 07:14:29 -0700</bug_when>
    <thetext>Created attachment 86613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384368</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-12 14:17:02 -0700</bug_when>
    <thetext>Looks no harm. This patch would be safe to r+ for any reviewers ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384412</commentid>
    <comment_count>3</comment_count>
      <attachid>86613</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-04-12 15:03:45 -0700</bug_when>
    <thetext>Comment on attachment 86613
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=86613&amp;action=review

&gt; Source/WebKit/chromium/src/WebInputEventConversion.cpp:339
&gt; +            sizeof(keyIdentifier) - 1);

I dislike strncpy. It does weird things. (Why fill in all those 0&apos;s?)

What about memcpy?
   memcpy(keyIdentifier, event.keyIdentifier().ascii().data(), std::min(sizeof(keyIdentifier) - 1, event.keyIdentifier().ascii().length());
   keyIdentifier[event.keyIdentifier().ascii().length()] = &apos;\0&apos;;

(Of course, you may want to put event.keyIdentifier().ascii() in a local and possible length as well, so I guess that makes it slightly longer.)

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384414</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-04-12 15:05:32 -0700</bug_when>
    <thetext>fwiw, I tried to find a function in webkit that did this but failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393083</commentid>
    <comment_count>5</comment_count>
      <attachid>86613</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-26 16:54:06 -0700</bug_when>
    <thetext>Comment on attachment 86613
Patch

r- per David&apos;s last comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874107</commentid>
    <comment_count>6</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-04-11 13:30:23 -0700</bug_when>
    <thetext>https://code.google.com/p/chromium/issues/detail?id=230550</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86613</attachid>
            <date>2011-03-23 07:14:29 -0700</date>
            <delta_ts>2011-04-26 16:54:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56761-20110323141427.patch</filename>
            <type>text/plain</type>
            <size>1680</size>
            <attacher>wez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE2NzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
MWQ1OGFmNGY1MDNkMTRmZWRkNzMyNTY2MThjNjk4NTkxNWM5YjM3ZC4uYWEzNjEzNTNkNzA4YTZl
MDVjNjRjZjI1OGMwMjdjMzY4MTBkYmZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxMS0wMy0yMyAgV2V6ICA8d2V6QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNTY3NjE6IEtl
eWJvYXJkRXZlbnQga2V5SWRlbnRpZmllciBpcyBub3QgcHJvcGFnYXRlZCB0byBwbHVnaW5zIGJ5
IENocm9taXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTY3NjEKKworICAgICAgICAqIHNyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYktleWJvYXJkRXZlbnRCdWlsZGVyOjpXZWJLZXlib2FyZEV2ZW50
QnVpbGRlcik6CisgICAgICAgIFByb3BhZ2F0ZSB0aGUga2V5SWRlbnRpZmllciBmcm9tIERPTSBL
ZXlib2FyZEV2ZW50IHRvIFdlYktleWJvYXJkRXZlbnQuCisKIDIwMTEtMDMtMjEgIEFkYW0gS2xl
aW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2
aW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50
Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50
Q29udmVyc2lvbi5jcHAKaW5kZXggMjRlZWI4ODViMGYyODBjNmMyMDlkZjFmMjIwZDhjMmYzNDM2
ODNjZi4uMDVhMTZkMTgyZTliM2JkZWMyMWE4ZjMyOTk4NmFiN2YzNmZiMWJiMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9u
LmNwcApAQCAtMzM0LDYgKzMzNCwxMSBAQCBXZWJLZXlib2FyZEV2ZW50QnVpbGRlcjo6V2ViS2V5
Ym9hcmRFdmVudEJ1aWxkZXIoY29uc3QgS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAgICAgdGltZVN0
YW1wU2Vjb25kcyA9IGV2ZW50LnRpbWVTdGFtcCgpICogMS4wZS0zOwogICAgIHdpbmRvd3NLZXlD
b2RlID0gZXZlbnQua2V5Q29kZSgpOwogCisgICAgLy8gUHVsbCB0aGUgRE9NLUxldmVsLTMga2V5
ICJpZGVudGlmaWVyIiBvdXQKKyAgICBzdHJuY3B5KGtleUlkZW50aWZpZXIsIGV2ZW50LmtleUlk
ZW50aWZpZXIoKS5hc2NpaSgpLmRhdGEoKSwKKyAgICAgICAgICAgIHNpemVvZihrZXlJZGVudGlm
aWVyKSAtIDEpOworICAgIGtleUlkZW50aWZpZXJbc2l6ZW9mKGtleUlkZW50aWZpZXIpIC0gMV0g
PSAnXDAnOworCiAgICAgLy8gVGhlIHBsYXRmb3JtIGtleWV2ZW50IGRvZXMgbm90IGV4aXN0IGlm
IHRoZSBldmVudCB3YXMgY3JlYXRlZCB1c2luZwogICAgIC8vIGluaXRLZXlib2FyZEV2ZW50Lgog
ICAgIGlmICghZXZlbnQua2V5RXZlbnQoKSkK
</data>
<flag name="review"
          id="78917"
          type_id="1"
          status="-"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>