<?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>87580</bug_id>
          
          <creation_ts>2012-05-26 10:16:06 -0700</creation_ts>
          <short_desc>Clip rects assertion when hovering div with transform</short_desc>
          <delta_ts>2012-05-26 13:16:17 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>eric</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>634657</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-26 10:16:06 -0700</bug_when>
    <thetext>Now that we cache clip rects for hit testing, which are relative to the &quot;rootLayer&quot; passed through RenderLayer::hitTest methods, we need to clear those caches when transforms come and go, otherwise we&apos;ll hit:

ASSERTION FAILED: rootLayer == m_clipRectsCache-&gt;m_clipRectsRoot[clipRectsType]
/Volumes/DataSSD/Development/apple/webkit/WebKit.git/Source/WebCore/rendering/RenderLayer.cpp(3777) : void WebCore::RenderLayer::updateClipRects(const WebCore::RenderLayer *, WebCore::RenderRegion *, WebCore::ClipRectsType, WebCore::OverlayScrollbarSizeRelevancy)
1   0x10586b6e7 WebCore::RenderLayer::updateClipRects(WebCore::RenderLayer const*, WebCore::RenderRegion*, WebCore::ClipRectsType, WebCore::OverlayScrollbarSizeRelevancy)
2   0x10586c455 WebCore::RenderLayer::parentClipRects(WebCore::RenderLayer const*, WebCore::RenderRegion*, WebCore::ClipRectsType, WebCore::ClipRects&amp;, WebCore::OverlayScrollbarSizeRelevancy) const
3   0x105863b31 WebCore::RenderLayer::backgroundClipRect(WebCore::RenderLayer const*, WebCore::RenderRegion*, WebCore::ClipRectsType, WebCore::OverlayScrollbarSizeRelevancy) const
4   0x105865ef9 WebCore::RenderLayer::calculateRects(WebCore::RenderLayer const*, WebCore::RenderRegion*, WebCore::ClipRectsType, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutRect&amp;, WebCore::ClipRect&amp;, WebCore::ClipRect&amp;, WebCore::ClipRect&amp;, WebCore::OverlayScrollbarSizeRelevancy) const
5   0x1058684cf WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
6   0x105869f1e WebCore::RenderLayer::hitTestList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
7   0x10586878c WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
8   0x1058680d4 WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
9   0x105869f1e WebCore::RenderLayer::hitTestList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
10  0x10586878c WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
11  0x105869f1e WebCore::RenderLayer::hitTestList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
12  0x10586878c WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutPoint const&amp;, bool, WebCore::HitTestingTransformState const*, double*)
13  0x105867b68 WebCore::RenderLayer::hitTest(WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;)
14  0x1059e7d60 WebCore::RenderView::hitTest(WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;)
15  0x1048e849a WebCore::Document::prepareMouseEvent(WebCore::HitTestRequest const&amp;, WebCore::FractionalLayoutPoint const&amp;, WebCore::PlatformMouseEvent const&amp;)
16  0x104b170e3 WebCore::EventHandler::prepareMouseEvent(WebCore::HitTestRequest const&amp;, WebCore::PlatformMouseEvent const&amp;)
17  0x104b176de WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&amp;, WebCore::HitTestResult*, bool)
18  0x104b171c1 WebCore::EventHandler::mouseMoved(WebCore::PlatformMouseEvent const&amp;)
19  0x104b27614 WebCore::EventHandler::mouseMoved(NSEvent*)
20  0x10288a163 -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
21  0x1028978b4 -[WebHTMLView mouseMovedNotification:]
22  0x7fff8e908d0e __-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_1
23  0x7fff98f6f7ba _CFXNotificationPost
24  0x7fff8e8f4fc3 -[NSNotificationCenter postNotificationName:object:userInfo:]
25  0x7fff93ff3fbd forwardMethod
26  0x7fff98fb670d -[NSObject performSelector:withObject:]
27  0x7fff93ff3f6a forwardMethod
28  0x7fff98fb670d -[NSObject performSelector:withObject:]
29  0x7fff93ff3f6a forwardMethod
30  0x7fff98fb670d -[NSObject performSelector:withObject:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634658</commentid>
    <comment_count>1</comment_count>
      <attachid>144204</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-26 10:22:08 -0700</bug_when>
    <thetext>Created attachment 144204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634662</commentid>
    <comment_count>2</comment_count>
      <attachid>144204</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-26 11:55:24 -0700</bug_when>
    <thetext>Comment on attachment 144204
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634664</commentid>
    <comment_count>3</comment_count>
      <attachid>144204</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-26 13:16:12 -0700</bug_when>
    <thetext>Comment on attachment 144204
Patch

Clearing flags on attachment: 144204

Committed r118612: &lt;http://trac.webkit.org/changeset/118612&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634665</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-26 13:16:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144204</attachid>
            <date>2012-05-26 10:22:08 -0700</date>
            <delta_ts>2012-05-26 13:16:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87580-20120526102207.patch</filename>
            <type>text/plain</type>
            <size>4210</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlmYjJkMDUzZWRjYzBk
Y2Q3MmY3ODA0ZjFkODU1NmE1NDBiOWUyMC4uMGFmYWRlMjExYTc0ZTYyMWU3ZmIxMDkyZGM5NzY5
MDY5ZWE5ZTc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTI2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsaXAgcmVjdHMg
YXNzZXJ0aW9uIHdoZW4gaG92ZXJpbmcgZGl2IHdpdGggdHJhbnNmb3JtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzU4MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgSGl0IHRlc3RpbmcgdXNl
ZCB0byB1c2UgdGVtcG9yYXJ5IGNsaXAgcmVjdHMgaW4gY29tcG9zaXRlZCBkb2N1bWVudHMsCisg
ICAgICAgIHVudGlsIHIxMTg1NjIuIE5vdyB0aGF0IHdlIGNhY2hlIGNsaXAgcmVjdHMgZm9yIGhp
dCB0ZXN0aW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIGNsZWFyIHRoZSBjYWNoZSBvbiBkZXNjZW5k
YW50IGxheWVycyB3aGVuIGEgbGF5ZXIgZ2FpbnMgb3IgbG9zZXMKKyAgICAgICAgYSB0cmFuc2Zv
cm0uCisKKyAgICAgICAgVGVzdDogZmFzdC9sYXllcnMvY2xpcC1yZWN0cy1hc3NlcnRpb24uaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVUcmFuc2Zvcm0pOgorCiAyMDEyLTA1LTI1ICBHYXJyZXR0
IENhc3RvICA8Z2Nhc3RvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBbGxvdyBXZWJUZXh0Rmll
bGREZWNvcmF0b3JDbGllbnQgdG8gc2VlIGFwcGxpZWQgZGVjb3JhdGlvbnMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAxZDI5ZGVjMDdhYzc1MjA0MDUzNGQ3
Njg1N2NkMjRiYzVlNzdlYWU2Li5lMGI1NmU3ZTU5YTIzN2Q1NTljZTkzY2E1NjFlMzdkYWNlMjQz
N2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTUwOCw2
ICs1MDgsOSBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVUcmFuc2Zvcm0oKQogICAgICAgICAg
ICAgbV90cmFuc2Zvcm0gPSBhZG9wdFB0cihuZXcgVHJhbnNmb3JtYXRpb25NYXRyaXgpOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBtX3RyYW5zZm9ybS5jbGVhcigpOworICAgICAgICAKKyAg
ICAgICAgLy8gTGF5ZXJzIHdpdGggdHJhbnNmb3JtcyBhY3QgYXMgY2xpcCByZWN0cyByb290cywg
c28gY2xlYXIgdGhlIGNhY2hlZCBjbGlwIHJlY3RzIGhlcmUuCisgICAgICAgIGNsZWFyQ2xpcFJl
Y3RzSW5jbHVkaW5nRGVzY2VuZGFudHMoKTsKICAgICB9CiAgICAgCiAgICAgaWYgKGhhc1RyYW5z
Zm9ybSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGEwYWQzZGFkYmRhM2JkNTA0NmI2ZGQ1NzA5OThmMWViNWY4NWViYTEu
LjUwNmU5ODhmNmI0Nzg1M2EzMWY2NTlkZGU0OTNhZTY1MGE2NzA1NDkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMi0wNS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KKworICAgICAgICBDbGlwIHJlY3RzIGFzc2VydGlvbiB3aGVuIGhvdmVyaW5nIGRpdiB3aXRo
IHRyYW5zZm9ybQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODc1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIFRlc3QgdGhhdCBjaGFuZ2VzIHRyYW5zZm9ybSBvbiBob3ZlciBzdHlsZSwgdGVz
dGluZyBmb3IgY2xpcFJlY3QtcmVsYXRlZAorICAgICAgICBhc3NlcnRpb25zLgorCisgICAgICAg
ICogZmFzdC9sYXllcnMvY2xpcC1yZWN0cy1hc3NlcnRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2xheWVycy9jbGlwLXJlY3RzLWFzc2VydGlvbi5odG1sOiBBZGRlZC4K
KwogMjAxMi0wNS0yNSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IGltcGxlbWVudCBuZXcgbmVnYXRpdmUgZmxleGluZyBhbGdvcml0aG0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbGF5ZXJzL2NsaXAtcmVjdHMtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvbGF5ZXJzL2NsaXAtcmVjdHMtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZWJmMWJkYmM4Nzg0ZjVhODAxM2M2N2I4YzJmZWVhMTYyYTk2OTA2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXllcnMvY2xpcC1yZWN0cy1hc3Nl
cnRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0IHNob3VsZCBub3Qg
YXNzZXJ0IGluIGRlYnVnIGJ1aWxkcy4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2xheWVycy9jbGlwLXJlY3RzLWFzc2VydGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXll
cnMvY2xpcC1yZWN0cy1hc3NlcnRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTVmNWQ0OGZhM2UyMzY3
Nzc2OTJlZjMwN2VkNjE0NjFhMjViMzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9sYXllcnMvY2xpcC1yZWN0cy1hc3NlcnRpb24uaHRtbApAQCAtMCwwICsxLDUzIEBACis8
IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgorICAgIC5jb250YWlu
ZXIgeworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1h
cmdpbjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgLXdlYmtp
dC1wZXJzcGVjdGl2ZTogNTAwcHg7CisgICAgfQorICAgIAorICAgIC5jb250YWluZXI6aG92ZXIg
eworICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CisgICAgfQorICAgIAor
ICAgIC5ib3ggeworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgIG1hcmdpbjogNTBweDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICBv
cGFjaXR5OiAwLjU7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KHRydWUpOworICAgIAorICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAg
aWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg1LCA1KTsKKyAgICAgIGRvY3VtZW50LmJvZHkub2Zm
c2V0VG9wOworICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oNiwgNik7CisKKyAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCA1MCk7CisgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNl
dFRvcDsKKyAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUxLCA1MSk7CisgICAgfQorCisg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKyAgPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGhpcyB0ZXN0IHNob3VsZCBub3QgYXNzZXJ0
IGluIGRlYnVnIGJ1aWxkcy48L3A+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>