<?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>82059</bug_id>
          
          <creation_ts>2012-03-23 09:10:43 -0700</creation_ts>
          <short_desc>Incorrect foreignObject hit test results when overlapping other SVG elements</short_desc>
          <delta_ts>2012-03-28 14:01:03 -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>SVG</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="Florin Malita">fmalita</reporter>
          <assigned_to name="Florin Malita">fmalita</assigned_to>
          <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>586384</commentid>
    <comment_count>0</comment_count>
      <attachid>133498</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-03-23 09:10:43 -0700</bug_when>
    <thetext>Created attachment 133498
Blue div clicks are not detected in the overlapping region.

http://code.google.com/p/chromium/issues/detail?id=116908

The generic phased subtree hit testing logic doesn&apos;t play nice with FO&apos;s stacking context. The FO content is flattened so a HitTestForeground query needs to also check for children background hits, etc.

For the attached example, clicking on the blue div in the overlapping region ends up firing a foreground hit on the underlying red rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589268</commentid>
    <comment_count>1</comment_count>
      <attachid>134135</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-03-27 14:15:48 -0700</bug_when>
    <thetext>Created attachment 134135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589867</commentid>
    <comment_count>2</comment_count>
      <attachid>134135</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-28 05:19:09 -0700</bug_when>
    <thetext>Comment on attachment 134135
Patch

