Bug 797601 part 3: Add a reftest to verify that the flexbox about:config pref works, and annotate the other flexbox reftests to turn on the pref for them. r=bz
authorDaniel Holbert <dholbert@cs.stanford.edu>
Wed, 03 Oct 2012 18:45:06 -0700
changeset 115484 b768892d382529bf77db3b40de12fb55d2cdd56e
parent 115483 48f68293ee0896c665dd146f04c3607a640b5934
child 115485 16ac5cbc7793e3271fbe0467fbd29428ce783ef2
push id1
push usersledru@mozilla.com
push dateThu, 04 Dec 2014 17:57:20 +0000
reviewersbz
bugs797601
milestone18.0a1
Bug 797601 part 3: Add a reftest to verify that the flexbox about:config pref works, and annotate the other flexbox reftests to turn on the pref for them. r=bz
layout/reftests/flexbox/flexbox-pref-1-disabled-ref.xhtml
layout/reftests/flexbox/flexbox-pref-1-enabled-ref.xhtml
layout/reftests/flexbox/flexbox-pref-1.xhtml
layout/reftests/flexbox/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-pref-1-disabled-ref.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     Any copyright is dedicated to the Public Domain.
+     http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <style>
+      body { margin: 0 }
+    </style>
+  </head>
+  <body>
+    <p>
+      "display: -moz-flex" is:
+      <div>disabled</div>
+    </p>
+    <p>
+      "display: -moz-inline-flex" is:
+      <div>disabled</div>
+    </p>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-pref-1-enabled-ref.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     Any copyright is dedicated to the Public Domain.
+     http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <style>
+      body { margin: 0 }
+    </style>
+  </head>
+  <body>
+    <p>
+      "display: -moz-flex" is:
+      <div>enabled</div>
+    </p>
+    <p>
+      "display: -moz-inline-flex" is:
+      <div>enabled</div>
+    </p>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-pref-1.xhtml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     Any copyright is dedicated to the Public Domain.
+     http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<!-- Testcase that indicates whether flexbox support is enabled -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <style>
+      body { margin: 0 }
+      div.mask {
+        position: absolute;
+        background: white;
+        width: -moz-available;
+      }
+      div.flex {
+        display: none;
+        display: -moz-flex;
+      }
+      div.inlineFlex {
+        display: none;
+        display: -moz-inline-flex;
+      }
+    </style>
+  </head>
+  <body>
+    <p>
+      "display: -moz-flex" is:
+      <!-- If rendered, this will cover up "disabled" below: -->
+      <div class="mask flex">enabled</div>
+      <div>disabled</div>
+    </p>
+    <p>
+      "display: -moz-inline-flex" is:<br/>
+      <!-- If rendered, this will cover up "disabled" below: -->
+      <div class="mask inlineFlex">enabled</div>
+      <div>disabled</div>
+    </p>
+  </body>
+</html>
--- a/layout/reftests/flexbox/reftest.list
+++ b/layout/reftests/flexbox/reftest.list
@@ -1,162 +1,168 @@
+# Tests for flexbox pref "layout.css.flexbox.enabled"
+# (Note that it defaults to off for now)
+== flexbox-pref-1.xhtml flexbox-pref-1-disabled-ref.xhtml
+test-pref(layout.css.flexbox.enabled,false) == flexbox-pref-1.xhtml flexbox-pref-1-disabled-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-pref-1.xhtml flexbox-pref-1-enabled-ref.xhtml
+
 # Tests for cross-axis alignment (align-self / align-items properties)
-== flexbox-align-self-baseline-horiz-1.xhtml  flexbox-align-self-baseline-horiz-1-ref.xhtml
-fails == flexbox-align-self-baseline-horiz-2.xhtml  flexbox-align-self-baseline-horiz-2-ref.xhtml # bug 793456, and possibly others
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-baseline-horiz-1.xhtml  flexbox-align-self-baseline-horiz-1-ref.xhtml
+fails test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-baseline-horiz-2.xhtml  flexbox-align-self-baseline-horiz-2-ref.xhtml # bug 793456, and possibly others
 # This one fails on windows R (but not Ru, strangely). On Windows R, the
 # single-line <label> flex item has a different background size in test vs. ref
