<?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>118140</bug_id>
          
          <creation_ts>2013-06-27 09:37:45 -0700</creation_ts>
          <short_desc>SVG relayout problem when displayed with different image box heights</short_desc>
          <delta_ts>2013-06-28 11:01:34 -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="Morten Stenshorne">mstensho</reporter>
          <assigned_to name="Morten Stenshorne">mstensho</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>904276</commentid>
    <comment_count>0</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-06-27 09:37:45 -0700</bug_when>
    <thetext>SVGs are not relaid out deeply enough when there are two images with the same SVG URL, and the only difference between the two images is the height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904277</commentid>
    <comment_count>1</comment_count>
      <attachid>205612</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-06-27 09:38:38 -0700</bug_when>
    <thetext>Created attachment 205612
SVG helper file for TC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904278</commentid>
    <comment_count>2</comment_count>
      <attachid>205613</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-06-27 09:39:30 -0700</bug_when>
    <thetext>Created attachment 205613
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904518</commentid>
    <comment_count>3</comment_count>
      <attachid>205682</attachid>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-06-28 02:38:39 -0700</bug_when>
    <thetext>Created attachment 205682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904630</commentid>
    <comment_count>4</comment_count>
      <attachid>205682</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-06-28 08:01:36 -0700</bug_when>
    <thetext>Comment on attachment 205682
Patch

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

&gt; LayoutTests/svg/as-image/same-source-different-height-expected.html:9
&gt; +    &lt;img src=&quot;resources/circle.svg&quot; type=&quot;image/svg+xml&quot; style=&quot;width:100px; height:300px;&quot;&gt;
&gt; +    &lt;img src=&quot;resources/circle.svg?different-url&quot; type=&quot;image/svg+xml&quot; style=&quot;width:100px; height:100px;&quot;&gt;

This looks like a problem with URL parsing. To force a relayout for each RenderView seems like shooting with guns. On the other hand it looks like we just rely on the image url instead of the image dimension. What happens exactly? Is the layout wrong, or does it look pixelated?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904673</commentid>
    <comment_count>5</comment_count>
    <who name="Morten Stenshorne">mstensho</who>
    <bug_when>2013-06-28 09:51:52 -0700</bug_when>
    <thetext>Can you reproduce the problem if you open the testcase? I&apos;ve only tested in Linux, but I&apos;ve tested both the GTK port, Chromium content shell and official Chrome. All fail.

If there are several IMG elements with the same SVG SRC attribute, there will be one shared SVGImage, and therefore a shared Page and FrameView, which has to be laid out over again every time we display the image with a different size.

The problem is that if it is only the height that&apos;s different, the SVG root isn&apos;t re-aligned within the viewport. This only happens if the URLs are identical. Hence the &quot;?blah&quot; thing in the ref. Width-only changes are handled properly, though, but one can say that&apos;s expected from a layout engine. Traditionally, width changes requires children to be laid out again, while height changes &quot;normally&quot; (plain static block layout with no percentage heights, that is) don&apos;t affect the layout of chilren.

My patch only forces re-layout of the SVG root element itself, not the children, and it only does so if the viewport size has changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904678</commentid>
    <comment_count>6</comment_count>
      <attachid>205682</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-06-28 09:57:28 -0700</bug_when>
    <thetext>Comment on attachment 205682
Patch

r=me; nice find.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904703</commentid>
    <comment_count>7</comment_count>
      <attachid>205682</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-28 11:01:31 -0700</bug_when>
    <thetext>Comment on attachment 205682
Patch

Clearing flags on attachment: 205682

Committed r152178: &lt;http://trac.webkit.org/changeset/152178&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904704</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-28 11:01:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>205612</attachid>
            <date>2013-06-27 09:38:38 -0700</date>
            <delta_ts>2013-06-27 09:38:38 -0700</delta_ts>
            <desc>SVG helper file for TC</desc>
            <filename>circle.svg</filename>
            <type>image/svg+xml</type>
            <size>275</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT
VkcgMS4wLy9FTiIKICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMt
U1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgogICAgPGNpcmNsZSBjeD0iNTAl
IiBjeT0iNTAlIiByPSI4MCIgc3R5bGU9ImZpbGw6Ymx1ZTsiIC8+Cjwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>205613</attachid>
            <date>2013-06-27 09:39:30 -0700</date>
            <delta_ts>2013-06-27 09:39:30 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>tc.html</filename>
            <type>text/html</type>
            <size>460</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPlNhbWUgU1ZHLCBkaWZm
