<?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>125392</bug_id>
          
          <creation_ts>2013-12-07 11:52:34 -0800</creation_ts>
          <short_desc>REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking</short_desc>
          <delta_ts>2013-12-09 15:41:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>102624</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>957530</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-07 11:52:34 -0800</bug_when>
    <thetext>Activating an image button with the keyboard or element.click() should result in selected coords of (0,0). This is consistent with the spec and IE and Firefox.

The relevant spec is:
&quot;If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed.&quot;
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#image-button-state-(type=image)

https://code.google.com/p/chromium/issues/detail?id=306392</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957531</commentid>
    <comment_count>1</comment_count>
      <attachid>218660</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-07 12:10:05 -0800</bug_when>
    <thetext>Created attachment 218660
Merges the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957907</commentid>
    <comment_count>2</comment_count>
      <attachid>218660</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-09 08:28:25 -0800</bug_when>
    <thetext>Comment on attachment 218660
Merges the patch

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

&gt; Source/WebCore/html/ImageInputType.cpp:96
&gt; +static IntPoint clickLocationForEvent(Event&amp; event)
&gt; +{
&gt; +    if (!event.underlyingEvent())
&gt; +        return IntPoint();
&gt; +
&gt; +    Event&amp; underlyingEvent = *event.underlyingEvent();
&gt; +    if (!underlyingEvent.isMouseEvent())
&gt; +        return IntPoint();
&gt; +
&gt; +    MouseEvent&amp; mouseEvent = toMouseEvent(underlyingEvent);
&gt; +    if (mouseEvent.isSimulated())
&gt; +        return IntPoint();
&gt; +
&gt; +    return IntPoint(mouseEvent.offsetX(), mouseEvent.offsetY());
&gt; +}

This is not a very good standalone function. The function relies on the fact that the event passed to it is not itself a mouse event, and instead goes right at the underlying event. A general purpose function would want to handle the case where the event itself was a mouse event, and also arguably needs a loop that keeps following underlyingEvent pointers until it finds a mouse event.

I understand the desire to make ImageInputType::handleDOMActivateEvent more elegant by factoring out the code, but the code was specific to DOM activate in a subtle way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958115</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-09 15:41:15 -0800</bug_when>
    <thetext>Committed r160337: &lt;http://trac.webkit.org/changeset/160337&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218660</attachid>
            <date>2013-12-07 12:10:05 -0800</date>
            <delta_ts>2013-12-09 08:28:25 -0800</delta_ts>
            <desc>Merges the patch</desc>
            <filename>bug-125392-20131207121004.patch</filename>
            <type>text/plain</type>
            <size>6138</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MDI3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTA3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjEzNjI4MCk6