-random-if(winWidget) == flexbox-align-self-baseline-horiz-3.xhtml  flexbox-align-self-baseline-horiz-3-ref.xhtml # XXXdholbert investigate
-== flexbox-align-self-horiz-1.xhtml  flexbox-align-self-horiz-1-ref.xhtml
-== flexbox-align-self-horiz-2.xhtml  flexbox-align-self-horiz-2-ref.xhtml
-== flexbox-align-self-horiz-3.xhtml  flexbox-align-self-horiz-3-ref.xhtml
-== flexbox-align-self-horiz-4.xhtml  flexbox-align-self-horiz-4-ref.xhtml
-== flexbox-align-self-horiz-5.xhtml  flexbox-align-self-horiz-5-ref.xhtml
-== flexbox-align-self-vert-1.xhtml  flexbox-align-self-vert-1-ref.xhtml
-== flexbox-align-self-vert-2.xhtml  flexbox-align-self-vert-2-ref.xhtml
-== flexbox-align-self-vert-3.xhtml  flexbox-align-self-vert-3-ref.xhtml
-== flexbox-align-self-vert-4.xhtml  flexbox-align-self-vert-4-ref.xhtml
-== flexbox-align-self-vert-rtl-1.xhtml  flexbox-align-self-vert-rtl-1-ref.xhtml
-== flexbox-align-self-vert-rtl-2.xhtml  flexbox-align-self-vert-rtl-2-ref.xhtml
-== flexbox-align-self-vert-rtl-3.xhtml  flexbox-align-self-vert-rtl-3-ref.xhtml
-== flexbox-align-self-vert-rtl-4.xhtml  flexbox-align-self-vert-rtl-4-ref.xhtml
+random-if(winWidget) test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-baseline-horiz-3.xhtml  flexbox-align-self-baseline-horiz-3-ref.xhtml # XXXdholbert investigate
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-horiz-1.xhtml  flexbox-align-self-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-horiz-2.xhtml  flexbox-align-self-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-horiz-3.xhtml  flexbox-align-self-horiz-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-horiz-4.xhtml  flexbox-align-self-horiz-4-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-align-self-horiz-5.xhtml  flexbox-align-self-horiz-5-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-1.xhtml  flexbox-align-self-vert-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-2.xhtml  flexbox-align-self-vert-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-3.xhtml  flexbox-align-self-vert-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-4.xhtml  flexbox-align-self-vert-4-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-rtl-1.xhtml  flexbox-align-self-vert-rtl-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-rtl-2.xhtml  flexbox-align-self-vert-rtl-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-rtl-3.xhtml  flexbox-align-self-vert-rtl-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-align-self-vert-rtl-4.xhtml  flexbox-align-self-vert-rtl-4-ref.xhtml
 
 # Basic tests with with blocks as flex items
-== flexbox-basic-block-horiz-1.xhtml flexbox-basic-block-horiz-1-ref.xhtml
-== flexbox-basic-block-vert-1.xhtml flexbox-basic-block-vert-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-block-horiz-1.xhtml flexbox-basic-block-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-block-vert-1.xhtml flexbox-basic-block-vert-1-ref.xhtml
 
 # Tests for basic handling of <canvas>/<img>/etc as a flex item