ZXJlbnQgaW1hZ2UgaGVpZ2h0czwvdGl0bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhl
cmUgc2hvdWxkIGJlIDxlbT50d288L2VtPiBibHVlIGNpcmNsZXMgYmVsb3cuPC9wPgogICAgPGlt
ZyBzcmM9Imh0dHBzOi8vYnVnLTExODE0MC1hdHRhY2htZW50cy53ZWJraXQub3JnL2F0dGFjaG1l
bnQuY2dpP2lkPTIwNTYxMiIgdHlwZT0iaW1hZ2Uvc3ZnK3htbCIgc3R5bGU9IndpZHRoOjEwMHB4
OyBoZWlnaHQ6MzAwcHg7Ij4KICAgIDxpbWcgc3JjPSJodHRwczovL2J1Zy0xMTgxNDAtYXR0YWNo
bWVudHMud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0yMDU2MTIiIHR5cGU9ImltYWdlL3N2
Zyt4bWwiIHN0eWxlPSJ3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyI+CiAgPC9ib2R5Pgo8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205682</attachid>
            <date>2013-06-28 02:38:39 -0700</date>
            <delta_ts>2013-06-28 11:01:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118140-20130628113651.patch</filename>
            <type>text/plain</type>
            <size>3941</size>
            <attacher name="Morten Stenshorne">mstensho</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA4YzRiYmM5ZDliMmI3
