<?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>101915</bug_id>
          
          <creation_ts>2012-11-12 03:07:09 -0800</creation_ts>
          <short_desc>hitTestResultAtPoint does two hit-tests if called on non main frame</short_desc>
          <delta_ts>2012-11-12 10:13:45 -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>UI Events</component>
          <version>420+</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98139</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764187</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-12 03:07:09 -0800</bug_when>
    <thetext>EventHandler::hitTestResultAtPoint performs a second hit-test if it hits something and it was not started on the main-frame. Due to another quirk in RenderLayer hit-tests will in most cases pretend to hit the frame. 

This leads to not only needlessly performing multiple test, but having rare cases where the returned empty result is not performed from the perspective of the main frame.

Changing the logic to always redirect to the main-frame will save one of the hit-tests in most cases, and simplify the hitTestResult to always being started in the context of the main-frame. The last part is needed to clarify the hitTestResult interface in bug #98139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764204</commentid>
    <comment_count>1</comment_count>
      <attachid>173603</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-12 03:21:54 -0800</bug_when>
    <thetext>Created attachment 173603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764314</commentid>
    <comment_count>2</comment_count>
      <attachid>173603</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-11-12 05:41:39 -0800</bug_when>
    <thetext>Comment on attachment 173603
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764539</commentid>
    <comment_count>3</comment_count>
      <attachid>173603</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 10:13:42 -0800</bug_when>
    <thetext>Comment on attachment 173603
Patch

Clearing flags on attachment: 173603

Committed r134253: &lt;http://trac.webkit.org/changeset/134253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764540</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 10:13:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173603</attachid>
            <date>2012-11-12 03:21:54 -0800</date>
            <delta_ts>2012-11-12 10:13:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101915-20121112121932.patch</filename>
            <type>text/plain</type>
            <size>3790</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQzNDJkMDU0ZGQzYjQw