-== flexbox-basic-canvas-horiz-1.xhtml   flexbox-basic-canvas-horiz-1-ref.xhtml
-== flexbox-basic-canvas-horiz-2.xhtml   flexbox-basic-canvas-horiz-2-ref.xhtml
-== flexbox-basic-canvas-vert-1.xhtml    flexbox-basic-canvas-vert-1-ref.xhtml
-fails == flexbox-basic-canvas-vert-2.xhtml flexbox-basic-canvas-vert-2-ref.xhtml # bug 794660
-== flexbox-basic-fieldset-horiz-1.xhtml flexbox-basic-fieldset-horiz-1-ref.xhtml
-== flexbox-basic-fieldset-horiz-2.xhtml flexbox-basic-fieldset-horiz-2-ref.xhtml
-== flexbox-basic-fieldset-vert-1.xhtml  flexbox-basic-fieldset-vert-1-ref.xhtml
-== flexbox-basic-fieldset-vert-2.xhtml  flexbox-basic-fieldset-vert-2-ref.xhtml
-== flexbox-basic-iframe-horiz-1.xhtml   flexbox-basic-iframe-horiz-1-ref.xhtml
-== flexbox-basic-iframe-horiz-2.xhtml   flexbox-basic-iframe-horiz-2-ref.xhtml
-== flexbox-basic-iframe-vert-1.xhtml    flexbox-basic-iframe-vert-1-ref.xhtml
-== flexbox-basic-iframe-vert-2.xhtml    flexbox-basic-iframe-vert-2-ref.xhtml
-== flexbox-basic-img-horiz-1.xhtml      flexbox-basic-img-horiz-1-ref.xhtml
-== flexbox-basic-img-horiz-2.xhtml      flexbox-basic-img-horiz-2-ref.xhtml
-== flexbox-basic-img-vert-1.xhtml       flexbox-basic-img-vert-1-ref.xhtml
-fails == flexbox-basic-img-vert-2.xhtml flexbox-basic-img-vert-2-ref.xhtml # bug 794660
-== flexbox-basic-textarea-horiz-1.xhtml flexbox-basic-textarea-horiz-1-ref.xhtml
-== flexbox-basic-textarea-horiz-2.xhtml flexbox-basic-textarea-horiz-2-ref.xhtml
-== flexbox-basic-textarea-vert-1.xhtml  flexbox-basic-textarea-vert-1-ref.xhtml
-== flexbox-basic-textarea-vert-2.xhtml  flexbox-basic-textarea-vert-2-ref.xhtml
-== flexbox-basic-video-horiz-1.xhtml    flexbox-basic-video-horiz-1-ref.xhtml
-== flexbox-basic-video-horiz-2.xhtml    flexbox-basic-video-horiz-2-ref.xhtml
-== flexbox-basic-video-vert-1.xhtml     flexbox-basic-video-vert-1-ref.xhtml
-fails == flexbox-basic-video-vert-2.xhtml flexbox-basic-video-vert-2-ref.xhtml # bug 794660
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-canvas-horiz-1.xhtml   flexbox-basic-canvas-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-canvas-horiz-2.xhtml   flexbox-basic-canvas-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-canvas-vert-1.xhtml    flexbox-basic-canvas-vert-1-ref.xhtml
+fails pref(layout.css.flexbox.enabled,true) == flexbox-basic-canvas-vert-2.xhtml flexbox-basic-canvas-vert-2-ref.xhtml # bug 794660
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-fieldset-horiz-1.xhtml flexbox-basic-fieldset-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-fieldset-horiz-2.xhtml flexbox-basic-fieldset-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-fieldset-vert-1.xhtml  flexbox-basic-fieldset-vert-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-fieldset-vert-2.xhtml  flexbox-basic-fieldset-vert-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-iframe-horiz-1.xhtml   flexbox-basic-iframe-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-iframe-horiz-2.xhtml   flexbox-basic-iframe-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-iframe-vert-1.xhtml    flexbox-basic-iframe-vert-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-iframe-vert-2.xhtml    flexbox-basic-iframe-vert-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-img-horiz-1.xhtml      flexbox-basic-img-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-img-horiz-2.xhtml      flexbox-basic-img-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-img-vert-1.xhtml       flexbox-basic-img-vert-1-ref.xhtml
+fails pref(layout.css.flexbox.enabled,true) == flexbox-basic-img-vert-2.xhtml flexbox-basic-img-vert-2-ref.xhtml # bug 794660
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-textarea-horiz-1.xhtml flexbox-basic-textarea-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-textarea-horiz-2.xhtml flexbox-basic-textarea-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-textarea-vert-1.xhtml  flexbox-basic-textarea-vert-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-textarea-vert-2.xhtml  flexbox-basic-textarea-vert-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-video-horiz-1.xhtml    flexbox-basic-video-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-basic-video-horiz-2.xhtml    flexbox-basic-video-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-basic-video-vert-1.xhtml     flexbox-basic-video-vert-1-ref.xhtml
+fails pref(layout.css.flexbox.enabled,true) == flexbox-basic-video-vert-2.xhtml flexbox-basic-video-vert-2-ref.xhtml # bug 794660
 
 # Tests for dynamic modifications to flexboxes
 # (with existing [div | span | text] inside the flexbox, and new content
 # inserted adjacent to that existing content.)
