summaryrefslogtreecommitdiffstats
path: root/layout/reftests/image-rect
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
commit9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /layout/reftests/image-rect
parentInitial commit. (diff)
downloadthunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.tar.xz
thunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'layout/reftests/image-rect')
-rw-r--r--layout/reftests/image-rect/background-common-usage-floating-point.html50
-rw-r--r--layout/reftests/image-rect/background-common-usage-percent.html45
-rw-r--r--layout/reftests/image-rect/background-common-usage-pixel.html45
-rw-r--r--layout/reftests/image-rect/background-common-usage-ref.html52
-rw-r--r--layout/reftests/image-rect/background-draw-nothing-empty-rect.html50
-rw-r--r--layout/reftests/image-rect/background-draw-nothing-invalid-syntax.html48
-rw-r--r--layout/reftests/image-rect/background-draw-nothing-malformed-images.html43
-rw-r--r--layout/reftests/image-rect/background-draw-nothing-ref.html24
-rw-r--r--layout/reftests/image-rect/background-monster-rect-ref.html29
-rw-r--r--layout/reftests/image-rect/background-monster-rect.html47
-rw-r--r--layout/reftests/image-rect/background-over-size-rect-ref.html27
-rw-r--r--layout/reftests/image-rect/background-over-size-rect.html38
-rw-r--r--layout/reftests/image-rect/background-test-parser-ref.html40
-rw-r--r--layout/reftests/image-rect/background-test-parser.html64
-rw-r--r--layout/reftests/image-rect/background-with-other-properties-ref.html50
-rw-r--r--layout/reftests/image-rect/background-with-other-properties.html56
-rw-r--r--layout/reftests/image-rect/background-zoom-1-ref.html36
-rw-r--r--layout/reftests/image-rect/background-zoom-1.html36
-rw-r--r--layout/reftests/image-rect/background-zoom-2-ref.html36
-rw-r--r--layout/reftests/image-rect/background-zoom-2.html36
-rw-r--r--layout/reftests/image-rect/background-zoom-3-ref.html36
-rw-r--r--layout/reftests/image-rect/background-zoom-3.html36
-rw-r--r--layout/reftests/image-rect/background-zoom-4-ref.html37
-rw-r--r--layout/reftests/image-rect/background-zoom-4.html37
-rw-r--r--layout/reftests/image-rect/dom-api-computed-style.html66
-rw-r--r--layout/reftests/image-rect/dom-api-ref.html45
-rw-r--r--layout/reftests/image-rect/dom-api.html65
-rw-r--r--layout/reftests/image-rect/green-16x16-in-blue-32x32.pngbin0 -> 108 bytes
-rw-r--r--layout/reftests/image-rect/reftest.list16
-rw-r--r--layout/reftests/image-rect/transparent-16x16-in-blue-32x32.pngbin0 -> 108 bytes
30 files changed, 1190 insertions, 0 deletions
diff --git a/layout/reftests/image-rect/background-common-usage-floating-point.html b/layout/reftests/image-rect/background-common-usage-floating-point.html
new file mode 100644
index 0000000000..56015953e6
--- /dev/null
+++ b/layout/reftests/image-rect/background-common-usage-floating-point.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ test1 and test2 test -moz-image-rect() where the image rect is specified by
+ mixed pixel values and percentage values.
+
+ -moz-image-rect() can also take a floating point value for each side, and
+ each floating point value (after percent to pixel conversion) is rounded to
+ the nearest integer. test3 and test4 test if the rounding operation is
+ working as expected.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 32, 100%, 0%);
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 0%, 32, 50%, 0);
+ }
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0.3, 16.2, 15.5, 0.4);
+ }
+ #test4 {
+ background-color: yellow;
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 51.2%, 100.4%, 99.2%, 48.9%);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-common-usage-percent.html b/layout/reftests/image-rect/background-common-usage-percent.html
new file mode 100644
index 0000000000..55cabfe35a
--- /dev/null
+++ b/layout/reftests/image-rect/background-common-usage-percent.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests some common usages of -moz-image-rect() with image rect specified by
+ percentage values.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0%, 100%, 100%, 0%);
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 0%, 100%, 50%, 0%);
+ }
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0%, 50%, 50%, 0%);
+ }
+ #test4 {
+ background-color: yellow;
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 50%, 100%, 100%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-common-usage-pixel.html b/layout/reftests/image-rect/background-common-usage-pixel.html
new file mode 100644
index 0000000000..d7978803a5
--- /dev/null
+++ b/layout/reftests/image-rect/background-common-usage-pixel.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests some common usages of -moz-image-rect() with image rect specified by
+ pixel values.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 32, 32, 0);
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 0, 32, 16, 0);
+ }
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0);
+ }
+ #test4 {
+ background-color: yellow;
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 16, 32, 32, 16);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-common-usage-ref.html b/layout/reftests/image-rect/background-common-usage-ref.html
new file mode 100644
index 0000000000..eaed0d21f7
--- /dev/null
+++ b/layout/reftests/image-rect/background-common-usage-ref.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ background-repeat: no-repeat;
+ }
+ #test1 {
+ width: 32px;
+ height: 32px;
+ background-position: 0px 0px;
+ background-image: url('green-16x16-in-blue-32x32.png');
+ }
+ #test2 {
+ width: 32px;
+ height: 16px;
+ background-position: 0px 0px;
+ background-image: url('transparent-16x16-in-blue-32x32.png');
+ }
+ #test3 {
+ width: 16px;
+ height: 16px;
+ background-position: 0px 0px;
+ background-image: url('green-16x16-in-blue-32x32.png');
+ }
+ #test4 {
+ width: 32px;
+ height: 32px;
+ background-color: yellow;
+ background-position: -16px -16px;
+ background-image: url('transparent-16x16-in-blue-32x32.png');
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-draw-nothing-empty-rect.html b/layout/reftests/image-rect/background-draw-nothing-empty-rect.html
new file mode 100644
index 0000000000..0e7c5d763e
--- /dev/null
+++ b/layout/reftests/image-rect/background-draw-nothing-empty-rect.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Makes sure that no image is drawn when an empty region of the source image
+ is specified by -moz-image-rect().
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ /* Zero width and height */
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 0, 0, 0);
+ }
+ /* Negative height */
+ #test2 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 32, 32, 0, 0);
+ }
+ /* Image rect outside the source image */
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 100, 200, 200, 100);
+ }
+ /* Negative height */
+ #test4 {
+ /* It is only after the source image size is available that it can be
+ determined if this image is empty or not. */
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 16, 32, 50%, 16);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-draw-nothing-invalid-syntax.html b/layout/reftests/image-rect/background-draw-nothing-invalid-syntax.html
new file mode 100644
index 0000000000..c658a0fa19
--- /dev/null
+++ b/layout/reftests/image-rect/background-draw-nothing-invalid-syntax.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests if the CSS parser can detect wrong syntax of -moz-image-rect() and
+ gracefully fail.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ /* only non-negative values accepted */
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), -1, 16, 16, 0);
+ }
+ #test2 {
+ /* only bare numbers and percent values accepted */
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0px, 16, 16, 0);
+ }
+ #test3 {
+ /* must have a complete set of <top>, <right>, <bottom>, <left> */
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 16, 16);
+ }
+ #test4 {
+ /* must be comma separated */
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png) 0, 16, 16, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-draw-nothing-malformed-images.html b/layout/reftests/image-rect/background-draw-nothing-malformed-images.html
new file mode 100644
index 0000000000..f3d75d7509
--- /dev/null
+++ b/layout/reftests/image-rect/background-draw-nothing-malformed-images.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests if some unusual source images do not cause a crash.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ background-image: -moz-image-rect(url(missing.png), 0, 16, 16, 0);
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(#), 0, 16, 16, 0);
+ }
+ #test3 {
+ background-image: -moz-image-rect(url(../backgrounds/malformed.png), 0, 16, 16, 0);
+ }
+ #test4 {
+ background-image: -moz-image-rect(url(../backgrounds/transparent-32x32.png), 0, 16, 16, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-draw-nothing-ref.html b/layout/reftests/image-rect/background-draw-nothing-ref.html
new file mode 100644
index 0000000000..a370d087a8
--- /dev/null
+++ b/layout/reftests/image-rect/background-draw-nothing-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-monster-rect-ref.html b/layout/reftests/image-rect/background-monster-rect-ref.html
new file mode 100644
index 0000000000..2b2203a53a
--- /dev/null
+++ b/layout/reftests/image-rect/background-monster-rect-ref.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: url(green-16x16-in-blue-32x32.png) no-repeat;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-monster-rect.html b/layout/reftests/image-rect/background-monster-rect.html
new file mode 100644
index 0000000000..2f326ec7af
--- /dev/null
+++ b/layout/reftests/image-rect/background-monster-rect.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if huge values that overflow when converted to PRInt32 and small
+ non-zero values do not cause a crash or an unexpected behavior.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ }
+ /* Huge values that exceed PR_INT32_MAX are clamped to PR_INT32_MAX, so
+ all the tests below should display the entire 32x32 image. */
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 10000000000, 32, 0);
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0%, 10000000000%, 100%, 0%);
+ }
+ /* Small values (smaller than machine epsilon) are rounded to zero, so
+ all the tests below should display the entire 32x32 image. */
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0.00000000001, 32, 32, 0);
+ }
+ #test4 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0.00000000001%, 100%, 100%, 0%);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-over-size-rect-ref.html b/layout/reftests/image-rect/background-over-size-rect-ref.html
new file mode 100644
index 0000000000..b59c7cdfc8
--- /dev/null
+++ b/layout/reftests/image-rect/background-over-size-rect-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 16px;
+ height: 16px;
+ background: -16px -16px url('green-16x16-in-blue-32x32.png') no-repeat;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-over-size-rect.html b/layout/reftests/image-rect/background-over-size-rect.html
new file mode 100644
index 0000000000..ea166e89fd
--- /dev/null
+++ b/layout/reftests/image-rect/background-over-size-rect.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests image rects that run off the source image bounds.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ /* The final crop rect is computed by intersecting an image rect and the
+ source image bounds, so the following tests should display the bottom
+ right 16x16 corner of the image. */
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 16, 50, 50, 16);
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 50.000001%, 1000000%, 1000000%, 50.000001%);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-test-parser-ref.html b/layout/reftests/image-rect/background-test-parser-ref.html
new file mode 100644
index 0000000000..2f1dfb3af9
--- /dev/null
+++ b/layout/reftests/image-rect/background-test-parser-ref.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ }
+ #test1, #test2, #test3 {
+ width: 16px;
+ height: 16px;
+ background: url('green-16x16-in-blue-32x32.png') no-repeat;
+ }
+ #test4 {
+ width: 32px;
+ height: 32px;
+ background-color: yellow;
+ }
+ #test5, #test6 {
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ <div class="wrapper"><div id="test5"></div></div>
+ <div class="wrapper"><div id="test6"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-test-parser.html b/layout/reftests/image-rect/background-test-parser.html
new file mode 100644
index 0000000000..5ada0f8c5d
--- /dev/null
+++ b/layout/reftests/image-rect/background-test-parser.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the CSS parser can parse variations of -moz-image-rect() syntax
+ correctly or fail gracefully.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ /* tests shorthand notation */
+ background: transparent scroll no-repeat 0px 0px -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0);
+ }
+ #test2 {
+ /* URL can be a quoted string */
+ background-image: -moz-image-rect('green-16x16-in-blue-32x32.png',0,16,16,0);
+ }
+ #test3 {
+ /* URL can be a quoted string */
+ background-image: -moz-image-rect( "green-16x16-in-blue-32x32.png" , 0 , 16 , 16 , 0 );
+ }
+ #test4 {
+ /* Non-quoted URL is not allowed. When the parser encounters a syntax
+ error, it skips until the closing parenthesis, so background-color
+ should be painted with yellow since -moz-image-rect(...) is ignored. */
+ background-image: -moz-image-rect(green-16x16-in-blue-32x32.png, 0, 16, 16, 0);
+ background-color: yellow;
+ }
+ #test5 {
+ /* Non-quoted URL is not allowed. When the parser encounters a syntax
+ error, it skips until the closing parenthesis, so background-color
+ should be ignored since there is no matching closing parenthesis. */
+ background-image: -moz-image-rect(green-16x16-in-blue-32x32.png, 0, 16, 16, 0;
+ background-color: yellow;
+ }
+ #test6 {
+ /* this is ignored due to the missing closing parenthesis in #test5 */
+ background-color: yellow;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ <div class="wrapper"><div id="test5"></div></div>
+ <div class="wrapper"><div id="test6"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-with-other-properties-ref.html b/layout/reftests/image-rect/background-with-other-properties-ref.html
new file mode 100644
index 0000000000..cc5a17952a
--- /dev/null
+++ b/layout/reftests/image-rect/background-with-other-properties-ref.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ #test1 {
+ width: 32px;
+ height: 32px;
+ background-color: #00ff00;
+ }
+ #test2 {
+ width: 16px;
+ height: 16px;
+ background-color: #00ff00;
+ }
+ #test3 {
+ width: 32px;
+ height: 16px;
+ background-image: url('green-16x16-in-blue-32x32.png');
+ }
+ #test4 {
+ width: 16px;
+ height: 16px;
+ background-color: #00ff00;
+ }
+ #test5 {
+ width: 32px;
+ height: 32px;
+ background-color: #00ff00;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ <div class="wrapper"><div id="test5"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-with-other-properties.html b/layout/reftests/image-rect/background-with-other-properties.html
new file mode 100644
index 0000000000..976f891ce3
--- /dev/null
+++ b/layout/reftests/image-rect/background-with-other-properties.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests if -moz-image-rect() works collaboratively with other background
+ properties as expected.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ }
+ /* tests with background-repeat */
+ #test1 {
+ background: repeat -moz-image-rect(url(green-16x16-in-blue-32x32.png), 8, 24, 24, 8);
+ }
+ /* tests with background-position */
+ #test2 {
+ background: no-repeat -8px -8px -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 24, 24, 0);
+ }
+ /* tests with background layers */
+ #test3 {
+ background: no-repeat 0px 0px -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0),
+ no-repeat 16px 0px -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 32, 16, 16);
+ }
+ /* for comparison with test5 */
+ #test4 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 8, 24, 24, 8);
+ background-repeat: no-repeat;
+ }
+ /* tests with background-size */
+ #test5 {
+ background-size: 100% 100%;
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 8, 24, 24, 8);
+ background-repeat: no-repeat;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <div class="wrapper"><div id="test2"></div></div>
+ <div class="wrapper"><div id="test3"></div></div>
+ <div class="wrapper"><div id="test4"></div></div>
+ <div class="wrapper"><div id="test5"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-1-ref.html b/layout/reftests/image-rect/background-zoom-1-ref.html
new file mode 100644
index 0000000000..fbaada9ce7
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-1-ref.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 32, 32, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-1.html b/layout/reftests/image-rect/background-zoom-1.html
new file mode 100644
index 0000000000..fbaada9ce7
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-1.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test1 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 32, 32, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-2-ref.html b/layout/reftests/image-rect/background-zoom-2-ref.html
new file mode 100644
index 0000000000..617ae22599
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-2-ref.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 0, 32, 16, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test2"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-2.html b/layout/reftests/image-rect/background-zoom-2.html
new file mode 100644
index 0000000000..617ae22599
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-2.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test2 {
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 0, 32, 16, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test2"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-3-ref.html b/layout/reftests/image-rect/background-zoom-3-ref.html
new file mode 100644
index 0000000000..45b909252f
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-3-ref.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test3"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-3.html b/layout/reftests/image-rect/background-zoom-3.html
new file mode 100644
index 0000000000..45b909252f
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-3.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test3 {
+ background-image: -moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test3"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-4-ref.html b/layout/reftests/image-rect/background-zoom-4-ref.html
new file mode 100644
index 0000000000..77c83482e0
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-4-ref.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test4 {
+ background-color: yellow;
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 16, 32, 32, 16);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/background-zoom-4.html b/layout/reftests/image-rect/background-zoom-4.html
new file mode 100644
index 0000000000..77c83482e0
--- /dev/null
+++ b/layout/reftests/image-rect/background-zoom-4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Checks if the full zoom (x1.3) on -moz-image-rect() produces the same
+ result as the same full zoom on the CSS sprites produced by hacking
+ background-position.
+
+ This file is identical to background-common-usage-pixel.html except the
+ zoom factor.
+-->
+<html reftest-zoom="1.304348">
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ #test4 {
+ background-color: yellow;
+ background-image: -moz-image-rect(url(transparent-16x16-in-blue-32x32.png), 16, 32, 32, 16);
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test4"></div></div>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/dom-api-computed-style.html b/layout/reftests/image-rect/dom-api-computed-style.html
new file mode 100644
index 0000000000..f5efc91b07
--- /dev/null
+++ b/layout/reftests/image-rect/dom-api-computed-style.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests if getComputedStyle() works on -moz-image-rect() and formats the
+ output correctly.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ </style>
+ <script>
+ var curdir = location.href.replace(/[^/]+$/, "");
+ // Tests a common usage
+ var test1 = "-moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0)";
+ var testRef1 = "-moz-image-rect(url(\"" + curdir + "green-16x16-in-blue-32x32.png\"), 0, 16, 16, 0)";
+ // Tests an irregular but valid usage
+ var test2 = "-moz-image-rect( 'green-16x16-in-blue-32x32.png' , 0.0% , 50.5% , 49.5% , 0.0% )";
+ var testRef2 = "-moz-image-rect(url(\"" + curdir + "green-16x16-in-blue-32x32.png\"), 0%, 50.5%, 49.5%, 0%)";
+ // Tests a wrong syntax (negative value)
+ var test3 = "-moz-image-rect(url(green-16x16-in-blue-32x32.png), 0%, -50%, 50%, 0%)";
+ var testRef3 = "none";
+ // Checks if I didn't break the default url() notation.
+ var test4 = "url( green-16x16-in-blue-32x32.png )";
+ var testRef4 = "url(\"" + curdir + "green-16x16-in-blue-32x32.png\")";
+
+ function equalComputedDOMIO(domInput, domOutputRef, targetId) {
+ var targetObj = document.getElementById(targetId);
+ targetObj.style.backgroundImage = domInput;
+ var domOutput = getComputedStyle(targetObj, null).getPropertyValue("background-image");
+ document.write(domOutput == domOutputRef ? "SUCCESS" : ("FAIL: " + domOutput));
+ }
+ </script>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <script>
+ equalComputedDOMIO(test1, testRef1, "test1");
+ </script>
+ <div class="wrapper"><div id="test2"></div></div>
+ <script>
+ equalComputedDOMIO(test2, testRef2, "test2");
+ </script>
+ <div class="wrapper"><div id="test3"></div></div>
+ <script>
+ equalComputedDOMIO(test3, testRef3, "test3");
+ </script>
+ <div class="wrapper"><div id="test4"></div></div>
+ <script>
+ equalComputedDOMIO(test4, testRef4, "test4");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/dom-api-ref.html b/layout/reftests/image-rect/dom-api-ref.html
new file mode 100644
index 0000000000..9195e1ddfd
--- /dev/null
+++ b/layout/reftests/image-rect/dom-api-ref.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ #test1 {
+ width: 16px;
+ height: 16px;
+ background-image: url('green-16x16-in-blue-32x32.png');
+ }
+ #test2 {
+ width: 16px;
+ height: 16px;
+ background-image: url('green-16x16-in-blue-32x32.png');
+ }
+ #test3 {
+ }
+ #test4 {
+ width: 32px;
+ height: 32px;
+ background-image: url('green-16x16-in-blue-32x32.png');
+ }
+ </style>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ SUCCESS
+ <div class="wrapper"><div id="test2"></div></div>
+ SUCCESS
+ <div class="wrapper"><div id="test3"></div></div>
+ SUCCESS
+ <div class="wrapper"><div id="test4"></div></div>
+ SUCCESS
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/dom-api.html b/layout/reftests/image-rect/dom-api.html
new file mode 100644
index 0000000000..a20cb594d0
--- /dev/null
+++ b/layout/reftests/image-rect/dom-api.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/licenses/publicdomain/
+
+ Tests if the DOM interface of -moz-image-rect() works and formats the
+ output correctly.
+-->
+<html>
+ <head>
+ <title>Testcases: -moz-image-rect() [bug 113577]</title>
+ <style>
+ div.wrapper {
+ width: 32px;
+ height: 32px;
+ margin: 10px;
+ background-color: red;
+ }
+ div.wrapper div {
+ width: 32px;
+ height: 32px;
+ background: no-repeat;
+ }
+ </style>
+ <script>
+ // Tests a common usage
+ var test1 = "-moz-image-rect(url(green-16x16-in-blue-32x32.png), 0, 16, 16, 0)";
+ var testRef1 = "-moz-image-rect(url(\"green-16x16-in-blue-32x32.png\"), 0, 16, 16, 0)";
+ // Tests an irregular but valid usage
+ var test2 = "-moz-image-rect( 'green-16x16-in-blue-32x32.png' , 0.0% , 50.5% , 49.5% , 0.0% )";
+ var testRef2 = "-moz-image-rect(url(\"green-16x16-in-blue-32x32.png\"), 0%, 50.5%, 49.5%, 0%)";
+ // Tests a wrong syntax (negative value)
+ var test3 = "-moz-image-rect(url(green-16x16-in-blue-32x32.png), 0%, -50%, 50%, 0%)";
+ var testRef3 = "";
+ // Checks if I didn't break the default url() notation.
+ var test4 = "url( green-16x16-in-blue-32x32.png )";
+ var testRef4 = "url(\"green-16x16-in-blue-32x32.png\")";
+
+ function equalDOMIO(domInput, domOutputRef, targetId) {
+ var targetObj = document.getElementById(targetId);
+ targetObj.style.backgroundImage = domInput;
+ var domOutput = targetObj.style.backgroundImage;
+ document.write(domOutput == domOutputRef ? "SUCCESS" : ("FAIL: " + domOutput));
+ }
+ </script>
+ </head>
+ <body>
+ <div class="wrapper"><div id="test1"></div></div>
+ <script>
+ equalDOMIO(test1, testRef1, "test1");
+ </script>
+ <div class="wrapper"><div id="test2"></div></div>
+ <script>
+ equalDOMIO(test2, testRef2, "test2");
+ </script>
+ <div class="wrapper"><div id="test3"></div></div>
+ <script>
+ equalDOMIO(test3, testRef3, "test3");
+ </script>
+ <div class="wrapper"><div id="test4"></div></div>
+ <script>
+ equalDOMIO(test4, testRef4, "test4");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/image-rect/green-16x16-in-blue-32x32.png b/layout/reftests/image-rect/green-16x16-in-blue-32x32.png
new file mode 100644
index 0000000000..038b4fa728
--- /dev/null
+++ b/layout/reftests/image-rect/green-16x16-in-blue-32x32.png
Binary files differ
diff --git a/layout/reftests/image-rect/reftest.list b/layout/reftests/image-rect/reftest.list
new file mode 100644
index 0000000000..2b01459ad8
--- /dev/null
+++ b/layout/reftests/image-rect/reftest.list
@@ -0,0 +1,16 @@
+== background-common-usage-floating-point.html background-common-usage-ref.html
+== background-common-usage-percent.html background-common-usage-ref.html
+== background-common-usage-pixel.html background-common-usage-ref.html
+== background-draw-nothing-empty-rect.html background-draw-nothing-ref.html
+== background-draw-nothing-invalid-syntax.html background-draw-nothing-ref.html
+== background-draw-nothing-malformed-images.html background-draw-nothing-ref.html
+== background-monster-rect.html background-monster-rect-ref.html
+== background-over-size-rect.html background-over-size-rect-ref.html
+== background-test-parser.html background-test-parser-ref.html
+fuzzy-if(Android,0-113,0-124) == background-with-other-properties.html background-with-other-properties-ref.html
+fuzzy(0-16,0-44) == background-zoom-1.html background-zoom-1-ref.html # Bug 1128229
+== background-zoom-2.html background-zoom-2-ref.html
+== background-zoom-3.html background-zoom-3-ref.html
+== background-zoom-4.html background-zoom-4-ref.html
+== dom-api-computed-style.html dom-api-ref.html
+== dom-api.html dom-api-ref.html
diff --git a/layout/reftests/image-rect/transparent-16x16-in-blue-32x32.png b/layout/reftests/image-rect/transparent-16x16-in-blue-32x32.png
new file mode 100644
index 0000000000..5baab0c1f9
--- /dev/null
+++ b/layout/reftests/image-rect/transparent-16x16-in-blue-32x32.png
Binary files differ