IGlucHV0W3R5cGU9aW1hZ2VdIHNob3VsZCBhc3N1bWUgY29vcmRzIG9mIDAsMCB3aGVuIGFjdGl2
YXRlZCB3aXRob3V0IHBoeXNpY2FsbHkgY2xpY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdlIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291
cmNlLmNvbS9jaHJvbWl1bS9ibGluay8rLzNjMzNkNDIyMDdjZDIwOWJiMTcxMDgzYmE2NmMyMjVm
Njk0ZjIxMDEKKworICAgICAgICBBY3RpdmF0aW5nIGFuIGltYWdlIGJ1dHRvbiB3aXRoIHRoZSBr
ZXlib2FyZCBvciBlbGVtZW50LmNsaWNrKCkgc2hvdWxkIHJlc3VsdCBpbiBzZWxlY3RlZCBjb29y
ZHMgb2YgKDAsMCkgcGVyCisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvQ1ItaHRt
bDUtMjAxMzA4MDYvZm9ybXMuaHRtbCNpbWFnZS1idXR0b24tc3RhdGUtKHR5cGU9aW1hZ2UpCisg
ICAgICAgICJJZiB0aGUgdXNlciBhY3RpdmF0ZXMgdGhlIGNvbnRyb2wgd2l0aG91dCBleHBsaWNp
dGx5IHNlbGVjdGluZyBhIGNvb3JkaW5hdGUsIHRoZW4gdGhlIGNvb3JkaW5hdGUgKDAsMCkgbXVz
dCBiZSBhc3N1bWVkLiIKKworICAgICAgICBOZXcgYmVoYXZpb3IgYWxzbyBtYXRjaGVzIHRoYXQg
b2YgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
Zm9ybXMvaW5wdXQtaW1hZ2Utc3VibWl0Lmh0bWwKKworICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1
dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xpY2tMb2NhdGlvbkZvckV2ZW50KTogRXh0
cmFjdGVkIGZyb20gaGFuZGxlRE9NQWN0aXZhdGVFdmVudC4gUmV0dXJuICgwLCAwKSBmb3Igc2lt
dWxhdGVkIGV2ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlSW5wdXRUeXBlOjpoYW5kbGVE
T01BY3RpdmF0ZUV2ZW50KToKKwogMjAxMy0xMi0wNyAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdzZW9r
Lm9oQGNvbGxhYm9yYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4IGZvciBn
dGsgcG9ydCBhZnRlciByMTYwMjYwLgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlu
cHV0VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0
VHlwZS5jcHAJKHJldmlzaW9uIDE2MDI3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJ
bnB1dFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSwxNyArNzksMjkgQEAgYm9vbCBJbWFn
ZUlucHV0VHlwZTo6c3VwcG9ydHNWYWxpZGF0aW9uKAogICAgIHJldHVybiBmYWxzZTsKIH0KIAor
c3RhdGljIEludFBvaW50IGNsaWNrTG9jYXRpb25Gb3JFdmVudChFdmVudCYgZXZlbnQpCit7Cisg
ICAgaWYgKCFldmVudC51bmRlcmx5aW5nRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuIEludFBvaW50
KCk7CisKKyAgICBFdmVudCYgdW5kZXJseWluZ0V2ZW50ID0gKmV2ZW50LnVuZGVybHlpbmdFdmVu
dCgpOworICAgIGlmICghdW5kZXJseWluZ0V2ZW50LmlzTW91c2VFdmVudCgpKQorICAgICAgICBy
ZXR1cm4gSW50UG9pbnQoKTsKKworICAgIE1vdXNlRXZlbnQmIG1vdXNlRXZlbnQgPSB0b01vdXNl
RXZlbnQodW5kZXJseWluZ0V2ZW50KTsKKyAgICBpZiAobW91c2VFdmVudC5pc1NpbXVsYXRlZCgp
KQorICAgICAgICByZXR1cm4gSW50UG9pbnQoKTsKKworICAgIHJldHVybiBJbnRQb2ludChtb3Vz
ZUV2ZW50Lm9mZnNldFgoKSwgbW91c2VFdmVudC5vZmZzZXRZKCkpOworfQorCiB2b2lkIEltYWdl
SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50KiBldmVudCkKIHsKICAgICBS
ZWY8SFRNTElucHV0RWxlbWVudD4gZWxlbWVudCh0aGlzLT5lbGVtZW50KCkpOwogICAgIGlmIChl
bGVtZW50LT5pc0Rpc2FibGVkRm9ybUNvbnRyb2woKSB8fCAhZWxlbWVudC0+Zm9ybSgpKQogICAg
ICAgICByZXR1cm47CiAgICAgZWxlbWVudC0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwotICAg
IGlmIChldmVudC0+dW5kZXJseWluZ0V2ZW50KCkgJiYgZXZlbnQtPnVuZGVybHlpbmdFdmVudCgp
LT5pc01vdXNlRXZlbnQoKSkgewotICAgICAgICBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3Rh
dGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50LT51bmRlcmx5aW5nRXZlbnQoKSk7Ci0gICAgICAg
IG1fY2xpY2tMb2NhdGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPm9mZnNldFgoKSwgbW91c2VF
dmVudC0+b2Zmc2V0WSgpKTsKLSAgICB9IGVsc2UKLSAgICAgICAgbV9jbGlja0xvY2F0aW9uID0g
SW50UG9pbnQoKTsKKyAgICBtX2NsaWNrTG9jYXRpb24gPSBjbGlja0xvY2F0aW9uRm9yRXZlbnQo
KmV2ZW50KTsKICAgICBlbGVtZW50LT5mb3JtKCktPnByZXBhcmVGb3JTdWJtaXNzaW9uKGV2ZW50
KTsgLy8gRXZlbnQgaGFuZGxlcnMgY2FuIHJ1bi4KICAgICBlbGVtZW50LT5zZXRBY3RpdmF0ZWRT
dWJtaXQoZmFsc2UpOwogICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMTYwMjc0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMTItMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTM2MjgwKTogaW5wdXRbdHlwZT1pbWFnZV0g
c2hvdWxkIGFzc3VtZSBjb29yZHMgb2YgMCwwIHdoZW4gYWN0aXZhdGVkIHdpdGhvdXQgcGh5c2lj
YWxseSBjbGlja2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI1MzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9zdG9wUHJvcGFnYXRpb24tc3VibWl0LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LWltYWdlLXN1Ym1pdC5odG1sOgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9mYXN0L2V2ZW50cy9zdG9wUHJvcGFnYXRpb24tc3VibWl0LWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKwogMjAxMy0xMi0wNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZUTCBzaG91bGQgc3VwcG9ydCBhbGwgb2YgQnJhbmNoL0xvZ2ljYWxO
b3QKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N0b3BQcm9wYWdhdGlvbi1zdWJtaXQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N0b3BQ
cm9wYWdhdGlvbi1zdWJtaXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNjAyNzQpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9zdG9wUHJvcGFnYXRpb24tc3VibWl0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDIgQEAKIFBBU1MKLT94PS04Jnk9LTYwCis/eD0wJnk9
MApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1pbWFnZS1zdWJtaXQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWltYWdlLXN1Ym1pdC5o
dG1sCShyZXZpc2lvbiAxNjAyNzQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWlt
YWdlLXN1Ym1pdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw3IEBAIGZ1bmN0aW9u
IHN0YXJ0VGVzdHMoKSB7CiAgICAgdmFyIHF1ZXJ5ID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDsK
IAogICAgIGlmIChxdWVyeS5pbmRleE9mKCdzdGF0ZT0nKSA9PSAtMSkgewotICAgICAgICAvLyBT
dGVwIDE6IE5vcm1hbCBzdWJtaXNzaW9uIHdpdGggdHlwZT1pbWFnZQorICAgICAgICAvLyBTdGVw
IDFhOiBOb3JtYWwgc3VibWlzc2lvbiBieSBtb3VzZSBjbGljayB3aXRoIHR5cGU9aW1hZ2UKICAg
ICAgICAgc3RhdGUudmFsdWUgPSAnbm9ybWFsJzsKICAgICAgICAgaW1hZ2UuZGlzcGF0Y2hFdmVu
dChjbGlja0V2ZW50KTsKICAgICB9IGVsc2UgaWYgKHF1ZXJ5LmluZGV4T2YoJ3N0YXRlPW5vcm1h
bCcpICE9IC0xKSB7CkBAIC03MCw2ICs3MCwzMCBAQCBmdW5jdGlvbiBzdGFydFRlc3RzKCkgewog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgLy8gU3RlcCAxYjogU3Vi
bWlzc2lvbiBieSBlbGVtZW50LmNsaWNrKCkgbWV0aG9kIHdpdGggdHlwZT1pbWFnZQorICAgICAg
ICBzdGF0ZS52YWx1ZSA9ICdjbGljay1tZXRob2QnOworICAgICAgICBpbWFnZS5jbGljaygpOwor
ICAgIH0gZWxzZSBpZiAocXVlcnkuaW5kZXhPZignc3RhdGU9Y2xpY2stbWV0aG9kJykgIT0gLTEp
IHsKKyAgICAgICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ2ltYWdlLng9MCZpbWFnZS55PTAmaW1hZ2U9
dmFsdWUnKSA9PSAtMSkgeworICAgICAgICAgICAgZmFpbEFuZERvbmUoJ0NsaWNrIG1ldGhvZCBm
YWlsZWQ6ICcgKyBxdWVyeSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICAvLyBTdGVwIDFjOiBTdWJtaXNzaW9uIGJ5IGtleWJvYXJkIGFjdGl2YXRpb24gd2l0aCB0
eXBlPWltYWdlCisgICAgICAgIHN0YXRlLnZhbHVlID0gJ2tleWJvYXJkJzsKKyAgICAgICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgaW1hZ2UuZm9jdXMoKTsKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oJyAnKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIGZhaWxBbmREb25lKCdUaGlzIHRlc3QgcmVxdWlyZXMgZXZlbnRTZW5kZXInKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAocXVlcnkuaW5kZXhP
Zignc3RhdGU9a2V5Ym9hcmQnKSAhPSAtMSkgeworICAgICAgICBpZiAocXVlcnkuaW5kZXhPZign
aW1hZ2UueD0wJmltYWdlLnk9MCZpbWFnZT12YWx1ZScpID09IC0xKSB7CisgICAgICAgICAgICBm
YWlsQW5kRG9uZSgnQWN0aXZhdGluZyB3aXRoIGtleWJvYXJkIGZhaWxlZDogJyArIHF1ZXJ5KTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIFN0ZXAgMjogQ2hh
bmdlIHRoZSB0eXBlIHRvIHRleHQgb24gJ3N1Ym1pdCcgZXZlbnQKICAgICAgICAgc3RhdGUudmFs
dWUgPSAndG8tdGV4dC1vbi1zdWJtaXQnOwogICAgICAgICBpbWFnZS5kaXNwYXRjaEV2ZW50KGNs
aWNrRXZlbnQpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZXZlbnRzL3N0
b3BQcm9wYWdhdGlvbi1zdWJtaXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2V2ZW50cy9zdG9wUHJvcGFnYXRpb24tc3VibWl0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMTYwMjc0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zh
c3QvZXZlbnRzL3N0b3BQcm9wYWdhdGlvbi1zdWJtaXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDIgKzAsMCBAQAotUEFTUwotP3g9LTgmeT0tNTgK
</data>
<flag name="review"
          id="242140"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>