-== flexbox-dyn-insertAroundDiv-1.xhtml flexbox-dyn-insertAroundDiv-1-ref.xhtml
-== flexbox-dyn-insertAroundDiv-2.xhtml flexbox-dyn-insertAroundDiv-2-ref.xhtml
-fails-if(Android) == flexbox-dyn-insertAroundDiv-3.xhtml flexbox-dyn-insertAroundDiv-3-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundDiv-1.xhtml flexbox-dyn-insertAroundDiv-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundDiv-2.xhtml flexbox-dyn-insertAroundDiv-2-ref.xhtml
+fails-if(Android) pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundDiv-3.xhtml flexbox-dyn-insertAroundDiv-3-ref.xhtml
 
-== flexbox-dyn-insertAroundSpan-1.xhtml flexbox-dyn-insertAroundText-1-ref.xhtml
-== flexbox-dyn-insertAroundSpan-2.xhtml flexbox-dyn-insertAroundText-2-ref.xhtml
-fails-if(Android) == flexbox-dyn-insertAroundSpan-3.xhtml flexbox-dyn-insertAroundText-3-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundSpan-1.xhtml flexbox-dyn-insertAroundText-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundSpan-2.xhtml flexbox-dyn-insertAroundText-2-ref.xhtml
+fails-if(Android) pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundSpan-3.xhtml flexbox-dyn-insertAroundText-3-ref.xhtml
 
-== flexbox-dyn-insertAroundText-1.xhtml flexbox-dyn-insertAroundText-1-ref.xhtml
-== flexbox-dyn-insertAroundText-2.xhtml flexbox-dyn-insertAroundText-2-ref.xhtml
-fails-if(Android) == flexbox-dyn-insertAroundText-3.xhtml flexbox-dyn-insertAroundText-3-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundText-1.xhtml flexbox-dyn-insertAroundText-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundText-2.xhtml flexbox-dyn-insertAroundText-2-ref.xhtml
+fails-if(Android) pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertAroundText-3.xhtml flexbox-dyn-insertAroundText-3-ref.xhtml
 
 # Variant of one of the above tests, to regression-test an invalidation issue
-== flexbox-dyn-insertEmptySpan-1.xhtml flexbox-dyn-insertEmptySpan-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-dyn-insertEmptySpan-1.xhtml flexbox-dyn-insertEmptySpan-1-ref.xhtml
 
 # Tests for empty flexboxes (with no flex items)
-== flexbox-empty-1a.xhtml  flexbox-empty-1-ref.xhtml
-== flexbox-empty-1b.xhtml  flexbox-empty-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-empty-1a.xhtml  flexbox-empty-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-empty-1b.xhtml  flexbox-empty-1-ref.xhtml
 
 # Tests for handling of floated elements inside a flexbox
