tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit ba4165589f03e50c83730efecb44c1032fb016f6
parent 01f6bdccb99e85791ecfd4710998eb216b7965a3
Author: Ting-Yu Lin <tlin@mozilla.com>
Date:   Thu,  8 Jan 2026 12:10:21 +0000

Bug 2009082 - Add web-platform reftests for appending element into containers that have pseudo-elements. r=emilio,layout-reviewers

- multicol-dynamic-add-002.html is adapted from bug 1645714 comment 0.
- multicol-dynamic-add-003.html is adapted from bug 1645714 comment 6.
- multicol-dynamic-add-004.html is adapted from bug 1645714 comment 7.

Note: multicol-dynamic-add-004.html (inserting float element) still crashes when
running on CI.

Differential Revision: https://phabricator.services.mozilla.com/D278219

Diffstat:
Atesting/web-platform/meta/css/css-multicol/multicol-dynamic-add-004.html.ini | 3+++
Atesting/web-platform/tests/css/css-multicol/multicol-dynamic-add-002-ref.html | 10++++++++++
Atesting/web-platform/tests/css/css-multicol/multicol-dynamic-add-002.html | 31+++++++++++++++++++++++++++++++
Atesting/web-platform/tests/css/css-multicol/multicol-dynamic-add-003-ref.html | 30++++++++++++++++++++++++++++++
Atesting/web-platform/tests/css/css-multicol/multicol-dynamic-add-003.html | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Atesting/web-platform/tests/css/css-multicol/multicol-dynamic-add-004-ref.html | 28++++++++++++++++++++++++++++
Atesting/web-platform/tests/css/css-multicol/multicol-dynamic-add-004.html | 49+++++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 202 insertions(+), 0 deletions(-)

diff --git a/testing/web-platform/meta/css/css-multicol/multicol-dynamic-add-004.html.ini b/testing/web-platform/meta/css/css-multicol/multicol-dynamic-add-004.html.ini @@ -0,0 +1,3 @@ +[multicol-dynamic-add-004.html] + expected: + if debug: [CRASH, ERROR] # Bug 1645714 diff --git a/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-002-ref.html b/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-002-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<title>CSS Multi-column Layout Reference: Flex container in multi-column context</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="http://www.mozilla.org/"> + +<style> +:root { columns: 0px } +</style> + +<q style="display: flex">f</q> diff --git a/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-002.html b/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-002.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>CSS Multi-column Layout Test: Change textContent on flex container in multi-column context</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="http://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-multicol-1/"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1645714"> +<link rel="match" href="multicol-dynamic-add-002-ref.html"> +<meta name="assert" content="This test checks that dynamically changing textContent on a flex container in a multi-column context renders correctly."> + +<script> +function runTest() { + document.body.offsetHeight; + + a.textContent = "f"; + + document.documentElement.removeAttribute("class"); +} +</script> + +<style> +:root { columns: 0px } +</style> + +<body onload="runTest();"> +<q id="a" style="display: flex"> +<small>x</label> +<li> +</body> +</html> diff --git a/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-003-ref.html b/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-003-ref.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<title>CSS Multi-column Layout Reference: Grid with pseudo-elements in multi-column context</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="http://www.mozilla.org/"> + +<style> +.columns { + columns: 2; + column-fill: auto; + width: 100px; + height: 10px; +} +#grid { + display: grid; + grid: 20px 20px / 40px 40px; +} +#grid::before, #grid::after { + content: ""; + grid-row: 1 / 3; +} +nav { + grid-row: 1 / 3; +} +</style> + +<div class="columns"> + <div id="grid"> + <nav>text</nav> + </div> +</div> diff --git a/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-003.html b/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-003.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <meta charset="utf-8"> + <title>CSS Multi-column Layout Test: Append element to grid with pseudo-elements in multi-column context</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-multicol-1/"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1645714"> + <link rel="match" href="multicol-dynamic-add-003-ref.html"> + <meta name="assert" content="This test checks that dynamically appending an element to a grid container with ::before and ::after pseudo-elements in a multi-column context renders correctly."> + + <script> + function runTest() { + document.body.offsetHeight; + + var nav = document.createElement("nav"); + nav.append("text"); + + var grid = document.getElementById("grid"); + grid.append(nav); + + document.documentElement.removeAttribute("class"); + } + </script> + + <style> + .columns { + columns: 2; + column-fill: auto; + width: 100px; + height: 10px; + } + #grid { + display: grid; + grid: 20px 20px / 40px 40px; + } + #grid::before, #grid::after { + content: ""; + grid-row: 1 / 3; + } + nav { + grid-row: 1 / 3; + } + </style> + + <body onload="runTest();"> + <div class="columns"> + <div id="grid"></div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-004-ref.html b/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-004-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<title>CSS Multi-column Layout Reference: Block with floating pseudo-elements in multi-column context</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="http://www.mozilla.org/"> + +<style> +.columns { + columns: 2; + column-fill: auto; + width: 100px; + height: 10px; +} +#container::before, #container::after { + float: left; + content: ""; + width: 10px; + height: 20px; +} +nav { + float: left; +} +</style> + +<div class="columns"> + <div id="container"> + <nav>text</nav> + </div> +</div> diff --git a/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-004.html b/testing/web-platform/tests/css/css-multicol/multicol-dynamic-add-004.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <meta charset="utf-8"> + <title>CSS Multi-column Layout Test: Append float element to block with floating pseudo-elements in multi-column context</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-multicol-1/"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1645714"> + <link rel="match" href="multicol-dynamic-add-004-ref.html"> + <meta name="assert" content="This test checks that dynamically appending a float element to a block container with floating ::before and ::after pseudo-elements in a multi-column context renders correctly."> + + <script> + function runTest() { + document.body.offsetHeight; + + var nav = document.createElement("nav"); + nav.append("text"); + + var container = document.getElementById("container"); + container.append(nav); + + document.documentElement.removeAttribute("class"); + } + </script> + + <style> + .columns { + columns: 2; + column-fill: auto; + width: 100px; + height: 10px; + } + #container::before, #container::after { + float: left; + content: ""; + width: 10px; + height: 20px; + } + nav { + float: left; + } + </style> + + <body onload="runTest();"> + <div class="columns"> + <div id="container"></div> + </div> + </body> +</html>