OTVhNDJlNDhkMGMwOTQ5NzIwM2MwODMyZi4uOGNiNjVhMDIwYzUyY2UwNTUxMDA0MWU5NTZlNTQ4
YWZhZGQ0NzU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTEyICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIGhp
dFRlc3RSZXN1bHRBdFBvaW50IGRvZXMgdHdvIGhpdC10ZXN0cyBpZiBjYWxsZWQgb24gbm9uIG1h
aW4gZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMTkxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsd2F5cyByZWRpcmVjdCBoaXRUZXN0UmVzdWx0QXRQb2ludCB0byB0aGUgbWFpbi1mcmFtZS4g
VGhpcyB1c2VkIHRvIGJlaW5nCisgICAgICAgIGRvbmUgb24gZXZlcnkgcmVzdWx0IHRoYXQgaGl0
IGFueXRoaW5nLCB3aGljaCBjYXVzZWQgcnVubmluZyB0aGUgZXhwZW5zaXZlIAorICAgICAgICBo
aXQtdGVzdHMgbXVsdGlwbGUgdGltZXMgaW4gYWxtb3N0IGFsbCBjYXNlcy4KKworICAgICAgICAq
IHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGl0VGVzdFJlc3VsdEF0UG9pbnQpOgorCiAyMDEyLTExLTA4ICBaZW5vIEFsYmlzc2VyICA8emVu
b0B3ZWJraXQub3JnPgogCiAgICAgICAgIEdyYXBoaWNzU3VyZmFjZUdMWCBuZWVkcyB0byBxdWVy
eSB0aGUgZHJhd2FibGUgZm9yIFlJbnZlcnNpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKaW5kZXggOTIwNTVhMTIzM2E3ODQ2OTUyYjdiYmNmYzExYWQ3M2M1YzgzZTk4Zi4uNjU5
YTJkMzNiYjc0OTUxYWY1MzQxOWRmMDU5NTZkYjA1NzQ4ZWFlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcApAQCAtMTEwMSw5ICsxMTAxLDIzIEBAIERyYWdTb3VyY2VBY3Rpb24g
RXZlbnRIYW5kbGVyOjp1cGRhdGVEcmFnU291cmNlQWN0aW9uc0FsbG93ZWQoKSBjb25zdAogICAg
IHJldHVybiBwYWdlLT5kcmFnQ29udHJvbGxlcigpLT5kZWxlZ2F0ZURyYWdTb3VyY2VBY3Rpb24o
dmlldy0+Y29udGVudHNUb1Jvb3RWaWV3KG1fbW91c2VEb3duUG9zKSk7CiB9CiAjZW5kaWYgLy8g
RU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICAKKwogSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6
OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgYm9vbCBhbGxv
d1NoYWRvd0NvbnRlbnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcsIEhpdFRlc3RTY3JvbGxiYXJzIHRl
c3RTY3JvbGxiYXJzLCBIaXRUZXN0UmVxdWVzdDo6SGl0VGVzdFJlcXVlc3RUeXBlIGhpdFR5cGUs
IGNvbnN0IExheW91dFNpemUmIHBhZGRpbmcpCiB7CisgICAgLy8gV2UgYWx3YXlzIHNlbmQgaGl0
VGVzdFJlc3VsdEF0UG9pbnQgdG8gdGhlIG1haW4gZnJhbWUgaWYgd2UgaGF2ZSBvbmUsCisgICAg
Ly8gb3RoZXJ3aXNlIHdlIG1pZ2h0IGhpdCBhcmVhcyB0aGF0IGFyZSBvYnNjdXJlZCBieSBoaWdo
ZXIgZnJhbWVzLgorICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKSB7CisgICAg
ICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICAgICAgaWYgKG1f
ZnJhbWUgIT0gbWFpbkZyYW1lKSB7CisgICAgICAgICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9
IG1fZnJhbWUtPnZpZXcoKTsKKyAgICAgICAgICAgIEZyYW1lVmlldyogbWFpblZpZXcgPSBtYWlu
RnJhbWUtPnZpZXcoKTsKKyAgICAgICAgICAgIGlmIChmcmFtZVZpZXcgJiYgbWFpblZpZXcpIHsK
KyAgICAgICAgICAgICAgICBJbnRQb2ludCBtYWluRnJhbWVQb2ludCA9IG1haW5WaWV3LT5yb290
Vmlld1RvQ29udGVudHMoZnJhbWVWaWV3LT5jb250ZW50c1RvUm9vdFZpZXcocm91bmRlZEludFBv
aW50KHBvaW50KSkpOworICAgICAgICAgICAgICAgIHJldHVybiBtYWluRnJhbWUtPmV2ZW50SGFu
ZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluRnJhbWVQb2ludCwgYWxsb3dTaGFkb3dD
b250ZW50LCBpZ25vcmVDbGlwcGluZywgdGVzdFNjcm9sbGJhcnMsIGhpdFR5cGUsIHBhZGRpbmcp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCiAgICAgSGl0VGVzdFJlc3VsdCBy
ZXN1bHQocG9pbnQsIHBhZGRpbmcuaGVpZ2h0KCksIHBhZGRpbmcud2lkdGgoKSwgcGFkZGluZy5o
ZWlnaHQoKSwgcGFkZGluZy53aWR0aCgpKTsKIAogICAgIGlmICghbV9mcmFtZS0+Y29udGVudFJl
bmRlcmVyKCkpCkBAIC0xMTM4LDIxICsxMTUyLDYgQEAgSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRs
ZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgYm9vbAog
ICAgICAgICAgICAgICAgIHJlc3VsdC5zZXRTY3JvbGxiYXIoZXZlbnRTY3JvbGxiYXIpOwogICAg
ICAgICB9CiAgICAgfQotICAgIAotICAgIC8vIElmIG91ciBIaXRUZXN0UmVzdWx0IGlzIG5vdCB2
aXNpYmxlLCB0aGVuIHdlIHN0YXJ0ZWQgaGl0IHRlc3RpbmcgdG9vIGZhciBkb3duIHRoZSBmcmFt
ZSBjaGFpbi4gCi0gICAgLy8gQW5vdGhlciBoaXQgdGVzdCBhdCB0aGUgbWFpbiBmcmFtZSBsZXZl
bCBzaG91bGQgZ2V0IHVzIHRoZSBjb3JyZWN0IHZpc2libGUgcmVzdWx0LgotICAgIEZyYW1lKiBy
ZXN1bHRGcmFtZSA9IHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSA/IHJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSA6IDA7Ci0gICAgaWYgKFBhZ2UqIHBh
Z2UgPSBtX2ZyYW1lLT5wYWdlKCkpIHsKLSAgICAgICAgRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2Ut
Pm1haW5GcmFtZSgpOwotICAgICAgICBpZiAobV9mcmFtZSAhPSBtYWluRnJhbWUgJiYgcmVzdWx0
RnJhbWUgJiYgcmVzdWx0RnJhbWUgIT0gbWFpbkZyYW1lKSB7Ci0gICAgICAgICAgICBGcmFtZVZp
ZXcqIHJlc3VsdFZpZXcgPSByZXN1bHRGcmFtZS0+dmlldygpOwotICAgICAgICAgICAgRnJhbWVW
aWV3KiBtYWluVmlldyA9IG1haW5GcmFtZS0+dmlldygpOwotICAgICAgICAgICAgaWYgKHJlc3Vs
dFZpZXcgJiYgbWFpblZpZXcpIHsKLSAgICAgICAgICAgICAgICBJbnRQb2ludCBtYWluRnJhbWVQ
b2ludCA9IG1haW5WaWV3LT5yb290Vmlld1RvQ29udGVudHMocmVzdWx0Vmlldy0+Y29udGVudHNU
b1Jvb3RWaWV3KHJvdW5kZWRJbnRQb2ludChyZXN1bHQucG9pbnQoKSkpKTsKLSAgICAgICAgICAg
ICAgICByZXN1bHQgPSBtYWluRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQ
b2ludChtYWluRnJhbWVQb2ludCwgYWxsb3dTaGFkb3dDb250ZW50LCBpZ25vcmVDbGlwcGluZywg
dGVzdFNjcm9sbGJhcnMsIGhpdFR5cGUsIHBhZGRpbmcpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgfQogCiAgICAgaWYgKCFhbGxvd1NoYWRvd0NvbnRlbnQpCiAgICAgICAgIHJlc3Vs
dC5zZXRUb05vblNoYWRvd0FuY2VzdG9yKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>