-== flexbox-float-1a.xhtml  flexbox-float-1-ref.xhtml
-== flexbox-float-1b.xhtml  flexbox-float-1-ref.xhtml
-== flexbox-float-1c.xhtml  flexbox-float-1-ref.xhtml
-== flexbox-float-1d.xhtml  flexbox-float-1-ref.xhtml
-== flexbox-float-2a.xhtml  flexbox-float-2-ref.xhtml
-== flexbox-float-2b.xhtml  flexbox-float-2-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-float-1a.xhtml  flexbox-float-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-float-1b.xhtml  flexbox-float-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-float-1c.xhtml  flexbox-float-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-float-1d.xhtml  flexbox-float-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-float-2a.xhtml  flexbox-float-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-float-2b.xhtml  flexbox-float-2-ref.xhtml
 
 # Tests for (default) "min-width: auto" / "min-height: auto" in flex containers
-== flexbox-minSize-horiz-1.xhtml flexbox-minSize-horiz-1-ref.xhtml
-== flexbox-minSize-vert-1.xhtml  flexbox-minSize-vert-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-minSize-horiz-1.xhtml flexbox-minSize-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-minSize-vert-1.xhtml  flexbox-minSize-vert-1-ref.xhtml
 
 # Tests for handling of absolutely/fixed/relatively-positioned flex items.
-== flexbox-position-absolute-1.xhtml  flexbox-position-absolute-1-ref.xhtml
-== flexbox-position-absolute-2.xhtml  flexbox-position-absolute-2-ref.xhtml
-== flexbox-position-absolute-3.xhtml  flexbox-position-absolute-3-ref.xhtml
-== flexbox-position-absolute-4.xhtml  flexbox-position-absolute-4-ref.xhtml
-== flexbox-position-fixed-3.xhtml     flexbox-position-fixed-3-ref.xhtml
-== flexbox-position-fixed-1.xhtml     flexbox-position-fixed-1-ref.xhtml
-== flexbox-position-fixed-2.xhtml     flexbox-position-fixed-2-ref.xhtml
-== flexbox-position-fixed-3.xhtml     flexbox-position-fixed-3-ref.xhtml
-== flexbox-position-fixed-4.xhtml     flexbox-position-fixed-4-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-absolute-1.xhtml  flexbox-position-absolute-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-absolute-2.xhtml  flexbox-position-absolute-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-absolute-3.xhtml  flexbox-position-absolute-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-absolute-4.xhtml  flexbox-position-absolute-4-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-fixed-3.xhtml     flexbox-position-fixed-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-fixed-1.xhtml     flexbox-position-fixed-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-fixed-2.xhtml     flexbox-position-fixed-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-fixed-3.xhtml     flexbox-position-fixed-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-position-fixed-4.xhtml     flexbox-position-fixed-4-ref.xhtml
 
 # Tests for main-axis alignment (jusify-content property)
-== flexbox-justify-content-horiz-1.xhtml flexbox-justify-content-horiz-1-ref.xhtml
-== flexbox-justify-content-horiz-2.xhtml flexbox-justify-content-horiz-2-ref.xhtml
-== flexbox-justify-content-horiz-3.xhtml flexbox-justify-content-horiz-3-ref.xhtml
-== flexbox-justify-content-horiz-4.xhtml flexbox-justify-content-horiz-4-ref.xhtml
-== flexbox-justify-content-horiz-5.xhtml flexbox-justify-content-horiz-5-ref.xhtml
-== flexbox-justify-content-vert-1.xhtml flexbox-justify-content-vert-1-ref.xhtml
-== flexbox-justify-content-vert-2.xhtml flexbox-justify-content-vert-2-ref.xhtml
-== flexbox-justify-content-vert-3.xhtml flexbox-justify-content-vert-3-ref.xhtml
-== flexbox-justify-content-vert-4.xhtml flexbox-justify-content-vert-4-ref.xhtml
-== flexbox-justify-content-vert-5.xhtml flexbox-justify-content-vert-5-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-horiz-1.xhtml flexbox-justify-content-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-horiz-2.xhtml flexbox-justify-content-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-horiz-3.xhtml flexbox-justify-content-horiz-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-horiz-4.xhtml flexbox-justify-content-horiz-4-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-horiz-5.xhtml flexbox-justify-content-horiz-5-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-vert-1.xhtml flexbox-justify-content-vert-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-vert-2.xhtml flexbox-justify-content-vert-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-vert-3.xhtml flexbox-justify-content-vert-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-vert-4.xhtml flexbox-justify-content-vert-4-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-justify-content-vert-5.xhtml flexbox-justify-content-vert-5-ref.xhtml
 
 # Tests for inline content in a flexbox that gets wrapped in an anonymous block
 # XXXdholbert: These will likely need to change once bug 783415 is fixed.
