Bug 920621 - Part 2: Tests for zoom with the svg:image element. r=dholbert, a=lsblakk
authorSeth Fowler <seth@mozilla.com>
Wed, 02 Oct 2013 19:04:33 -0700
changeset 160571 b20e12690dcba81d9d608a5ce59bd31bc5acf072
parent 160570 6a2632a328b3b4359593bc414a79f8acca381b4c
child 160572 0b375eef59f9e0ccea4f3608fa4eb58cc44dc4a0
push id2961
push userlsblakk@mozilla.com
push dateMon, 28 Oct 2013 21:59:28 +0000
treeherdermozilla-beta@73ef4f13486f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdholbert, lsblakk
bugs920621
milestone26.0a2
Bug 920621 - Part 2: Tests for zoom with the svg:image element. r=dholbert, a=lsblakk
layout/reftests/svg/image/image-svg-inline-sprite-zoom-in-01-ref.html
layout/reftests/svg/image/image-svg-inline-sprite-zoom-in-01a.html
layout/reftests/svg/image/image-svg-inline-sprite-zoom-in-01b.html
layout/reftests/svg/image/image-svg-inline-sprite-zoom-out-01-ref.html
layout/reftests/svg/image/image-svg-inline-sprite-zoom-out-01a.html
layout/reftests/svg/image/image-svg-inline-sprite-zoom-out-01b.html
layout/reftests/svg/image/image-svg-inline-zoom-in-01a.html
layout/reftests/svg/image/image-svg-inline-zoom-in-01b.html
layout/reftests/svg/image/image-svg-inline-zoom-out-01a.html
layout/reftests/svg/image/image-svg-inline-zoom-out-01b.html
layout/reftests/svg/image/lime-no-dimensions.svg
layout/reftests/svg/image/reftest.list
layout/reftests/svg/image/sprite.png
layout/reftests/svg/image/sprite.svg
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-sprite-zoom-in-01-ref.html
@@ -0,0 +1,8 @@
+<html>
+<body style="margin: 0">
+  <svg xmlns="http://www.w3.org/2000/svg">
+    <rect x="0" y="0" width="15" height="30" fill="lime"/>
+    <rect x="15" y="0" width="15" height="30" fill="blue"/>
+  </svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-sprite-zoom-in-01a.html
@@ -0,0 +1,16 @@
+<html reftest-zoom="1.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage and it has a transformation
+       applied, as is often used for SVG sprites. -->
+<body style="margin: 0">
+  <svg xmlns="http://www.w3.org/2000/svg"
+       xmlns:xlink="http://www.w3.org/1999/xlink"
+       style="shape-rendering: crispEdges">
+    <clipPath id="clip"><rect x="0" y="0" width="20" height="20"/></clipPath>
+    <!-- Translate and clip-path are used to pull a sprite out of the otherwise red image. -->
+    <g clip-path="url(#clip)">
+      <image xlink:href="sprite.svg" width="200" height="200" transform="translate(0, -100)"/>
+    </g>
+  </svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-sprite-zoom-in-01b.html
@@ -0,0 +1,15 @@
+<html reftest-zoom="1.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage and it has a transformation
+       applied, as is often used for SVG sprites. -->
+<body style="margin: 0; image-rendering: -moz-crisp-edges">
+  <svg xmlns="http://www.w3.org/2000/svg"
+       xmlns:xlink="http://www.w3.org/1999/xlink">
+    <clipPath id="clip"><rect x="0" y="0" width="20" height="20"/></clipPath>
+    <!-- Translate and clip-path are used to pull a sprite out of the otherwise red image. -->
+    <g clip-path="url(#clip)">
+      <image xlink:href="sprite.png" width="200" height="200" transform="translate(0, -100)"/>
+    </g>
+  </svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-sprite-zoom-out-01-ref.html
@@ -0,0 +1,8 @@
+<html>
+<body style="margin: 0">
+  <svg xmlns="http://www.w3.org/2000/svg">
+    <rect x="0" y="0" width="5" height="10" fill="lime"/>
+    <rect x="5" y="0" width="5" height="10" fill="blue"/>
+  </svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-sprite-zoom-out-01a.html
@@ -0,0 +1,16 @@
+<html reftest-zoom="0.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage and it has a transformation
+       applied, as is often used for SVG sprites. -->
+<body style="margin: 0">
+  <svg xmlns="http://www.w3.org/2000/svg"
+       xmlns:xlink="http://www.w3.org/1999/xlink"
+       style="shape-rendering: crispEdges">
+    <clipPath id="clip"><rect x="0" y="0" width="20" height="20"/></clipPath>
+    <!-- Translate and clip-path are used to pull a sprite out of the otherwise red image. -->
+    <g clip-path="url(#clip)">
+      <image xlink:href="sprite.svg" width="200" height="200" transform="translate(0, -100)"/>
+    </g>
+  </svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-sprite-zoom-out-01b.html
@@ -0,0 +1,15 @@
+<html reftest-zoom="0.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage and it has a transformation
+       applied, as is often used for SVG sprites. -->
+<body style="margin: 0; image-rendering: -moz-crisp-edges">
+  <svg xmlns="http://www.w3.org/2000/svg"
+       xmlns:xlink="http://www.w3.org/1999/xlink">
+    <clipPath id="clip"><rect x="0" y="0" width="20" height="20"/></clipPath>
+    <!-- Translate and clip-path are used to pull a sprite out of the otherwise red image. -->
+    <g clip-path="url(#clip)">
+      <image xlink:href="sprite.png" width="200" height="200" transform="translate(0, -100)"/>
+    </g>
+  </svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-zoom-in-01a.html
@@ -0,0 +1,17 @@
+<html reftest-zoom="1.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage. -->
+  <body style="background: lime">
+    <!-- 100x100 red div -->
+    <div style="background: red;
+                margin-left: 30px; margin-top: 30px;
+                width: 100px; height: 100px;">
+      <svg xmlns="http://www.w3.org/2000/svg"
+           xmlns:xlink="http://www.w3.org/1999/xlink"
+           style="shape-rendering: crispEdges">
+        <!-- SVG with no intrinsic dimensions -->
+        <image xlink:href="lime-no-dimensions.svg" width="100%" height="100%"/>
+      </svg>
+    </div>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-zoom-in-01b.html
@@ -0,0 +1,16 @@
+<html reftest-zoom="1.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage. -->
+  <body style="background: lime">
+    <!-- 100x100 red div -->
+    <div style="background: red;
+                margin-left: 30px; margin-top: 30px;
+                width: 100px; height: 100px;">
+      <svg xmlns="http://www.w3.org/2000/svg"
+           xmlns:xlink="http://www.w3.org/1999/xlink">
+        <!-- 1x1 lime PNG, scaled to 100x100 -->
+        <image xlink:href="data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%01%00%00%00%01%08%02%00%00%00%90wS%DE%00%00%00%01sRGB%00%AE%CE%1C%E9%00%00%00%0CIDAT%08%D7c%60%F8%CF%00%00%02%02%01%00%AA*%9E'%00%00%00%00IEND%AEB%60%82" width="100" height="100"/>
+      </svg>
+    </div>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-zoom-out-01a.html
@@ -0,0 +1,16 @@
+<html reftest-zoom="0.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage. -->
+  <body style="background: lime">
+    <!-- 100x100 red div -->
+    <div style="background: red;
+                margin-left: 30px; margin-top: 30px;
+                width: 100px; height: 100px;">
+      <svg xmlns="http://www.w3.org/2000/svg"
+           xmlns:xlink="http://www.w3.org/1999/xlink">
+        <!-- SVG with no intrinsic dimensions -->
+        <image xlink:href="lime-no-dimensions.svg" width="100%" height="100%"/>
+      </svg>
+    </div>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/image-svg-inline-zoom-out-01b.html
@@ -0,0 +1,16 @@
+<html reftest-zoom="0.5">
+  <!-- Test to make sure svg:image is painted correctly when its containing SVG
+       is included inline in a zoomed webpage. -->
+  <body style="background: lime">
+    <!-- 100x100 red div -->
+    <div style="background: red;
+                margin-left: 30px; margin-top: 30px;
+                width: 100px; height: 100px;">
+      <svg xmlns="http://www.w3.org/2000/svg"
+           xmlns:xlink="http://www.w3.org/1999/xlink">
+        <!-- 1x1 lime PNG, scaled to 100x100 -->
+        <image xlink:href="data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%01%00%00%00%01%08%02%00%00%00%90wS%DE%00%00%00%01sRGB%00%AE%CE%1C%E9%00%00%00%0CIDAT%08%D7c%60%F8%CF%00%00%02%02%01%00%AA*%9E'%00%00%00%00IEND%AEB%60%82" width="100" height="100"/>
+      </svg>
+    </div>
+  </body>
+</html>
copy from layout/reftests/svg/pass.svg
copy to layout/reftests/svg/image/lime-no-dimensions.svg
--- a/layout/reftests/svg/pass.svg
+++ b/layout/reftests/svg/image/lime-no-dimensions.svg
@@ -1,8 +1,7 @@
 <!--
      Any copyright is dedicated to the Public Domain.
      http://creativecommons.org/publicdomain/zero/1.0/
 -->