r=me. You&apos;re doing all of this from the Foreground phase, due the FOs stacking context. The only renderer that used to care about phases like HitTestFloat or HotTestChildBlockBackgrounds is RenderSVGFo. Now that this dependency is gone, we can completely avoid painting() the whole SVG subtree in non-foreground phases (still exceptions are needed for PaintPhaseSelection I think) - that would save a lot of time! Can you look into this? (Easy approach, early return in RenderSVGRoot::paint if phase is not foreground, then see what tests breaks :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589922</commentid>
    <comment_count>3</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-03-28 07:02:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; we can completely avoid painting() the whole SVG subtree in non-foreground phases (still exceptions are needed for PaintPhaseSelection I think) - that would save a lot of time! Can you look into this? (Easy approach, early return in RenderSVGRoot::paint if phase is not foreground, then see what tests breaks :-)

Sure thing, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590399</commentid>
    <comment_count>4</comment_count>
      <attachid>134135</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-28 14:00:59 -0700</bug_when>
    <thetext>Comment on attachment 134135
Patch

Clearing flags on attachment: 134135

Committed r112438: &lt;http://trac.webkit.org/changeset/112438&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590400</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-28 14:01:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>133498</attachid>
            <date>2012-03-23 09:10:43 -0700</date>
            <delta_ts>2012-03-23 09:10:43 -0700</delta_ts>
            <desc>Blue div clicks are not detected in the overlapping region.</desc>
            <filename>fo-hit.svg</filename>
            <type>image/svg+xml</type>
            <size>429</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHg9IjEwMCIg
eT0iMTAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0icmVkIiBvbmNsaWNrPSJ3aW5k
b3cuYWxlcnQoJ3JlZCcpOyIvPgogIDxmb3JlaWduT2JqZWN0IHg9IjExMCIgeT0iMTkwIiBoZWln
aHQ9IjEwMCIgd2lkdGg9IjIwMCI+CiAgICA8Ym9keSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCIgc3R5bGU9Im1hcmdpbjogMDsgcGFkZGluZzogMDsiPgogICAgICA8ZGl2IHN0
eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6Ymx1ZTsi
IG9uY2xpY2s9IndpbmRvdy5hbGVydCgnYmx1ZScpOyI+CiAgICAgIDwvZGl2PgogICAgPC9ib2R5
PgogIDwvZm9yZWlnbk9iamVjdD4KPC9zdmc+CgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134135</attachid>
            <date>2012-03-27 14:15:48 -0700</date>
            <delta_ts>2012-03-28 14:00:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82059-20120327171546.patch</filename>
            <type>text/plain</type>
            <size>5304</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFhMTI0ZDM1ZDdmNzU0
YWFlNTA0Y2U0M2U0NzJiYTM5ZjU4YWZlNy4uYWI0NzkzNzU5NzExODI4MGZjMGFiMDk3YTAwMjI5
ZjZhNWMzZDg1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTI3ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgorCisgICAgICAgIEluY29ycmVjdCBmb3Jl
aWduT2JqZWN0IGhpdCB0ZXN0IHJlc3VsdHMgd2hlbiBvdmVybGFwcGluZyBvdGhlciBTVkcgZWxl
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgy
MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogc3ZnL2hpdHRlc3QvZm9yZWlnbi1vYmplY3QtYmFja2dyb3VuZC5zdmcKKworICAgICAgICBG
b3JlaWduIGNvbnRlbnQgbmVlZHMgdG8gYmUgaGl0LXRlc3RlZCBhdG9taWNhbGx5IGR1ZSB0byB0
aGUgKHBzZXVkbykKKyAgICAgICAgc3RhY2tpbmcgY29udGV4dCBlc3RhYmxpc2hlZCBieSBGT3Mu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6bm9kZUF0RmxvYXRQb2lu
dCk6CisgICAgICAgIEhpdCB0ZXN0IGFsbCBwaGFzZXMgb24gRk8gSGl0VGVzdEZvcmVncm91bmQu
CisKIDIwMTItMDMtMjcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBEb2N1bWVudDo6bWFwcGVkRWxlbWVudFNoZWV0KCkgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0LmNwcApp
bmRleCA2NzZlOGY0YTc2YzJmNzUzNGUxNmY4YmZmNjQwZmI4ZWE5YTc0ZDYyLi44NjkzYjEzNjQw
ZDI2MmNjYmU4M2Q0ODgwOGJlNTRhZWYxZjFkYzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5jcHAKQEAgLTI2LDYg
KzI2LDcgQEAKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkxheW91
dFJlcGFpbnRlci5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRl
clNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LmgiCkBAIC0xNjUsMTMgKzE2NiwyMCBAQCB2b2lkIFJlbmRlclNW
R0ZvcmVpZ25PYmplY3Q6OmxheW91dCgpCiAKIGJvb2wgUmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6
bm9kZUF0RmxvYXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJl
c3VsdCYgcmVzdWx0LCBjb25zdCBGbG9hdFBvaW50JiBwb2ludEluUGFyZW50LCBIaXRUZXN0QWN0
aW9uIGhpdFRlc3RBY3Rpb24pCiB7CisgICAgLy8gRW1iZWRkZWQgY29udGVudCBpcyBkcmF3biBp
biB0aGUgZm9yZWdyb3VuZCBwaGFzZS4KKyAgICBpZiAoaGl0VGVzdEFjdGlvbiAhPSBIaXRUZXN0
Rm9yZWdyb3VuZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgRmxvYXRQb2ludCBsb2Nh
bFBvaW50ID0gbG9jYWxUcmFuc2Zvcm0oKS5pbnZlcnNlKCkubWFwUG9pbnQocG9pbnRJblBhcmVu
dCk7CiAKICAgICAvLyBFYXJseSBleGl0IGlmIGxvY2FsIHBvaW50IGlzIG5vdCBjb250YWluZWQg
aW4gY2xpcHBlZCB2aWV3cG9ydCBhcmVhCiAgICAgaWYgKFNWR1JlbmRlclN1cHBvcnQ6OmlzT3Zl
cmZsb3dIaWRkZW4odGhpcykgJiYgIW1fdmlld3BvcnQuY29udGFpbnMobG9jYWxQb2ludCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBSZW5kZXJCbG9jazo6bm9kZUF0UG9p
bnQocmVxdWVzdCwgcmVzdWx0LCByb3VuZGVkTGF5b3V0UG9pbnQobG9jYWxQb2ludCksIExheW91
dFBvaW50KCksIGhpdFRlc3RBY3Rpb24pOworICAgIC8vIEZPcyBlc3RhYmxpc2ggYSBzdGFja2lu
ZyBjb250ZXh0LCBzbyB3ZSBuZWVkIHRvIGhpdC10ZXN0IGFsbCBsYXllcnMuCisgICAgcmV0dXJu
IFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHJvdW5kZWRMYXlvdXRQ
b2ludChsb2NhbFBvaW50KSwgTGF5b3V0UG9pbnQoKSwgSGl0VGVzdEZvcmVncm91bmQpCisgICAg
ICAgIHx8IFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHJvdW5kZWRM
YXlvdXRQb2ludChsb2NhbFBvaW50KSwgTGF5b3V0UG9pbnQoKSwgSGl0VGVzdEZsb2F0KQorICAg
ICAgICB8fCBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCByb3VuZGVk
TGF5b3V0UG9pbnQobG9jYWxQb2ludCksIExheW91dFBvaW50KCksIEhpdFRlc3RDaGlsZEJsb2Nr
QmFja2dyb3VuZHMpOwogfQogCiBib29sIFJlbmRlclNWR0ZvcmVpZ25PYmplY3Q6Om5vZGVBdFBv
aW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IExheW91dFBv
aW50JiwgY29uc3QgTGF5b3V0UG9pbnQmLCBIaXRUZXN0QWN0aW9uKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlkZmJkOTk1
ODU0NWQ4ZTBmMTA2YzkyZGZkZWZiNmY1YzRhYWNlYTAuLmJkNzgwYzVmNzY1ZTgyMGEwZjQwOTE4
N2M4MjgxYzY1N2QyMTk5YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0yNyAgRmxv
cmluIE1hbGl0YSAgPGZtYWxpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbmNvcnJlY3QgZm9y
ZWlnbk9iamVjdCBoaXQgdGVzdCByZXN1bHRzIHdoZW4gb3ZlcmxhcHBpbmcgb3RoZXIgU1ZHIGVs
ZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
c3ZnL2hpdHRlc3QvZm9yZWlnbi1vYmplY3QtYmFja2dyb3VuZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9oaXR0ZXN0L2ZvcmVpZ24tb2JqZWN0LWJhY2tncm91bmQuc3ZnOiBB
ZGRlZC4KKwogMjAxMi0wMy0yNyAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBJbmNyZWFzZSBjb2RlIHNoYXJpbmcgYmV0d2VlbiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24gYW5kIENTU1Byb3BlcnR5TG9uZ2hhbmQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9mb3JlaWduLW9iamVjdC1iYWNrZ3JvdW5kLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L2ZvcmVpZ24tb2JqZWN0LWJhY2tncm91
bmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5
NDAxNmM4ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9m
b3JlaWduLW9iamVjdC1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9mb3JlaWduLW9iamVjdC1iYWNr
Z3JvdW5kLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L2ZvcmVpZ24tb2JqZWN0LWJhY2tn
cm91bmQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwY2U5ZWVkOTlkOWNmZmE5ZWMzYjk1OWQzZGI4MjI4ZmZk
OTRkNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9mb3JlaWdu
LW9iamVjdC1iYWNrZ3JvdW5kLnN2ZwpAQCAtMCwwICsxLDIzIEBACis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgIDxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAw
IiBmaWxsPSJyZWQiIG9uY2xpY2s9IndpbmRvdy5hbGVydCgnRkFJTDogY2xpY2sgbm90IHNlbnQg
dG8gRk8gY29udGVudC4nKTsiLz4KKyAgPGZvcmVpZ25PYmplY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiPgorICAgIDxib2R5IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBz
dHlsZT0ibWFyZ2luOiAwOyBwYWRkaW5nOiAwOyI+CisgICAgICA8IS0tIENsaWNraW5nIG9uIHRo
ZSBncmVlbiBkaXYgKGJhY2tncm91bmQpIHNob3VsZCBiZSBkaXNwYXRjaGVkIHRvIHRoZSBkaXYg
ZWxlbWVudCBhbmQgbm90IHRvIHRoZSByZWQgU1ZHIHJlY3QgdW5kZXJuZWF0aC4gLS0+CisgICAg
ICA8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJh
Y2tncm91bmQtY29sb3I6Z3JlZW47IiBvbmNsaWNrPSJ3aW5kb3cuYWxlcnQoJ1BBU1M6IGNsaWNr
IHNlbnQgdG8gRk8gY29udGVudC4nKTsiPjwvZGl2PgorICAgIDwvYm9keT4KKyAgPC9mb3JlaWdu
T2JqZWN0PgorCisgIDxzY3JpcHQ+PCFbQ0RBVEFbCisKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisKKyAgICAgIHZhciBoaXRFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCg1MCwg
NTApOworICAgICAgdmFyIGhpdFN1Y2Nlc3MgPSBoaXRFbGVtZW50ICYmIGhpdEVsZW1lbnQgPT0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RhcmdldCcpLmlubmVySFRNTCA9IGhpdFN1Y2Nlc3MgPyAnUEFTUycgOiAnRkFJ
TCc7CisgICAgfSBlbHNlIHsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQn
KS5pbm5lckhUTUwgPSAnQ2xpY2sgbWUuJzsKKyAgICB9CisgIF1dPjwvc2NyaXB0PgorPC9zdmc+
CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>