-HTTP(..) == flexbox-inlinecontent-horiz-1a.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml
-HTTP(..) == flexbox-inlinecontent-horiz-1b.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml
-== flexbox-inlinecontent-horiz-2.xhtml  flexbox-inlinecontent-horiz-2-ref.xhtml
-HTTP(..) == flexbox-inlinecontent-horiz-3a.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
-fails-if(Android) HTTP(..) == flexbox-inlinecontent-horiz-3b.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
-HTTP(..) == flexbox-inlinecontent-horiz-3c.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
-== flexbox-inlinecontent-horiz-4.xhtml  flexbox-inlinecontent-horiz-4-ref.xhtml
-== flexbox-inlinecontent-horiz-5.xhtml  flexbox-inlinecontent-horiz-5-ref.xhtml
-== flexbox-inlinecontent-horiz-6.xhtml  flexbox-inlinecontent-horiz-6-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-inlinecontent-horiz-1a.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-inlinecontent-horiz-1b.xhtml flexbox-inlinecontent-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-inlinecontent-horiz-2.xhtml  flexbox-inlinecontent-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-inlinecontent-horiz-3a.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
+fails-if(Android) test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-inlinecontent-horiz-3b.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-inlinecontent-horiz-3c.xhtml flexbox-inlinecontent-horiz-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-inlinecontent-horiz-4.xhtml  flexbox-inlinecontent-horiz-4-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-inlinecontent-horiz-5.xhtml  flexbox-inlinecontent-horiz-5-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-inlinecontent-horiz-6.xhtml  flexbox-inlinecontent-horiz-6-ref.xhtml
 
 # Tests for intrinsic sizing of flexboxes
-HTTP(..) == flexbox-intrinsic-sizing-horiz-1a.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
-HTTP(..) == flexbox-intrinsic-sizing-horiz-1b.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
-== flexbox-intrinsic-sizing-horiz-2a.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
-== flexbox-intrinsic-sizing-horiz-2b.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-intrinsic-sizing-horiz-1a.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) HTTP(..) == flexbox-intrinsic-sizing-horiz-1b.xhtml flexbox-intrinsic-sizing-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-intrinsic-sizing-horiz-2a.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-intrinsic-sizing-horiz-2b.xhtml flexbox-intrinsic-sizing-horiz-2-ref.xhtml
 
 # Tests for invalidation after dynamic modifications
-== flexbox-invalidation-1.html flexbox-invalidation-1-ref.html
+pref(layout.css.flexbox.enabled,true) == flexbox-invalidation-1.html flexbox-invalidation-1-ref.html
 
 # Tests for flexbox with margin, border, and/or padding on flex items