-<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
-  <title>Testcase reference file for generic pass condition</title>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="shape-rendering: crispEdges">
   <rect width="100%" height="100%" fill="lime"/>
 </svg>
--- a/layout/reftests/svg/image/reftest.list
+++ b/layout/reftests/svg/image/reftest.list
@@ -1,28 +1,36 @@
 # Tests of the SVG <image> element
 
 == image-fill-01.svg          ../pass.svg
 skip-if(B2G) == image-filter-01.svg        image-filter-01-ref.svg # bug 773482
 == image-load-01.svg          ../pass.svg
 fuzzy-if(Android&&!browserIsRemote,4,32) == image-opacity-01.svg image-opacity-01-ref.svg # Bug 779514 for Android
 fuzzy-if(Android,4,34) == image-opacity-02.svg image-opacity-02-ref.svg # Bug 776039 for Android
-== image-rotate-01.svg        image-rotate-01-ref.svg
-== image-rotate-02a.svg       image-rotate-02-ref.svg
-== image-rotate-02b.svg       image-rotate-02-ref.svg
-== image-scaling-01.svg       ../pass.svg
-== image-scaling-02.svg       ../pass.svg
-== image-svg-inline-01.html   ../pass.svg
-== image-translate-01.svg     image-translate-01-ref.svg
-== image-x-01.svg             image-x-01-ref.svg
-== image-xy-01.svg            image-xy-01-ref.svg
-== image-y-01.svg             image-y-01-ref.svg
-== image-zoom-02.svg          image-zoom-02-ref.svg
-== imported-image-01.svg      imported-image-ref.svg
-== imported-image-02.svg      imported-image-ref.svg
+== image-rotate-01.svg                        image-rotate-01-ref.svg
+== image-rotate-02a.svg                       image-rotate-02-ref.svg
+== image-rotate-02b.svg                       image-rotate-02-ref.svg
+== image-scaling-01.svg                       ../pass.svg
+== image-scaling-02.svg                       ../pass.svg
+== image-svg-inline-01.html                   ../pass.svg
+== image-svg-inline-zoom-in-01a.html          ../pass.svg
+== image-svg-inline-zoom-in-01b.html          ../pass.svg
+== image-svg-inline-zoom-out-01a.html         ../pass.svg
+== image-svg-inline-zoom-out-01b.html         ../pass.svg
+== image-svg-inline-sprite-zoom-in-01a.html   image-svg-inline-sprite-zoom-in-01-ref.html
+== image-svg-inline-sprite-zoom-in-01b.html   image-svg-inline-sprite-zoom-in-01-ref.html
+== image-svg-inline-sprite-zoom-out-01a.html  image-svg-inline-sprite-zoom-out-01-ref.html
+== image-svg-inline-sprite-zoom-out-01b.html  image-svg-inline-sprite-zoom-out-01-ref.html
+== image-translate-01.svg                     image-translate-01-ref.svg
+== image-x-01.svg                             image-x-01-ref.svg
+== image-xy-01.svg                            image-xy-01-ref.svg
+== image-y-01.svg                             image-y-01-ref.svg
+== image-zoom-02.svg                          image-zoom-02-ref.svg
+== imported-image-01.svg                      imported-image-ref.svg
+== imported-image-02.svg                      imported-image-ref.svg
 
 # Tests for <image> with preserveAspectRatio
 skip-if(B2G) == image-preserveAspectRatio-01-raster.svg image-preserveAspectRatio-01-ref.svg # bug 773482
 skip-if(B2G) == image-preserveAspectRatio-01-svg.svg    image-preserveAspectRatio-01-ref.svg # bug 773482
 skip-if(B2G) == image-preserveAspectRatio-02-raster.svg image-preserveAspectRatio-02-ref.svg # bug 773482
 skip-if(B2G) == image-preserveAspectRatio-02-svg.svg    image-preserveAspectRatio-02-ref.svg # bug 773482
 skip-if(B2G) == image-preserveAspectRatio-03.svg        image-preserveAspectRatio-03-ref.svg # bug 773482
 skip-if(B2G) == image-preserveAspectRatio-04.svg        image-preserveAspectRatio-04-ref.svg # bug 773482
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..830eb777316afeb2c12ac378dd9e0be72ff3f3ca
GIT binary patch
literal 5082
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
new file mode 100644
--- /dev/null
+++ b/layout/reftests/svg/image/sprite.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200" height="200" style="shape-rendering: crispEdges">
+<rect x="0" y="0" width="200" height="200" fill="red"/>
+<rect x="-1" y="99" width="11" height="22" fill="lime"/>
+<rect x="10" y="99" width="11" height="22" fill="blue"/>
+</svg>