<?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>120648</bug_id>
          
          <creation_ts>2013-09-03 13:28:33 -0700</creation_ts>
          <short_desc>[GTK] mouse wheel events are not considered to be mouse events</short_desc>
          <delta_ts>2013-10-09 06:06:18 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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 name="Grant Gayed">grant_gayed</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>924169</commentid>
    <comment_count>0</comment_count>
    <who name="Grant Gayed">grant_gayed</who>
    <bug_when>2013-09-03 13:28:33 -0700</bug_when>
    <thetext>When a mouse wheel event is received, various WebKitGTK API that is used to get info from the event, such as webkit_dom_mouse_event_get_screen_?() and webkit_dom_mouse_event_get_button(), fail with an error spew like:

** CRITICAL **: glong webkit_dom_mouse_event_get_screen_y(WebKitDOMMouseEvent*): assertion `WEBKIT_DOM_IS_MOUSE_EVENT(self)&apos; failed

** CRITICAL **: gushort webkit_dom_mouse_event_get_button(WebKitDOMMouseEvent*): assertion `WEBKIT_DOM_IS_MOUSE_EVENT(self)&apos; failed

I think MouseWheel events should be considered to be mouse events (?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937427</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-08 00:25:13 -0700</bug_when>
    <thetext>We don&apos;t expose WheelEvent in the DOM bindings, but WheelEvent derives from MouseEvent so it should be considered a mouse event in any case. Could you share more code to try to reproduce the issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937428</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-08 00:29:06 -0700</bug_when>
    <thetext>bool WheelEvent::isMouseEvent() const
{
    return false;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937493</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-08 05:31:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; bool WheelEvent::isMouseEvent() const
&gt; {
&gt;     return false;
&gt; }

ok, this is used internally to handle clicks and moves, that&apos;s why this returns false. We should check if the event interface type is WheelEventInterfaceType to create a mouse event, but I guess it would be better to expose WheelEvent in our bindings, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937496</commentid>
    <comment_count>4</comment_count>
      <attachid>213682</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-08 06:34:27 -0700</bug_when>
    <thetext>Created attachment 213682
Patch

Expose WheelEvent in GObject DOM bindings, that way we make sure the generated object is a WheelEvent and therefore a MouseEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937504</commentid>
    <comment_count>5</comment_count>
      <attachid>213682</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-08 07:34:25 -0700</bug_when>
    <thetext>Comment on attachment 213682
Patch

Makes sense to me, I guess we should get a rubber-stamp from someone else just in case, but we have been known to not use the 2 reviews rule for the DOM bindings heh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937893</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-09 06:06:18 -0700</bug_when>
    <thetext>Committed r157163: &lt;http://trac.webkit.org/changeset/157163&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213682</attachid>
            <date>2013-10-08 06:34:27 -0700</date>
            <delta_ts>2013-10-08 07:34:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wkdom-wheel-event.diff</filename>
            <type>text/plain</type>
            <size>3262</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmNzFmN2NiLi43OTNiNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMTAtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIG1vdXNlIHdoZWVsIGV2ZW50cyBhcmUgbm90IGNvbnNpZGVyZWQg
dG8gYmUgbW91c2UgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjA2NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBFeHBvc2UgV2hlZWxFdmVudCBpbiB0aGUgR09iamVjdCBET00gYmluZGluZ3Mg
QVBJLgorCisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbTogQWRkIG5l
dyBmaWxlcyB0byBjb21waWxhdGlvbi4KKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktp
dERPTVByaXZhdGUuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwKTogQ3JlYXRlIGEgV2ViS2l0
RE9NV2hlZWxFdmVudCB3aGVuIHRoZSBnaXZlbiBFdmVudAorICAgICAgICBpcyBhIFdoZWVsRXZl
bnQuCisKIDIwMTMtMTAtMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05V
bWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtCmluZGV4IGJlMWIxZDMuLmYzZTJlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQpAQCAtMjcxLDYgKzI3MSw4IEBAIHdlYmtpdGd0a19n
ZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRE
T01XZWJLaXRQb2ludC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET01X
ZWJLaXRQb2ludFByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0ZG9tL1dlYktpdERP
TVdlYktpdE5hbWVkRmxvdy5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRE
T01XaGVlbEV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0ZG9tL1dlYktpdERPTVdo
ZWVsRXZlbnRQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET01Y
UGF0aEV4cHJlc3Npb24uY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9N
WFBhdGhFeHByZXNzaW9uUHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2Vi
S2l0RE9NWFBhdGhOU1Jlc29sdmVyLmNwcCBcCkBAIC00MjIsNiArNDI0LDcgQEAgd2Via2l0Z3Rr
X2dkb21fYnVpbHRfaF9hcGkgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRE
T01QZXJmb3JtYW5jZUVudHJ5TGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2Vi
S2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRv
bS9XZWJLaXRET01QZXJmb3JtYW5jZVRpbWluZy5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXRk
b20vV2ViS2l0RE9NV2hlZWxFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vd2Vi
a2l0ZG9tLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS93ZWJraXRkb21kZWZpbmVzLmgK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01Q
cml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NUHJp
dmF0ZS5jcHAKaW5kZXggZjUwZGNjZi4uMDhlZmQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01Qcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTVByaXZhdGUuY3BwCkBAIC02Miw2ICs2Miw3
IEBACiAjaW5jbHVkZSAiV2ViS2l0RE9NU3R5bGVTaGVldFByaXZhdGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRET01UZXh0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTVVJRXZlbnRQcml2YXRl
LmgiCisjaW5jbHVkZSAiV2ViS2l0RE9NV2hlZWxFdmVudFByaXZhdGUuaCIKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKQEAgLTExMSwxNCArMTEyLDE4IEBAIFdlYktpdERPTUV2ZW50KiB3cmFwKEV2
ZW50KiBldmVudCkKIHsKICAgICBBU1NFUlQoZXZlbnQpOwogCi0gICAgaWYgKGV2ZW50LT5pc01v
dXNlRXZlbnQoKSkKLSAgICAgICAgcmV0dXJuIFdFQktJVF9ET01fRVZFTlQod3JhcE1vdXNlRXZl
bnQoc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KSkpOworICAgIGlmIChldmVudC0+aXNV
SUV2ZW50KCkpIHsKKyAgICAgICAgaWYgKGV2ZW50LT5pc01vdXNlRXZlbnQoKSkKKyAgICAgICAg
ICAgIHJldHVybiBXRUJLSVRfRE9NX0VWRU5UKHdyYXBNb3VzZUV2ZW50KHN0YXRpY19jYXN0PE1v
dXNlRXZlbnQqPihldmVudCkpKTsKIAotICAgIGlmIChldmVudC0+aXNLZXlib2FyZEV2ZW50KCkp
Ci0gICAgICAgIHJldHVybiBXRUJLSVRfRE9NX0VWRU5UKHdyYXBLZXlib2FyZEV2ZW50KHN0YXRp
Y19jYXN0PEtleWJvYXJkRXZlbnQqPihldmVudCkpKTsKKyAgICAgICAgaWYgKGV2ZW50LT5pc0tl
eWJvYXJkRXZlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBXRUJLSVRfRE9NX0VWRU5UKHdyYXBL
ZXlib2FyZEV2ZW50KHN0YXRpY19jYXN0PEtleWJvYXJkRXZlbnQqPihldmVudCkpKTsKKworICAg
ICAgICBpZiAoZXZlbnQtPmV2ZW50SW50ZXJmYWNlKCkgPT0gV2hlZWxFdmVudEludGVyZmFjZVR5
cGUpCisgICAgICAgICAgICByZXR1cm4gV0VCS0lUX0RPTV9FVkVOVCh3cmFwV2hlZWxFdmVudChz
dGF0aWNfY2FzdDxXaGVlbEV2ZW50Kj4oZXZlbnQpKSk7CiAKLSAgICBpZiAoZXZlbnQtPmlzVUlF
dmVudCgpKQogICAgICAgICByZXR1cm4gV0VCS0lUX0RPTV9FVkVOVCh3cmFwVUlFdmVudChzdGF0
aWNfY2FzdDxVSUV2ZW50Kj4oZXZlbnQpKSk7CisgICAgfQogCiAgICAgcmV0dXJuIHdyYXBFdmVu
dChldmVudCk7CiB9Cg==
</data>
<flag name="review"
          id="236075"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>