Bug 1564649 - Add reftest. r=TYLin
authorL. David Baron <dbaron@dbaron.org>
Fri, 12 Jul 2019 20:24:44 +0000
changeset 543183 fed851fb8e831435ebe7f445d0d6672b6f2aa682
parent 543182 c34163e3ba0bc56900f1344e0296b8e027307f05
child 543184 ac4398269328e4abb86618e9483921acfe7eed6a
push id11848
push userffxbld-merge
push dateMon, 26 Aug 2019 19:26:25 +0000
treeherdermozilla-beta@9b31bfdfac10 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersTYLin
bugs1564649
milestone70.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1564649 - Add reftest. r=TYLin Depends on D37515 Differential Revision: https://phabricator.services.mozilla.com/D37516
layout/reftests/columns/reftest.list
layout/reftests/columns/zero-height-nondirty-reflow-ref.html
layout/reftests/columns/zero-height-nondirty-reflow.html
--- a/layout/reftests/columns/reftest.list
+++ b/layout/reftests/columns/reftest.list
@@ -37,17 +37,19 @@ fuzzy-if(OSX,0-32,0-1000) == columnfill-
 fuzzy-if(browserIsRemote&&winWidget,0-142,0-276) == fieldset-columns-001.html fieldset-columns-001-ref.html
 == fieldset-columns-002.html fieldset-columns-002-ref.html
 == dynamic-change-with-overflow-1.html dynamic-change-with-overflow-1-ref.html
 == dynamic-text-indent-1.html dynamic-text-indent-1-ref.html
 == dynamic-text-indent-2.html dynamic-text-indent-2-ref.html
 == break-avoid-line-position-1.html break-avoid-line-position-1-ref.html
 pref(layout.css.column-span.enabled,true) == column-span-bidi-1.html column-span-bidi-1-ref.html
 pref(layout.css.column-span.enabled,true) == first-line-first-letter.html first-line-first-letter-ref.html
+fails == zero-height-nondirty-reflow.html zero-height-nondirty-reflow-ref.html
 
 # The following lines are duplicates of other lines from further up in this
 # manifest. They're listed again here so we can re-run these tests with
 # column-span enabled. These lines can be removed once the pref becomes
 # default-enabled (Bug 1426010).
 default-preferences pref(layout.css.column-span.enabled,true)
 fails == min-width-2.html min-width-2-ref.html # Bug 1548100
 == column-balancing-nested-001.html column-balancing-nested-001-ref.html
+fails == zero-height-nondirty-reflow.html zero-height-nondirty-reflow-ref.html # bug 1565665
 default-preferences
new file mode 100644
--- /dev/null
+++ b/layout/reftests/columns/zero-height-nondirty-reflow-ref.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+  <title>CSS Multi-column Layout Test: multi-column element with zero height</title>
+  <!--
+  Based on 
+  https://github.com/web-platform-tests/wpt/blob/1f346b050d87656a040fa4fdf9f99567164e2a2b/css/css-multicol/multicol-zero-height-001.xht
+  by Opera Software ASA.
+  -->
+  <style>
+
+  html { overflow: hidden } /* suppress scrollbar reflows */
+
+  div#multi-column
+  {
+  height: 1px;
+  width: 200px;
+  display: inline-block;
+  background: #0c0;
+  }
+  </style>
+ </head>
+ <body style="height: 300px; width: 300px;">
+  <p>Below should be a 1px tall and 200px wide green line:</p>
+  <div style="display: inline">
+   <div id="multi-column">
+   </div>
+  </div>
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/columns/zero-height-nondirty-reflow.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+  <title>CSS Multi-column Layout Test: multi-column element with zero height</title>
+  <!--
+  Based on 
+  https://github.com/web-platform-tests/wpt/blob/1f346b050d87656a040fa4fdf9f99567164e2a2b/css/css-multicol/multicol-zero-height-001.xht
+  by Opera Software ASA.
+  -->
+  <style>
+
+  html { overflow: hidden } /* suppress scrollbar reflows */
+
+  div#multi-column
+  {
+  height: 0;
+  orphans: 1;
+  widows: 1;
+  width: 200px;
+  border-bottom:1px solid red;
+
+  column-count: 10;
+  column-gap: 0;
+  display: inline-block;
+  }
+
+  div#multi-column > div
+  {
+  background: #0c0;
+  float: left;
+  height: 10px;
+  width: 20px;
+  }
+  </style>
+ </head>
+ <body style="height: 300px; width: 400px;">
+  <p>Below should be a 1px tall and 200px wide green line:</p>
+  <div style="display: inline">
+   <div id="multi-column">
+    <div></div>
+   </div>
+  </div>
+  <script>
+
+  /*
+   * Cause the multi-column element to be reflowed without being dirty or any resize bits set.
+   */
+  var e = document.body;
+  e.offsetWidth;
+  e.style.width = "300px";
+
+  </script>
+ </body>
+</html>