YzBkOTViMTUyYzdlYmIxMDMzOTAxNmU3Yy4uNWVkZmI1YmY1NjljNjgxMjBkMGM5NWU5NGNlMzli
OWU5OGFiMWNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA2LTI4ICBNb3J0
ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hvQG9wZXJhLmNvbT4KKworICAgICAgICBTVkcgcmVsYXlv
dXQgcHJvYmxlbSB3aGVuIGRpc3BsYXllZCB3aXRoIGRpZmZlcmVudCBpbWFnZSBib3ggaGVpZ2h0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MTQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhl
IHJvb3QgZWxlbWVudCBpcyBhbiBTVkcsIGl0cyBwb3NpdGlvbiBhbmQgaGVpZ2h0IGFyZSBhZmZl
Y3RlZAorICAgICAgICBieSB0aGUgdmlldyBoZWlnaHQuCisKKyAgICAgICAgVGVzdDogc3ZnL2Fz
LWltYWdlL3NhbWUtc291cmNlLWRpZmZlcmVudC1oZWlnaHQuaHRtbAorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF5
b3V0KToKKwogMjAxMy0wNi0yOCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ft
c3VuZy5jb20+CiAKICAgICAgICAgTWVyZ2UgU1ZHTGFuZ1NwYWNlIGludG8gU1ZHRWxlbWVudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IGY2ZjkzYmUyZTA0ZWRl
NmFiMjQ0NWFhZTU4MWRmYWJkZDgwODY5MzUuLmNhZDllOTRiZGIzOTM4ZTgwMDE3YzIzMzEzNzk3
YzlmNjU0NDMzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAg
LTI4MCw3ICsyODAsMTEgQEAgdm9pZCBSZW5kZXJWaWV3OjpsYXlvdXQoKQogICAgICAgICAgICAg
ICAgICAgICB8fCBjaGlsZC0+c3R5bGUoKS0+bG9naWNhbE1heEhlaWdodCgpLmlzUGVyY2VudCgp
CiAgICAgICAgICAgICAgICAgICAgIHx8IGNoaWxkLT5zdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCku
aXNWaWV3cG9ydFBlcmNlbnRhZ2UoKQogICAgICAgICAgICAgICAgICAgICB8fCBjaGlsZC0+c3R5
bGUoKS0+bG9naWNhbE1pbkhlaWdodCgpLmlzVmlld3BvcnRQZXJjZW50YWdlKCkKLSAgICAgICAg
ICAgICAgICAgICAgfHwgY2hpbGQtPnN0eWxlKCktPmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1ZpZXdw
b3J0UGVyY2VudGFnZSgpKQorICAgICAgICAgICAgICAgICAgICB8fCBjaGlsZC0+c3R5bGUoKS0+
bG9naWNhbE1heEhlaWdodCgpLmlzVmlld3BvcnRQZXJjZW50YWdlKCkKKyNpZiBFTkFCTEUoU1ZH
KQorICAgICAgICAgICAgICAgICAgICB8fCBjaGlsZC0+aXNTVkdSb290KCkKKyNlbmRpZgorICAg
ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVkc0xheW91
dCh0cnVlLCBNYXJrT25seVRoaXMpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY1MmNlOGIz
ZWZkZWJhY2Y2NjFkZTEyY2Y0OGI4MGZiNjk2OWM0ZGIuLmRiOTkxN2FhMzJjZGJjZjk1OGUzNGRh
Yjk0YmIxN2JkNTZiODE2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wNi0yOCAgTW9y
dGVuIFN0ZW5zaG9ybmUgIDxtc3RlbnNob0BvcGVyYS5jb20+CisKKyAgICAgICAgU1ZHIHJlbGF5
b3V0IHByb2JsZW0gd2hlbiBkaXNwbGF5ZWQgd2l0aCBkaWZmZXJlbnQgaW1hZ2UgYm94IGhlaWdo
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODE0
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Zn
L2FzLWltYWdlL3NhbWUtc291cmNlLWRpZmZlcmVudC1oZWlnaHQtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2FzLWltYWdlL3NhbWUtc291cmNlLWRpZmZlcmVudC1oZWlnaHQu
aHRtbDogQWRkZWQuCisKIDIwMTMtMDYtMjcgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2FuZ0Bm
cmVlLmZyPgogCiAgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIG9mIE1hdGhNTCBsZW5ndGhzLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL3NhbWUtc291cmNlLWRpZmZlcmVu
dC1oZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9zYW1lLXNv
dXJjZS1kaWZmZXJlbnQtaGVpZ2h0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc4M2UzZTI5
MmY5MWMwZjRlNDk2ZTRjOWU4OWNhNDA0NzI4MzE5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9hcy1pbWFnZS9zYW1lLXNvdXJjZS1kaWZmZXJlbnQtaGVpZ2h0LWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+
CisgICAgPHRpdGxlPlNhbWUgU1ZHIHNvdXJjZSwgZGlmZmVyZW50IGltYWdlIGhlaWdodHM8L3Rp
dGxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwPlRoZXJlIHNob3VsZCBiZSA8ZW0+dHdv
PC9lbT4gYmx1ZSBjaXJjbGVzIGJlbG93LjwvcD4KKyAgICA8aW1nIHNyYz0icmVzb3VyY2VzL2Np
cmNsZS5zdmciIHR5cGU9ImltYWdlL3N2Zyt4bWwiIHN0eWxlPSJ3aWR0aDoxMDBweDsgaGVpZ2h0
OjMwMHB4OyI+CisgICAgPGltZyBzcmM9InJlc291cmNlcy9jaXJjbGUuc3ZnP2RpZmZlcmVudC11
cmwiIHR5cGU9ImltYWdlL3N2Zyt4bWwiIHN0eWxlPSJ3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4
OyI+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1p
bWFnZS9zYW1lLXNvdXJjZS1kaWZmZXJlbnQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
YXMtaW1hZ2Uvc2FtZS1zb3VyY2UtZGlmZmVyZW50LWhlaWdodC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1
NDgzM2IxNjc0ZDg5YTc2YTZiNzhiOWQzMDZlZWU2MzliZTM1MDcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2Uvc2FtZS1zb3VyY2UtZGlmZmVyZW50LWhlaWdodC5o
dG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgor
ICAgIDx0aXRsZT5TYW1lIFNWRyBzb3VyY2UsIGRpZmZlcmVudCBpbWFnZSBoZWlnaHRzPC90aXRs
ZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8cD5UaGVyZSBzaG91bGQgYmUgPGVtPnR3bzwv
ZW0+IGJsdWUgY2lyY2xlcyBiZWxvdy48L3A+CisgICAgPGltZyBzcmM9InJlc291cmNlcy9jaXJj
bGUuc3ZnIiB0eXBlPSJpbWFnZS9zdmcreG1sIiBzdHlsZT0id2lkdGg6MTAwcHg7IGhlaWdodDoz
MDBweDsiPgorICAgIDxpbWcgc3JjPSJyZXNvdXJjZXMvY2lyY2xlLnN2ZyIgdHlwZT0iaW1hZ2Uv
c3ZnK3htbCIgc3R5bGU9IndpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7Ij4KKyAgPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>