-== flexbox-margin-auto-horiz-1.xhtml     flexbox-margin-auto-horiz-1-ref.xhtml
-== flexbox-margin-auto-horiz-2.xhtml     flexbox-margin-auto-horiz-2-ref.xhtml
-== flexbox-mbp-horiz-1.xhtml             flexbox-mbp-horiz-1-ref.xhtml
-== flexbox-mbp-horiz-1-reverse.xhtml     flexbox-mbp-horiz-1-reverse-ref.xhtml
-== flexbox-mbp-horiz-1-rtl.xhtml         flexbox-mbp-horiz-1-reverse-ref.xhtml
-== flexbox-mbp-horiz-1-rtl-reverse.xhtml flexbox-mbp-horiz-1-ref.xhtml
-== flexbox-mbp-horiz-2a.xhtml            flexbox-mbp-horiz-2-ref.xhtml
-== flexbox-mbp-horiz-2b.xhtml            flexbox-mbp-horiz-2-ref.xhtml
-== flexbox-mbp-horiz-3.xhtml             flexbox-mbp-horiz-3-ref.xhtml
-== flexbox-mbp-horiz-3-reverse.xhtml     flexbox-mbp-horiz-3-reverse-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-margin-auto-horiz-1.xhtml     flexbox-margin-auto-horiz-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-margin-auto-horiz-2.xhtml     flexbox-margin-auto-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-1.xhtml             flexbox-mbp-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-1-reverse.xhtml     flexbox-mbp-horiz-1-reverse-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-1-rtl.xhtml         flexbox-mbp-horiz-1-reverse-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-1-rtl-reverse.xhtml flexbox-mbp-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-2a.xhtml            flexbox-mbp-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-2b.xhtml            flexbox-mbp-horiz-2-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-3.xhtml             flexbox-mbp-horiz-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-mbp-horiz-3-reverse.xhtml     flexbox-mbp-horiz-3-reverse-ref.xhtml
 
 # Tests for flexbox in an iframe that gets resized.
-== flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml
 
 # Tests for sizing of flex containers, e.g. under min/max size constraints
-== flexbox-sizing-horiz-1.xhtml flexbox-sizing-horiz-1-ref.xhtml
-== flexbox-sizing-vert-1.xhtml  flexbox-sizing-vert-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-sizing-horiz-1.xhtml flexbox-sizing-horiz-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-sizing-vert-1.xhtml  flexbox-sizing-vert-1-ref.xhtml
 
-== flexbox-table-fixup-1a.xhtml flexbox-table-fixup-1-ref.xhtml
-== flexbox-table-fixup-1b.xhtml flexbox-table-fixup-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-table-fixup-1a.xhtml flexbox-table-fixup-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-table-fixup-1b.xhtml flexbox-table-fixup-1-ref.xhtml
 
 # Tests for handling of whitespace within anonymous flex items.
 # XXXdholbert: These will likely need to change once bug 783415 is fixed.
-== flexbox-whitespace-handling-1a.xhtml flexbox-whitespace-handling-1-ref.xhtml
-== flexbox-whitespace-handling-1b.xhtml flexbox-whitespace-handling-1-ref.xhtml
-== flexbox-whitespace-handling-2.xhtml  flexbox-whitespace-handling-2-ref.xhtml
-== flexbox-whitespace-handling-3.xhtml  flexbox-whitespace-handling-3-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-whitespace-handling-1a.xhtml flexbox-whitespace-handling-1-ref.xhtml
+test-pref(layout.css.flexbox.enabled,true) == flexbox-whitespace-handling-1b.xhtml flexbox-whitespace-handling-1-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-whitespace-handling-2.xhtml  flexbox-whitespace-handling-2-ref.xhtml
+pref(layout.css.flexbox.enabled,true) == flexbox-whitespace-handling-3.xhtml  flexbox-whitespace-handling-3-ref.xhtml
 
 # Tests with widgets as flex items
-== flexbox-widget-flex-items-1.html flexbox-widget-flex-items-1-ref.html
-== flexbox-widget-flex-items-2.html flexbox-widget-flex-items-2-ref.html
-== flexbox-widget-flex-items-3.html flexbox-widget-flex-items-3-ref.html
-== flexbox-widget-flex-items-4.html flexbox-widget-flex-items-4-ref.html
+test-pref(layout.css.flexbox.enabled,true) == flexbox-widget-flex-items-1.html flexbox-widget-flex-items-1-ref.html
+test-pref(layout.css.flexbox.enabled,true) == flexbox-widget-flex-items-2.html flexbox-widget-flex-items-2-ref.html
+test-pref(layout.css.flexbox.enabled,true) == flexbox-widget-flex-items-3.html flexbox-widget-flex-items-3-ref.html
+test-pref(layout.css.flexbox.enabled,true) == flexbox-widget-flex-items-4.html flexbox-widget-flex-items-4-ref.html