summaryrefslogtreecommitdiffstats
path: root/layout/reftests/position-dynamic-changes/horizontal
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/position-dynamic-changes/horizontal')
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/animate.js60
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthA-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA-2.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN-2.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthN-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest-stylo.list19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest.list18
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos-stylo.list27
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos.list25
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent-stylo.list28
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent.list26
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos-stylo.list28
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos.list26
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent-stylo.list28
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent.list26
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos-stylo.list28
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos.list26
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent-stylo.list28
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent.list26
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_plain-stylo.list28
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/reftest_plain.list26
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/style.css20
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN.html19
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA-ref.html15
-rw-r--r--layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA.html19
58 files changed, 1189 insertions, 0 deletions
diff --git a/layout/reftests/position-dynamic-changes/horizontal/animate.js b/layout/reftests/position-dynamic-changes/horizontal/animate.js
new file mode 100644
index 000000000..142004743
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/animate.js
@@ -0,0 +1,60 @@
+var currentOffset = null;
+var maxOffset = null;
+var property = "left";
+
+var rfa = null;
+if (window.requestAnimationFrame) {
+ rfa = requestAnimationFrame;
+} else if (window.webkitRequestAnimationFrame) {
+ rfa = webkitRequestAnimationFrame;
+} else if (window.msRequestAnimationFrame) {
+ rfa = msRequestAnimationFrame;
+} else if (window.oRequestAnimationFrame) {
+ rfa = oRequestAnimationFrame;
+}
+
+function animate(from, to, prop) {
+ currentOffset = from;
+ maxOffset = to;
+ if (prop) {
+ property = prop;
+ }
+ rfa(animateStep);
+}
+
+function animateStep() {
+ if (currentOffset <= maxOffset) {
+ document.getElementById("child").style[property] = currentOffset + "px";
+ currentOffset += 10;
+ rfa(animateStep);
+ } else {
+ document.documentElement.removeAttribute("class");
+ }
+}
+
+function toAuto(prop) {
+ if (prop) {
+ property = prop;
+ }
+ rfa(setToAuto);
+}
+
+function setToAuto() {
+ document.getElementById("child").style[property] = "auto";
+ document.documentElement.removeAttribute("class");
+}
+
+function fromAuto(to, prop) {
+ maxOffset = to;
+ if (prop) {
+ property = prop;
+ }
+ rfa(setFromAuto);
+}
+
+function setFromAuto() {
+ document.getElementById("child").style[property] = maxOffset + "px";
+ document.documentElement.removeAttribute("class");
+}
+
+
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthA-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthA-rightN.html
new file mode 100644
index 000000000..95f01aff4
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthA-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(200, "right");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightA.html
new file mode 100644
index 000000000..49bb65de3
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(200, "width");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightN.html
new file mode 100644
index 000000000..c63a914f3
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftA-widthN-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(200, "right");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA-2.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA-2.html
new file mode 100644
index 000000000..5c7eed756
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(360);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA.html
new file mode 100644
index 000000000..bb48f92bc
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(200);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN-2.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN-2.html
new file mode 100644
index 000000000..b7e3e45a5
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(340);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN.html
new file mode 100644
index 000000000..29caa7bbf
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthA-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(200);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthN-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthN-rightA.html
new file mode 100644
index 000000000..8a9b6a9d4
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/fromauto-leftN-widthN-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ fromAuto(200);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN-ref.html
new file mode 100644
index 000000000..88780e477
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN.html
new file mode 100644
index 000000000..14014d03e
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthA-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 200, "right");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA-ref.html
new file mode 100644
index 000000000..f35b1119b
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA.html
new file mode 100644
index 000000000..c73e85c33
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 200, "width");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN-ref.html
new file mode 100644
index 000000000..4db64f374
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px; right: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN.html
new file mode 100644
index 000000000..4dcea5484
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftA-widthN-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px; right: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 200, "right");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2-ref.html
new file mode 100644
index 000000000..33b21d8f1
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 360px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2.html
new file mode 100644
index 000000000..5476f217b
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(200, 360);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-ref.html
new file mode 100644
index 000000000..7e8cc0fde
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA.html
new file mode 100644
index 000000000..60d01178f
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 200);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2-ref.html
new file mode 100644
index 000000000..5080662fb
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 340px; right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2.html
new file mode 100644
index 000000000..d12d7a917
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 100px; right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 340);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-ref.html
new file mode 100644
index 000000000..a0847ba87
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 200px; right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN.html
new file mode 100644
index 000000000..bedd5e21d
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthA-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 100px; right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 200);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA-ref.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA-ref.html
new file mode 100644
index 000000000..4f885402d
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px; left: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA.html
new file mode 100644
index 000000000..5928cd7b6
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/leftN-widthN-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px; left: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ animate(100, 200);
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest-stylo.list
new file mode 100644
index 000000000..2f9419814
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest-stylo.list
@@ -0,0 +1,19 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# This directory includes 7 different permutations of the same tests.
+# reftest_plain-stylo.list is the manifest file for tests without any border, margin
+# or padding applied to either the abs-pos element or the parent.
+# reftest_{prop}_{element}.list files are the manifest files for tests with the
+# CSS property {prop} applied to {element}. These files use the query string
+# on the test file and the reference file to ask the code in ../handleprop.js add
+# the corresponding CSS style.
+
+# Any changes to the contents of the following files needs to be reflected on
+# all of them.
+
+include reftest_plain-stylo.list
+include reftest_border_abspos-stylo.list
+include reftest_border_parent-stylo.list
+include reftest_margin_abspos-stylo.list
+include reftest_margin_parent-stylo.list
+include reftest_padding_abspos-stylo.list
+include reftest_padding_parent-stylo.list
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest.list b/layout/reftests/position-dynamic-changes/horizontal/reftest.list
new file mode 100644
index 000000000..5f888a3ad
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest.list
@@ -0,0 +1,18 @@
+# This directory includes 7 different permutations of the same tests.
+# reftest_plain.list is the manifest file for tests without any border, margin
+# or padding applied to either the abs-pos element or the parent.
+# reftest_{prop}_{element}.list files are the manifest files for tests with the
+# CSS property {prop} applied to {element}. These files use the query string
+# on the test file and the reference file to ask the code in ../handleprop.js add
+# the corresponding CSS style.
+
+# Any changes to the contents of the following files needs to be reflected on
+# all of them.
+
+include reftest_plain.list
+include reftest_border_abspos.list
+include reftest_border_parent.list
+include reftest_margin_abspos.list
+include reftest_margin_parent.list
+include reftest_padding_abspos.list
+include reftest_padding_parent.list
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos-stylo.list
new file mode 100644
index 000000000..2dec3bb4e
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos-stylo.list
@@ -0,0 +1,27 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+== leftN-widthA-rightA.html?border_abspos leftN-widthA-rightA.html?border_abspos
+== leftN-widthA-rightA-2.html?border_abspos leftN-widthA-rightA-2.html?border_abspos
+== leftN-widthA-rightN.html?border_abspos leftN-widthA-rightN.html?border_abspos
+== leftN-widthA-rightN-2.html?border_abspos leftN-widthA-rightN-2.html?border_abspos
+== leftA-widthN-rightA.html?border_abspos leftA-widthN-rightA.html?border_abspos
+== leftN-widthN-rightA.html?border_abspos leftN-widthN-rightA.html?border_abspos
+== leftA-widthN-rightN.html?border_abspos leftA-widthN-rightN.html?border_abspos
+== leftA-widthA-rightN.html?border_abspos leftA-widthA-rightN.html?border_abspos
+== toauto-leftN-widthA-rightA.html?border_abspos toauto-leftN-widthA-rightA.html?border_abspos
+== toauto-leftN-widthA-rightA-2.html?border_abspos toauto-leftN-widthA-rightA-2.html?border_abspos
+== toauto-leftN-widthA-rightN.html?border_abspos toauto-leftN-widthA-rightN.html?border_abspos
+== toauto-leftN-widthA-rightN-2.html?border_abspos toauto-leftN-widthA-rightN-2.html?border_abspos
+== toauto-leftA-widthN-rightA.html?border_abspos toauto-leftA-widthN-rightA.html?border_abspos
+== toauto-leftN-widthN-rightA.html?border_abspos toauto-leftN-widthN-rightA.html?border_abspos
+== toauto-leftA-widthN-rightN.html?border_abspos toauto-leftA-widthN-rightN.html?border_abspos
+== toauto-leftA-widthA-rightN.html?border_abspos toauto-leftA-widthA-rightN.html?border_abspos
+== fromauto-leftN-widthA-rightA.html?border_abspos fromauto-leftN-widthA-rightA.html?border_abspos
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?border_abspos fromauto-leftN-widthA-rightA-2.html?border_abspos
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html?border_abspos fromauto-leftN-widthA-rightN.html?border_abspos
+== fromauto-leftN-widthA-rightN-2.html?border_abspos fromauto-leftN-widthA-rightN-2.html?border_abspos
+== fromauto-leftA-widthN-rightA.html?border_abspos fromauto-leftA-widthN-rightA.html?border_abspos
+== fromauto-leftN-widthN-rightA.html?border_abspos fromauto-leftN-widthN-rightA.html?border_abspos
+== fromauto-leftA-widthN-rightN.html?border_abspos fromauto-leftA-widthN-rightN.html?border_abspos
+== fromauto-leftA-widthA-rightN.html?border_abspos fromauto-leftA-widthA-rightN.html?border_abspos
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos.list
new file mode 100644
index 000000000..adbd660da
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_abspos.list
@@ -0,0 +1,25 @@
+# Please see the comment at the beginning of reftest.list
+== leftN-widthA-rightA.html?border_abspos leftN-widthA-rightA-ref.html?border_abspos
+== leftN-widthA-rightA-2.html?border_abspos leftN-widthA-rightA-2-ref.html?border_abspos
+== leftN-widthA-rightN.html?border_abspos leftN-widthA-rightN-ref.html?border_abspos
+== leftN-widthA-rightN-2.html?border_abspos leftN-widthA-rightN-2-ref.html?border_abspos
+== leftA-widthN-rightA.html?border_abspos leftA-widthN-rightA-ref.html?border_abspos
+== leftN-widthN-rightA.html?border_abspos leftN-widthN-rightA-ref.html?border_abspos
+== leftA-widthN-rightN.html?border_abspos leftA-widthN-rightN-ref.html?border_abspos
+== leftA-widthA-rightN.html?border_abspos leftA-widthA-rightN-ref.html?border_abspos
+== toauto-leftN-widthA-rightA.html?border_abspos toauto-leftN-widthA-rightA-ref.html?border_abspos
+== toauto-leftN-widthA-rightA-2.html?border_abspos toauto-leftN-widthA-rightA-2-ref.html?border_abspos
+== toauto-leftN-widthA-rightN.html?border_abspos toauto-leftN-widthA-rightN-ref.html?border_abspos
+== toauto-leftN-widthA-rightN-2.html?border_abspos toauto-leftN-widthA-rightN-2-ref.html?border_abspos
+== toauto-leftA-widthN-rightA.html?border_abspos toauto-leftA-widthN-rightA-ref.html?border_abspos
+== toauto-leftN-widthN-rightA.html?border_abspos toauto-leftN-widthN-rightA-ref.html?border_abspos
+== toauto-leftA-widthN-rightN.html?border_abspos toauto-leftA-widthN-rightN-ref.html?border_abspos
+== toauto-leftA-widthA-rightN.html?border_abspos toauto-leftA-widthA-rightN-ref.html?border_abspos
+== fromauto-leftN-widthA-rightA.html?border_abspos leftN-widthA-rightA-ref.html?border_abspos
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?border_abspos leftN-widthA-rightA-2-ref.html?border_abspos # Bug 688545
+== fromauto-leftN-widthA-rightN.html?border_abspos leftN-widthA-rightN-ref.html?border_abspos
+== fromauto-leftN-widthA-rightN-2.html?border_abspos leftN-widthA-rightN-2-ref.html?border_abspos
+== fromauto-leftA-widthN-rightA.html?border_abspos leftA-widthN-rightA-ref.html?border_abspos
+== fromauto-leftN-widthN-rightA.html?border_abspos leftN-widthN-rightA-ref.html?border_abspos
+== fromauto-leftA-widthN-rightN.html?border_abspos leftA-widthN-rightN-ref.html?border_abspos
+== fromauto-leftA-widthA-rightN.html?border_abspos leftA-widthA-rightN-ref.html?border_abspos
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent-stylo.list
new file mode 100644
index 000000000..92ac24f97
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent-stylo.list
@@ -0,0 +1,28 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+
+== leftN-widthA-rightA.html?border_parent leftN-widthA-rightA.html?border_parent
+== leftN-widthA-rightA-2.html?border_parent leftN-widthA-rightA-2.html?border_parent
+== leftN-widthA-rightN.html?border_parent leftN-widthA-rightN.html?border_parent
+== leftN-widthA-rightN-2.html?border_parent leftN-widthA-rightN-2.html?border_parent
+== leftA-widthN-rightA.html?border_parent leftA-widthN-rightA.html?border_parent
+== leftN-widthN-rightA.html?border_parent leftN-widthN-rightA.html?border_parent
+== leftA-widthN-rightN.html?border_parent leftA-widthN-rightN.html?border_parent
+== leftA-widthA-rightN.html?border_parent leftA-widthA-rightN.html?border_parent
+== toauto-leftN-widthA-rightA.html?border_parent toauto-leftN-widthA-rightA.html?border_parent
+== toauto-leftN-widthA-rightA-2.html?border_parent toauto-leftN-widthA-rightA-2.html?border_parent
+== toauto-leftN-widthA-rightN.html?border_parent toauto-leftN-widthA-rightN.html?border_parent
+== toauto-leftN-widthA-rightN-2.html?border_parent toauto-leftN-widthA-rightN-2.html?border_parent
+== toauto-leftA-widthN-rightA.html?border_parent toauto-leftA-widthN-rightA.html?border_parent
+== toauto-leftN-widthN-rightA.html?border_parent toauto-leftN-widthN-rightA.html?border_parent
+== toauto-leftA-widthN-rightN.html?border_parent toauto-leftA-widthN-rightN.html?border_parent
+== toauto-leftA-widthA-rightN.html?border_parent toauto-leftA-widthA-rightN.html?border_parent
+== fromauto-leftN-widthA-rightA.html?border_parent fromauto-leftN-widthA-rightA.html?border_parent
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?border_parent fromauto-leftN-widthA-rightA-2.html?border_parent
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html?border_parent fromauto-leftN-widthA-rightN.html?border_parent
+== fromauto-leftN-widthA-rightN-2.html?border_parent fromauto-leftN-widthA-rightN-2.html?border_parent
+== fromauto-leftA-widthN-rightA.html?border_parent fromauto-leftA-widthN-rightA.html?border_parent
+== fromauto-leftN-widthN-rightA.html?border_parent fromauto-leftN-widthN-rightA.html?border_parent
+== fromauto-leftA-widthN-rightN.html?border_parent fromauto-leftA-widthN-rightN.html?border_parent
+== fromauto-leftA-widthA-rightN.html?border_parent fromauto-leftA-widthA-rightN.html?border_parent
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent.list
new file mode 100644
index 000000000..3de9d1a7c
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_border_parent.list
@@ -0,0 +1,26 @@
+# Please see the comment at the beginning of reftest.list
+
+== leftN-widthA-rightA.html?border_parent leftN-widthA-rightA-ref.html?border_parent
+== leftN-widthA-rightA-2.html?border_parent leftN-widthA-rightA-2-ref.html?border_parent
+== leftN-widthA-rightN.html?border_parent leftN-widthA-rightN-ref.html?border_parent
+== leftN-widthA-rightN-2.html?border_parent leftN-widthA-rightN-2-ref.html?border_parent
+== leftA-widthN-rightA.html?border_parent leftA-widthN-rightA-ref.html?border_parent
+== leftN-widthN-rightA.html?border_parent leftN-widthN-rightA-ref.html?border_parent
+== leftA-widthN-rightN.html?border_parent leftA-widthN-rightN-ref.html?border_parent
+== leftA-widthA-rightN.html?border_parent leftA-widthA-rightN-ref.html?border_parent
+== toauto-leftN-widthA-rightA.html?border_parent toauto-leftN-widthA-rightA-ref.html?border_parent
+== toauto-leftN-widthA-rightA-2.html?border_parent toauto-leftN-widthA-rightA-2-ref.html?border_parent
+== toauto-leftN-widthA-rightN.html?border_parent toauto-leftN-widthA-rightN-ref.html?border_parent
+== toauto-leftN-widthA-rightN-2.html?border_parent toauto-leftN-widthA-rightN-2-ref.html?border_parent
+== toauto-leftA-widthN-rightA.html?border_parent toauto-leftA-widthN-rightA-ref.html?border_parent
+== toauto-leftN-widthN-rightA.html?border_parent toauto-leftN-widthN-rightA-ref.html?border_parent
+== toauto-leftA-widthN-rightN.html?border_parent toauto-leftA-widthN-rightN-ref.html?border_parent
+== toauto-leftA-widthA-rightN.html?border_parent toauto-leftA-widthA-rightN-ref.html?border_parent
+== fromauto-leftN-widthA-rightA.html?border_parent leftN-widthA-rightA-ref.html?border_parent
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?border_parent leftN-widthA-rightA-2-ref.html?border_parent # Bug 688545
+== fromauto-leftN-widthA-rightN.html?border_parent leftN-widthA-rightN-ref.html?border_parent
+== fromauto-leftN-widthA-rightN-2.html?border_parent leftN-widthA-rightN-2-ref.html?border_parent
+== fromauto-leftA-widthN-rightA.html?border_parent leftA-widthN-rightA-ref.html?border_parent
+== fromauto-leftN-widthN-rightA.html?border_parent leftN-widthN-rightA-ref.html?border_parent
+== fromauto-leftA-widthN-rightN.html?border_parent leftA-widthN-rightN-ref.html?border_parent
+== fromauto-leftA-widthA-rightN.html?border_parent leftA-widthA-rightN-ref.html?border_parent
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos-stylo.list
new file mode 100644
index 000000000..76d19515e
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos-stylo.list
@@ -0,0 +1,28 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+
+== leftN-widthA-rightA.html?margin_abspos leftN-widthA-rightA.html?margin_abspos
+== leftN-widthA-rightA-2.html?margin_abspos leftN-widthA-rightA-2.html?margin_abspos
+== leftN-widthA-rightN.html?margin_abspos leftN-widthA-rightN.html?margin_abspos
+== leftN-widthA-rightN-2.html?margin_abspos leftN-widthA-rightN-2.html?margin_abspos
+== leftA-widthN-rightA.html?margin_abspos leftA-widthN-rightA.html?margin_abspos
+== leftN-widthN-rightA.html?margin_abspos leftN-widthN-rightA.html?margin_abspos
+== leftA-widthN-rightN.html?margin_abspos leftA-widthN-rightN.html?margin_abspos
+== leftA-widthA-rightN.html?margin_abspos leftA-widthA-rightN.html?margin_abspos
+== toauto-leftN-widthA-rightA.html?margin_abspos toauto-leftN-widthA-rightA.html?margin_abspos
+== toauto-leftN-widthA-rightA-2.html?margin_abspos toauto-leftN-widthA-rightA-2.html?margin_abspos
+== toauto-leftN-widthA-rightN.html?margin_abspos toauto-leftN-widthA-rightN.html?margin_abspos
+== toauto-leftN-widthA-rightN-2.html?margin_abspos toauto-leftN-widthA-rightN-2.html?margin_abspos
+== toauto-leftA-widthN-rightA.html?margin_abspos toauto-leftA-widthN-rightA.html?margin_abspos
+== toauto-leftN-widthN-rightA.html?margin_abspos toauto-leftN-widthN-rightA.html?margin_abspos
+== toauto-leftA-widthN-rightN.html?margin_abspos toauto-leftA-widthN-rightN.html?margin_abspos
+== toauto-leftA-widthA-rightN.html?margin_abspos toauto-leftA-widthA-rightN.html?margin_abspos
+== fromauto-leftN-widthA-rightA.html?margin_abspos fromauto-leftN-widthA-rightA.html?margin_abspos
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?margin_abspos fromauto-leftN-widthA-rightA-2.html?margin_abspos
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html?margin_abspos fromauto-leftN-widthA-rightN.html?margin_abspos
+== fromauto-leftN-widthA-rightN-2.html?margin_abspos fromauto-leftN-widthA-rightN-2.html?margin_abspos
+== fromauto-leftA-widthN-rightA.html?margin_abspos fromauto-leftA-widthN-rightA.html?margin_abspos
+== fromauto-leftN-widthN-rightA.html?margin_abspos fromauto-leftN-widthN-rightA.html?margin_abspos
+== fromauto-leftA-widthN-rightN.html?margin_abspos fromauto-leftA-widthN-rightN.html?margin_abspos
+== fromauto-leftA-widthA-rightN.html?margin_abspos fromauto-leftA-widthA-rightN.html?margin_abspos
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos.list
new file mode 100644
index 000000000..367564e64
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_abspos.list
@@ -0,0 +1,26 @@
+# Please see the comment at the beginning of reftest.list
+
+== leftN-widthA-rightA.html?margin_abspos leftN-widthA-rightA-ref.html?margin_abspos
+== leftN-widthA-rightA-2.html?margin_abspos leftN-widthA-rightA-2-ref.html?margin_abspos
+== leftN-widthA-rightN.html?margin_abspos leftN-widthA-rightN-ref.html?margin_abspos
+== leftN-widthA-rightN-2.html?margin_abspos leftN-widthA-rightN-2-ref.html?margin_abspos
+== leftA-widthN-rightA.html?margin_abspos leftA-widthN-rightA-ref.html?margin_abspos
+== leftN-widthN-rightA.html?margin_abspos leftN-widthN-rightA-ref.html?margin_abspos
+== leftA-widthN-rightN.html?margin_abspos leftA-widthN-rightN-ref.html?margin_abspos
+== leftA-widthA-rightN.html?margin_abspos leftA-widthA-rightN-ref.html?margin_abspos
+== toauto-leftN-widthA-rightA.html?margin_abspos toauto-leftN-widthA-rightA-ref.html?margin_abspos
+== toauto-leftN-widthA-rightA-2.html?margin_abspos toauto-leftN-widthA-rightA-2-ref.html?margin_abspos
+== toauto-leftN-widthA-rightN.html?margin_abspos toauto-leftN-widthA-rightN-ref.html?margin_abspos
+== toauto-leftN-widthA-rightN-2.html?margin_abspos toauto-leftN-widthA-rightN-2-ref.html?margin_abspos
+== toauto-leftA-widthN-rightA.html?margin_abspos toauto-leftA-widthN-rightA-ref.html?margin_abspos
+== toauto-leftN-widthN-rightA.html?margin_abspos toauto-leftN-widthN-rightA-ref.html?margin_abspos
+== toauto-leftA-widthN-rightN.html?margin_abspos toauto-leftA-widthN-rightN-ref.html?margin_abspos
+== toauto-leftA-widthA-rightN.html?margin_abspos toauto-leftA-widthA-rightN-ref.html?margin_abspos
+== fromauto-leftN-widthA-rightA.html?margin_abspos leftN-widthA-rightA-ref.html?margin_abspos
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?margin_abspos leftN-widthA-rightA-2-ref.html?margin_abspos # Bug 688545
+== fromauto-leftN-widthA-rightN.html?margin_abspos leftN-widthA-rightN-ref.html?margin_abspos
+== fromauto-leftN-widthA-rightN-2.html?margin_abspos leftN-widthA-rightN-2-ref.html?margin_abspos
+== fromauto-leftA-widthN-rightA.html?margin_abspos leftA-widthN-rightA-ref.html?margin_abspos
+== fromauto-leftN-widthN-rightA.html?margin_abspos leftN-widthN-rightA-ref.html?margin_abspos
+== fromauto-leftA-widthN-rightN.html?margin_abspos leftA-widthN-rightN-ref.html?margin_abspos
+== fromauto-leftA-widthA-rightN.html?margin_abspos leftA-widthA-rightN-ref.html?margin_abspos
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent-stylo.list
new file mode 100644
index 000000000..2ab61ff0a
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent-stylo.list
@@ -0,0 +1,28 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+
+== leftN-widthA-rightA.html?margin_parent leftN-widthA-rightA.html?margin_parent
+== leftN-widthA-rightA-2.html?margin_parent leftN-widthA-rightA-2.html?margin_parent
+== leftN-widthA-rightN.html?margin_parent leftN-widthA-rightN.html?margin_parent
+== leftN-widthA-rightN-2.html?margin_parent leftN-widthA-rightN-2.html?margin_parent
+== leftA-widthN-rightA.html?margin_parent leftA-widthN-rightA.html?margin_parent
+== leftN-widthN-rightA.html?margin_parent leftN-widthN-rightA.html?margin_parent
+== leftA-widthN-rightN.html?margin_parent leftA-widthN-rightN.html?margin_parent
+== leftA-widthA-rightN.html?margin_parent leftA-widthA-rightN.html?margin_parent
+== toauto-leftN-widthA-rightA.html?margin_parent toauto-leftN-widthA-rightA.html?margin_parent
+== toauto-leftN-widthA-rightA-2.html?margin_parent toauto-leftN-widthA-rightA-2.html?margin_parent
+== toauto-leftN-widthA-rightN.html?margin_parent toauto-leftN-widthA-rightN.html?margin_parent
+== toauto-leftN-widthA-rightN-2.html?margin_parent toauto-leftN-widthA-rightN-2.html?margin_parent
+== toauto-leftA-widthN-rightA.html?margin_parent toauto-leftA-widthN-rightA.html?margin_parent
+== toauto-leftN-widthN-rightA.html?margin_parent toauto-leftN-widthN-rightA.html?margin_parent
+== toauto-leftA-widthN-rightN.html?margin_parent toauto-leftA-widthN-rightN.html?margin_parent
+== toauto-leftA-widthA-rightN.html?margin_parent toauto-leftA-widthA-rightN.html?margin_parent
+== fromauto-leftN-widthA-rightA.html?margin_parent fromauto-leftN-widthA-rightA.html?margin_parent
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?margin_parent fromauto-leftN-widthA-rightA-2.html?margin_parent
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html?margin_parent fromauto-leftN-widthA-rightN.html?margin_parent
+skip == fromauto-leftN-widthA-rightN-2.html?margin_parent fromauto-leftN-widthA-rightN-2.html?margin_parent
+== fromauto-leftA-widthN-rightA.html?margin_parent fromauto-leftA-widthN-rightA.html?margin_parent
+== fromauto-leftN-widthN-rightA.html?margin_parent fromauto-leftN-widthN-rightA.html?margin_parent
+== fromauto-leftA-widthN-rightN.html?margin_parent fromauto-leftA-widthN-rightN.html?margin_parent
+== fromauto-leftA-widthA-rightN.html?margin_parent fromauto-leftA-widthA-rightN.html?margin_parent
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent.list
new file mode 100644
index 000000000..d1aaff8ed
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_margin_parent.list
@@ -0,0 +1,26 @@
+# Please see the comment at the beginning of reftest.list
+
+== leftN-widthA-rightA.html?margin_parent leftN-widthA-rightA-ref.html?margin_parent
+== leftN-widthA-rightA-2.html?margin_parent leftN-widthA-rightA-2-ref.html?margin_parent
+== leftN-widthA-rightN.html?margin_parent leftN-widthA-rightN-ref.html?margin_parent
+== leftN-widthA-rightN-2.html?margin_parent leftN-widthA-rightN-2-ref.html?margin_parent
+== leftA-widthN-rightA.html?margin_parent leftA-widthN-rightA-ref.html?margin_parent
+== leftN-widthN-rightA.html?margin_parent leftN-widthN-rightA-ref.html?margin_parent
+== leftA-widthN-rightN.html?margin_parent leftA-widthN-rightN-ref.html?margin_parent
+== leftA-widthA-rightN.html?margin_parent leftA-widthA-rightN-ref.html?margin_parent
+== toauto-leftN-widthA-rightA.html?margin_parent toauto-leftN-widthA-rightA-ref.html?margin_parent
+== toauto-leftN-widthA-rightA-2.html?margin_parent toauto-leftN-widthA-rightA-2-ref.html?margin_parent
+== toauto-leftN-widthA-rightN.html?margin_parent toauto-leftN-widthA-rightN-ref.html?margin_parent
+== toauto-leftN-widthA-rightN-2.html?margin_parent toauto-leftN-widthA-rightN-2-ref.html?margin_parent
+== toauto-leftA-widthN-rightA.html?margin_parent toauto-leftA-widthN-rightA-ref.html?margin_parent
+== toauto-leftN-widthN-rightA.html?margin_parent toauto-leftN-widthN-rightA-ref.html?margin_parent
+== toauto-leftA-widthN-rightN.html?margin_parent toauto-leftA-widthN-rightN-ref.html?margin_parent
+== toauto-leftA-widthA-rightN.html?margin_parent toauto-leftA-widthA-rightN-ref.html?margin_parent
+== fromauto-leftN-widthA-rightA.html?margin_parent leftN-widthA-rightA-ref.html?margin_parent
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?margin_parent leftN-widthA-rightA-2-ref.html?margin_parent # Bug 688545
+== fromauto-leftN-widthA-rightN.html?margin_parent leftN-widthA-rightN-ref.html?margin_parent
+== fromauto-leftN-widthA-rightN-2.html?margin_parent leftN-widthA-rightN-2-ref.html?margin_parent
+== fromauto-leftA-widthN-rightA.html?margin_parent leftA-widthN-rightA-ref.html?margin_parent
+== fromauto-leftN-widthN-rightA.html?margin_parent leftN-widthN-rightA-ref.html?margin_parent
+== fromauto-leftA-widthN-rightN.html?margin_parent leftA-widthN-rightN-ref.html?margin_parent
+== fromauto-leftA-widthA-rightN.html?margin_parent leftA-widthA-rightN-ref.html?margin_parent
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos-stylo.list
new file mode 100644
index 000000000..893e15fea
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos-stylo.list
@@ -0,0 +1,28 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+
+== leftN-widthA-rightA.html?padding_abspos leftN-widthA-rightA.html?padding_abspos
+== leftN-widthA-rightA-2.html?padding_abspos leftN-widthA-rightA-2.html?padding_abspos
+== leftN-widthA-rightN.html?padding_abspos leftN-widthA-rightN.html?padding_abspos
+== leftN-widthA-rightN-2.html?padding_abspos leftN-widthA-rightN-2.html?padding_abspos
+== leftA-widthN-rightA.html?padding_abspos leftA-widthN-rightA.html?padding_abspos
+== leftN-widthN-rightA.html?padding_abspos leftN-widthN-rightA.html?padding_abspos
+== leftA-widthN-rightN.html?padding_abspos leftA-widthN-rightN.html?padding_abspos
+== leftA-widthA-rightN.html?padding_abspos leftA-widthA-rightN.html?padding_abspos
+== toauto-leftN-widthA-rightA.html?padding_abspos toauto-leftN-widthA-rightA.html?padding_abspos
+== toauto-leftN-widthA-rightA-2.html?padding_abspos toauto-leftN-widthA-rightA-2.html?padding_abspos
+== toauto-leftN-widthA-rightN.html?padding_abspos toauto-leftN-widthA-rightN.html?padding_abspos
+== toauto-leftN-widthA-rightN-2.html?padding_abspos toauto-leftN-widthA-rightN-2.html?padding_abspos
+== toauto-leftA-widthN-rightA.html?padding_abspos toauto-leftA-widthN-rightA.html?padding_abspos
+== toauto-leftN-widthN-rightA.html?padding_abspos toauto-leftN-widthN-rightA.html?padding_abspos
+== toauto-leftA-widthN-rightN.html?padding_abspos toauto-leftA-widthN-rightN.html?padding_abspos
+== toauto-leftA-widthA-rightN.html?padding_abspos toauto-leftA-widthA-rightN.html?padding_abspos
+== fromauto-leftN-widthA-rightA.html?padding_abspos fromauto-leftN-widthA-rightA.html?padding_abspos
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?padding_abspos fromauto-leftN-widthA-rightA-2.html?padding_abspos
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html?padding_abspos fromauto-leftN-widthA-rightN.html?padding_abspos
+== fromauto-leftN-widthA-rightN-2.html?padding_abspos fromauto-leftN-widthA-rightN-2.html?padding_abspos
+== fromauto-leftA-widthN-rightA.html?padding_abspos fromauto-leftA-widthN-rightA.html?padding_abspos
+== fromauto-leftN-widthN-rightA.html?padding_abspos fromauto-leftN-widthN-rightA.html?padding_abspos
+== fromauto-leftA-widthN-rightN.html?padding_abspos fromauto-leftA-widthN-rightN.html?padding_abspos
+== fromauto-leftA-widthA-rightN.html?padding_abspos fromauto-leftA-widthA-rightN.html?padding_abspos
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos.list
new file mode 100644
index 000000000..03952c6d1
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_abspos.list
@@ -0,0 +1,26 @@
+# Please see the comment at the beginning of reftest.list
+
+== leftN-widthA-rightA.html?padding_abspos leftN-widthA-rightA-ref.html?padding_abspos
+== leftN-widthA-rightA-2.html?padding_abspos leftN-widthA-rightA-2-ref.html?padding_abspos
+== leftN-widthA-rightN.html?padding_abspos leftN-widthA-rightN-ref.html?padding_abspos
+== leftN-widthA-rightN-2.html?padding_abspos leftN-widthA-rightN-2-ref.html?padding_abspos
+== leftA-widthN-rightA.html?padding_abspos leftA-widthN-rightA-ref.html?padding_abspos
+== leftN-widthN-rightA.html?padding_abspos leftN-widthN-rightA-ref.html?padding_abspos
+== leftA-widthN-rightN.html?padding_abspos leftA-widthN-rightN-ref.html?padding_abspos
+== leftA-widthA-rightN.html?padding_abspos leftA-widthA-rightN-ref.html?padding_abspos
+== toauto-leftN-widthA-rightA.html?padding_abspos toauto-leftN-widthA-rightA-ref.html?padding_abspos
+== toauto-leftN-widthA-rightA-2.html?padding_abspos toauto-leftN-widthA-rightA-2-ref.html?padding_abspos
+== toauto-leftN-widthA-rightN.html?padding_abspos toauto-leftN-widthA-rightN-ref.html?padding_abspos
+== toauto-leftN-widthA-rightN-2.html?padding_abspos toauto-leftN-widthA-rightN-2-ref.html?padding_abspos
+== toauto-leftA-widthN-rightA.html?padding_abspos toauto-leftA-widthN-rightA-ref.html?padding_abspos
+== toauto-leftN-widthN-rightA.html?padding_abspos toauto-leftN-widthN-rightA-ref.html?padding_abspos
+== toauto-leftA-widthN-rightN.html?padding_abspos toauto-leftA-widthN-rightN-ref.html?padding_abspos
+== toauto-leftA-widthA-rightN.html?padding_abspos toauto-leftA-widthA-rightN-ref.html?padding_abspos
+== fromauto-leftN-widthA-rightA.html?padding_abspos leftN-widthA-rightA-ref.html?padding_abspos
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?padding_abspos leftN-widthA-rightA-2-ref.html?padding_abspos # Bug 688545
+== fromauto-leftN-widthA-rightN.html?padding_abspos leftN-widthA-rightN-ref.html?padding_abspos
+== fromauto-leftN-widthA-rightN-2.html?padding_abspos leftN-widthA-rightN-2-ref.html?padding_abspos
+== fromauto-leftA-widthN-rightA.html?padding_abspos leftA-widthN-rightA-ref.html?padding_abspos
+== fromauto-leftN-widthN-rightA.html?padding_abspos leftN-widthN-rightA-ref.html?padding_abspos
+== fromauto-leftA-widthN-rightN.html?padding_abspos leftA-widthN-rightN-ref.html?padding_abspos
+== fromauto-leftA-widthA-rightN.html?padding_abspos leftA-widthA-rightN-ref.html?padding_abspos
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent-stylo.list
new file mode 100644
index 000000000..80b165f4a
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent-stylo.list
@@ -0,0 +1,28 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+
+== leftN-widthA-rightA.html?padding_parent leftN-widthA-rightA.html?padding_parent
+== leftN-widthA-rightA-2.html?padding_parent leftN-widthA-rightA-2.html?padding_parent
+== leftN-widthA-rightN.html?padding_parent leftN-widthA-rightN.html?padding_parent
+== leftN-widthA-rightN-2.html?padding_parent leftN-widthA-rightN-2.html?padding_parent
+== leftA-widthN-rightA.html?padding_parent leftA-widthN-rightA.html?padding_parent
+== leftN-widthN-rightA.html?padding_parent leftN-widthN-rightA.html?padding_parent
+== leftA-widthN-rightN.html?padding_parent leftA-widthN-rightN.html?padding_parent
+== leftA-widthA-rightN.html?padding_parent leftA-widthA-rightN.html?padding_parent
+== toauto-leftN-widthA-rightA.html?padding_parent toauto-leftN-widthA-rightA.html?padding_parent
+== toauto-leftN-widthA-rightA-2.html?padding_parent toauto-leftN-widthA-rightA-2.html?padding_parent
+== toauto-leftN-widthA-rightN.html?padding_parent toauto-leftN-widthA-rightN.html?padding_parent
+== toauto-leftN-widthA-rightN-2.html?padding_parent toauto-leftN-widthA-rightN-2.html?padding_parent
+== toauto-leftA-widthN-rightA.html?padding_parent toauto-leftA-widthN-rightA.html?padding_parent
+== toauto-leftN-widthN-rightA.html?padding_parent toauto-leftN-widthN-rightA.html?padding_parent
+== toauto-leftA-widthN-rightN.html?padding_parent toauto-leftA-widthN-rightN.html?padding_parent
+skip == toauto-leftA-widthA-rightN.html?padding_parent toauto-leftA-widthA-rightN.html?padding_parent
+== fromauto-leftN-widthA-rightA.html?padding_parent fromauto-leftN-widthA-rightA.html?padding_parent
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?padding_parent fromauto-leftN-widthA-rightA-2.html?padding_parent
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html?padding_parent fromauto-leftN-widthA-rightN.html?padding_parent
+== fromauto-leftN-widthA-rightN-2.html?padding_parent fromauto-leftN-widthA-rightN-2.html?padding_parent
+== fromauto-leftA-widthN-rightA.html?padding_parent fromauto-leftA-widthN-rightA.html?padding_parent
+== fromauto-leftN-widthN-rightA.html?padding_parent fromauto-leftN-widthN-rightA.html?padding_parent
+== fromauto-leftA-widthN-rightN.html?padding_parent fromauto-leftA-widthN-rightN.html?padding_parent
+== fromauto-leftA-widthA-rightN.html?padding_parent fromauto-leftA-widthA-rightN.html?padding_parent
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent.list
new file mode 100644
index 000000000..e1cdf6a01
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_padding_parent.list
@@ -0,0 +1,26 @@
+# Please see the comment at the beginning of reftest.list
+
+== leftN-widthA-rightA.html?padding_parent leftN-widthA-rightA-ref.html?padding_parent
+== leftN-widthA-rightA-2.html?padding_parent leftN-widthA-rightA-2-ref.html?padding_parent
+== leftN-widthA-rightN.html?padding_parent leftN-widthA-rightN-ref.html?padding_parent
+== leftN-widthA-rightN-2.html?padding_parent leftN-widthA-rightN-2-ref.html?padding_parent
+== leftA-widthN-rightA.html?padding_parent leftA-widthN-rightA-ref.html?padding_parent
+== leftN-widthN-rightA.html?padding_parent leftN-widthN-rightA-ref.html?padding_parent
+== leftA-widthN-rightN.html?padding_parent leftA-widthN-rightN-ref.html?padding_parent
+== leftA-widthA-rightN.html?padding_parent leftA-widthA-rightN-ref.html?padding_parent
+== toauto-leftN-widthA-rightA.html?padding_parent toauto-leftN-widthA-rightA-ref.html?padding_parent
+== toauto-leftN-widthA-rightA-2.html?padding_parent toauto-leftN-widthA-rightA-2-ref.html?padding_parent
+== toauto-leftN-widthA-rightN.html?padding_parent toauto-leftN-widthA-rightN-ref.html?padding_parent
+== toauto-leftN-widthA-rightN-2.html?padding_parent toauto-leftN-widthA-rightN-2-ref.html?padding_parent
+== toauto-leftA-widthN-rightA.html?padding_parent toauto-leftA-widthN-rightA-ref.html?padding_parent
+== toauto-leftN-widthN-rightA.html?padding_parent toauto-leftN-widthN-rightA-ref.html?padding_parent
+== toauto-leftA-widthN-rightN.html?padding_parent toauto-leftA-widthN-rightN-ref.html?padding_parent
+== toauto-leftA-widthA-rightN.html?padding_parent toauto-leftA-widthA-rightN-ref.html?padding_parent
+== fromauto-leftN-widthA-rightA.html?padding_parent leftN-widthA-rightA-ref.html?padding_parent
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html?padding_parent leftN-widthA-rightA-2-ref.html?padding_parent # Bug 688545
+== fromauto-leftN-widthA-rightN.html?padding_parent leftN-widthA-rightN-ref.html?padding_parent
+== fromauto-leftN-widthA-rightN-2.html?padding_parent leftN-widthA-rightN-2-ref.html?padding_parent
+== fromauto-leftA-widthN-rightA.html?padding_parent leftA-widthN-rightA-ref.html?padding_parent
+== fromauto-leftN-widthN-rightA.html?padding_parent leftN-widthN-rightA-ref.html?padding_parent
+== fromauto-leftA-widthN-rightN.html?padding_parent leftA-widthN-rightN-ref.html?padding_parent
+== fromauto-leftA-widthA-rightN.html?padding_parent leftA-widthA-rightN-ref.html?padding_parent
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_plain-stylo.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_plain-stylo.list
new file mode 100644
index 000000000..9aecff855
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_plain-stylo.list
@@ -0,0 +1,28 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# Please see the comment at the beginning of reftest-stylo.list
+
+== leftN-widthA-rightA.html leftN-widthA-rightA.html
+== leftN-widthA-rightA-2.html leftN-widthA-rightA-2.html
+== leftN-widthA-rightN.html leftN-widthA-rightN.html
+== leftN-widthA-rightN-2.html leftN-widthA-rightN-2.html
+== leftA-widthN-rightA.html leftA-widthN-rightA.html
+== leftN-widthN-rightA.html leftN-widthN-rightA.html
+== leftA-widthN-rightN.html leftA-widthN-rightN.html
+== leftA-widthA-rightN.html leftA-widthA-rightN.html
+== toauto-leftN-widthA-rightA.html toauto-leftN-widthA-rightA.html
+== toauto-leftN-widthA-rightA-2.html toauto-leftN-widthA-rightA-2.html
+== toauto-leftN-widthA-rightN.html toauto-leftN-widthA-rightN.html
+== toauto-leftN-widthA-rightN-2.html toauto-leftN-widthA-rightN-2.html
+== toauto-leftA-widthN-rightA.html toauto-leftA-widthN-rightA.html
+== toauto-leftN-widthN-rightA.html toauto-leftN-widthN-rightA.html
+== toauto-leftA-widthN-rightN.html toauto-leftA-widthN-rightN.html
+== toauto-leftA-widthA-rightN.html toauto-leftA-widthA-rightN.html
+== fromauto-leftN-widthA-rightA.html fromauto-leftN-widthA-rightA.html
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html fromauto-leftN-widthA-rightA-2.html
+# Bug 688545
+== fromauto-leftN-widthA-rightN.html fromauto-leftN-widthA-rightN.html
+== fromauto-leftN-widthA-rightN-2.html fromauto-leftN-widthA-rightN-2.html
+== fromauto-leftA-widthN-rightA.html fromauto-leftA-widthN-rightA.html
+== fromauto-leftN-widthN-rightA.html fromauto-leftN-widthN-rightA.html
+== fromauto-leftA-widthN-rightN.html fromauto-leftA-widthN-rightN.html
+== fromauto-leftA-widthA-rightN.html fromauto-leftA-widthA-rightN.html
diff --git a/layout/reftests/position-dynamic-changes/horizontal/reftest_plain.list b/layout/reftests/position-dynamic-changes/horizontal/reftest_plain.list
new file mode 100644
index 000000000..a2c84623e
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/reftest_plain.list
@@ -0,0 +1,26 @@
+# Please see the comment at the beginning of reftest.list
+
+== leftN-widthA-rightA.html leftN-widthA-rightA-ref.html
+== leftN-widthA-rightA-2.html leftN-widthA-rightA-2-ref.html
+== leftN-widthA-rightN.html leftN-widthA-rightN-ref.html
+== leftN-widthA-rightN-2.html leftN-widthA-rightN-2-ref.html
+== leftA-widthN-rightA.html leftA-widthN-rightA-ref.html
+== leftN-widthN-rightA.html leftN-widthN-rightA-ref.html
+== leftA-widthN-rightN.html leftA-widthN-rightN-ref.html
+== leftA-widthA-rightN.html leftA-widthA-rightN-ref.html
+== toauto-leftN-widthA-rightA.html toauto-leftN-widthA-rightA-ref.html
+== toauto-leftN-widthA-rightA-2.html toauto-leftN-widthA-rightA-2-ref.html
+== toauto-leftN-widthA-rightN.html toauto-leftN-widthA-rightN-ref.html
+== toauto-leftN-widthA-rightN-2.html toauto-leftN-widthA-rightN-2-ref.html
+== toauto-leftA-widthN-rightA.html toauto-leftA-widthN-rightA-ref.html
+== toauto-leftN-widthN-rightA.html toauto-leftN-widthN-rightA-ref.html
+== toauto-leftA-widthN-rightN.html toauto-leftA-widthN-rightN-ref.html
+== toauto-leftA-widthA-rightN.html toauto-leftA-widthA-rightN-ref.html
+== fromauto-leftN-widthA-rightA.html leftN-widthA-rightA-ref.html
+random-if(cocoaWidget) == fromauto-leftN-widthA-rightA-2.html leftN-widthA-rightA-2-ref.html # Bug 688545
+== fromauto-leftN-widthA-rightN.html leftN-widthA-rightN-ref.html
+== fromauto-leftN-widthA-rightN-2.html leftN-widthA-rightN-2-ref.html
+== fromauto-leftA-widthN-rightA.html leftA-widthN-rightA-ref.html
+== fromauto-leftN-widthN-rightA.html leftN-widthN-rightA-ref.html
+== fromauto-leftA-widthN-rightN.html leftA-widthN-rightN-ref.html
+== fromauto-leftA-widthA-rightN.html leftA-widthA-rightN-ref.html
diff --git a/layout/reftests/position-dynamic-changes/horizontal/style.css b/layout/reftests/position-dynamic-changes/horizontal/style.css
new file mode 100644
index 000000000..7486e56d4
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/style.css
@@ -0,0 +1,20 @@
+#parent {
+ position: relative;
+ width: 400px;
+ height: 400px;
+ background: red;
+ border: 0 solid black;
+}
+#child {
+ position: absolute;
+ height: 100px;
+ top: 100px;
+ background: blue;
+ border: 0 solid black;
+}
+.floatLeft {
+ width: 50px;
+ height: 10px;
+ background: green;
+ float: left;
+}
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN-ref.html
new file mode 100644
index 000000000..0cedbea5d
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN.html
new file mode 100644
index 000000000..d8b4de0f1
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthA-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("right");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA-ref.html
new file mode 100644
index 000000000..0cedbea5d
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA.html
new file mode 100644
index 000000000..f4e181b26
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("width");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN-ref.html
new file mode 100644
index 000000000..92c8e4061
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN.html
new file mode 100644
index 000000000..dd5f32224
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftA-widthN-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px; right: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("right");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2-ref.html
new file mode 100644
index 000000000..0cedbea5d
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2.html
new file mode 100644
index 000000000..b1d36043f
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 200px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("left");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-ref.html
new file mode 100644
index 000000000..0cedbea5d
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA.html
new file mode 100644
index 000000000..d31aac067
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("left");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2-ref.html
new file mode 100644
index 000000000..e8e205719
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2.html
new file mode 100644
index 000000000..7aeb23f6a
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 100px; right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("left");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-ref.html
new file mode 100644
index 000000000..e8e205719
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN.html
new file mode 100644
index 000000000..7aeb23f6a
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthA-rightN.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="left: 100px; right: 20px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("left");
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA-ref.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA-ref.html
new file mode 100644
index 000000000..92c8e4061
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA.html b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA.html
new file mode 100644
index 000000000..30403a07b
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/horizontal/toauto-leftN-widthN-rightA.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script src="animate.js" type="text/javascript"></script>
+ <script src="../handleprop.js" type="text/javascript"></script>
+ </head>
+ <body>
+ <div id="parent">
+ <div id="child" style="width: 100px; left: 100px;">
+ <div class="floatLeft"></div>
+ <div class="floatLeft"></div>
+ </div>
+ </div>
+ <script>
+ toAuto("left");
+ </script>
+ </body>
+</html>