diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /layout/reftests/ib-split | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'layout/reftests/ib-split')
89 files changed, 2189 insertions, 0 deletions
diff --git a/layout/reftests/ib-split/append-to-empty-trailing-inline-1-ref.html b/layout/reftests/ib-split/append-to-empty-trailing-inline-1-ref.html new file mode 100644 index 0000000000..91dbb4659f --- /dev/null +++ b/layout/reftests/ib-split/append-to-empty-trailing-inline-1-ref.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta http-equiv="Content-Style-Type" content="text/css"> + <style type="text/css"> + + body > span { outline: 1px dotted black; } + body > span > span { display: block; width: 10em; } + + </style> + +</head> +<body> + +<span><span>A</span><span>A</span></span> + +</body> +</html> diff --git a/layout/reftests/ib-split/append-to-empty-trailing-inline-1.html b/layout/reftests/ib-split/append-to-empty-trailing-inline-1.html new file mode 100644 index 0000000000..c5f99bc530 --- /dev/null +++ b/layout/reftests/ib-split/append-to-empty-trailing-inline-1.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta http-equiv="Content-Style-Type" content="text/css"> + <style type="text/css"> + + body > span { outline: 1px dotted black; } + body > span > span { display: block; width: 10em; } + + </style> + +<script> +function boom() +{ + var n = document.getElementById("a"); + n.parentNode.appendChild(n.cloneNode(true)); +} +</script> + +</head> +<body onload="boom();"> + +<span><span id="a">A</span></span> + +</body> +</html> diff --git a/layout/reftests/ib-split/append-to-nested-split-inline-1-noib-ref.html b/layout/reftests/ib-split/append-to-nested-split-inline-1-noib-ref.html new file mode 100644 index 0000000000..18f6aaa2c6 --- /dev/null +++ b/layout/reftests/ib-split/append-to-nested-split-inline-1-noib-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <style> + .outermost { border: 2px solid; } + .outer { border: 4px solid yellow; } + .inner { border: 6px sold green; } + </style> + </head> + <body> + <span class="outermost" style="border-right: none"> + <span class="outer" style="border-right: none"> + <span class="inner" style="border-right: none"> + </span> + </span> + </span> + <span style="display: block"></span> + <span class="outermost" style="border-right: none; border-left: none"> + <span class="outer" style="border-right: none; border-left: none"> + <span class="inner" style="border-right: nonel border-left: none"> + before span + </span> + </span> + </span> + <span style="display: block">span</span> + <span class="outermost" style="border-left: none"> + <span class="outer" style="border-left: none"> + <span class="inner" style="border-left: none"> + after span + </span> + </span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/append-to-nested-split-inline-1-ref.html b/layout/reftests/ib-split/append-to-nested-split-inline-1-ref.html new file mode 100644 index 0000000000..fd54f25327 --- /dev/null +++ b/layout/reftests/ib-split/append-to-nested-split-inline-1-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <style> + #outermost { border: 2px solid; } + #outer { border: 4px solid yellow; } + #inner { border: 6px sold green; } + </style> + </head> + <body> + <span id="outermost"> + <span id="outer"> + <span id="inner"> + <span style="display: block"></span> + before span + <span style="display: block">span</span> + after span + </span> + </span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/append-to-nested-split-inline-1.html b/layout/reftests/ib-split/append-to-nested-split-inline-1.html new file mode 100644 index 0000000000..0e4d2e11c4 --- /dev/null +++ b/layout/reftests/ib-split/append-to-nested-split-inline-1.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #outermost { border: 2px solid; } + #outer { border: 4px solid yellow; } + #inner { border: 6px sold green; } + </style> + <script> + function doTest() { + var i = document.getElementById("inner"); + var frag = document.createDocumentFragment(); + var newSpan = document.createElement("span"); + newSpan.appendChild(document.createTextNode("span")); + newSpan.style.display = "block"; + frag.appendChild(newSpan); + frag.appendChild(document.createTextNode("after span")); + i.appendChild(frag); + } + </script> + </head> + <body onload="doTest()"> + <span id="outermost"> + <span id="outer"> + <span id="inner"> + <span style="display: block"></span> + before span + </span> + </span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/ignored-margins-1-ref.html b/layout/reftests/ib-split/ignored-margins-1-ref.html new file mode 100644 index 0000000000..dffae6e886 --- /dev/null +++ b/layout/reftests/ib-split/ignored-margins-1-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html> + <body> + <div style="width: 100px; border: 1px solid green;"> + <div style="display: block; height: 20px; width: 80px; margin: 10px 0 10px 10px; border: 5px solid black"></div> + </div> + </body> +</html> diff --git a/layout/reftests/ib-split/ignored-margins-1a.html b/layout/reftests/ib-split/ignored-margins-1a.html new file mode 100644 index 0000000000..5b84b9b586 --- /dev/null +++ b/layout/reftests/ib-split/ignored-margins-1a.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <body> + <div style="direction: ltr; width: 100px; border: 1px solid green;"> + <span> + <span style="display: block; height: 20px; width: 80px; margin: 10px; border: 5px solid black"> + </span> + </span> + </div> + </body> +</html> diff --git a/layout/reftests/ib-split/ignored-margins-1b.html b/layout/reftests/ib-split/ignored-margins-1b.html new file mode 100644 index 0000000000..7707aac384 --- /dev/null +++ b/layout/reftests/ib-split/ignored-margins-1b.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <body> + <div style="direction: ltr; width: 100px; border: 1px solid green;"> + <span style="direction: rtl"> + <span style="display: block; height: 20px; width: 80px; margin: 10px; border: 5px solid black"> + </span> + </span> + </div> + </body> +</html> diff --git a/layout/reftests/ib-split/ignored-margins-2-ref.html b/layout/reftests/ib-split/ignored-margins-2-ref.html new file mode 100644 index 0000000000..029351265c --- /dev/null +++ b/layout/reftests/ib-split/ignored-margins-2-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html> + <body> + <div style="width: 100px; border: 1px solid green;"> + <div style="display: block; height: 20px; width: 80px; margin: 10px 10px 10px 0; border: 5px solid black"></div> + </div> + </body> +</html> diff --git a/layout/reftests/ib-split/ignored-margins-2a.html b/layout/reftests/ib-split/ignored-margins-2a.html new file mode 100644 index 0000000000..ddd8c7c670 --- /dev/null +++ b/layout/reftests/ib-split/ignored-margins-2a.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <body> + <div style="direction: rtl; width: 100px; border: 1px solid green;"> + <span> + <span style="display: block; height: 20px; width: 80px; margin: 10px; border: 5px solid black"> + </span> + </span> + </div> + </body> +</html> diff --git a/layout/reftests/ib-split/ignored-margins-2b.html b/layout/reftests/ib-split/ignored-margins-2b.html new file mode 100644 index 0000000000..f1db340706 --- /dev/null +++ b/layout/reftests/ib-split/ignored-margins-2b.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <body> + <div style="direction: rtl; width: 100px; border: 1px solid green;"> + <span style="direction: ltr"> + <span style="display: block; height: 20px; width: 80px; margin: 10px; border: 5px solid black"> + </span> + </span> + </div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-1-noib-ref.html new file mode 100644 index 0000000000..f1fc4662bf --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1-noib-ref.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + <div>Four</div> + <span class="notstart notend"></span> + <div>Five</div> + <span class="notstart notend"> + <span>Six</span> + </span> + <div>Seven</div> + <span class="notstart notend"></span> + <div>Eight</div> + <span class="notstart"> + <span>Nine</span><span>Ten</span><span>Eleven</span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1-ref.html b/layout/reftests/ib-split/insert-into-split-inline-1-ref.html new file mode 100644 index 0000000000..d39c1e9c15 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-10-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-10-noib-ref.html new file mode 100644 index 0000000000..314918890d --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-10-noib-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + </span> + <div>Four</div> + <span class="notstart notend"><span class="notstart notend"></span></span> + <div>Five</div> + <span class="notstart notend"> + <span class="notstart notend"> + <span>Six</span> + </span> + </span> + <div>Seven</div> + <span class="notstart notend"><span class="notstart notend"></span></span> + <div>Eight</div> + <span class="notstart"> + <span class="notstart"> + <span>Nine</span><span>Ten</span> + </span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-10-ref.html b/layout/reftests/ib-split/insert-into-split-inline-10-ref.html new file mode 100644 index 0000000000..edfd76a8ab --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-10-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + </style> + </head> + <body> + <span><span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-10.html b/layout/reftests/ib-split/insert-into-split-inline-10.html new file mode 100644 index 0000000000..4a7f13bb5f --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-10.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + body > span > span::after { content: "Ten" } + </style> + </head> + <body onload='doit()'> + <span><span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-11-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-11-noib-ref.html new file mode 100644 index 0000000000..33448d82a8 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-11-noib-ref.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + </span> + <div>Four</div> + <span class="notstart notend"><span class="notstart notend"></span></span> + <div>Five</div> + <span class="notstart notend"> + <span class="notstart notend"> + <span>Six</span> + </span> + </span> + <div>Seven</div> + <span class="notstart notend"><span class="notstart notend"></span></span> + <div>Eight</div> + <span class="notstart notend"> + <span class="notstart"> + <span>Nine</span> + </span> + </span> + <div>Ten</div> + <span class="notstart"></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-11-ref.html b/layout/reftests/ib-split/insert-into-split-inline-11-ref.html new file mode 100644 index 0000000000..ac41e37a4d --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-11-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + </style> + </head> + <body> + <span + ><span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ></span + ><div>Ten</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-11.html b/layout/reftests/ib-split/insert-into-split-inline-11.html new file mode 100644 index 0000000000..bb407bd828 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-11.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + </style> + </head> + <body onload='doit()'> + <span + ><span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span + ><div>Ten</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-12-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-12-noib-ref.html new file mode 100644 index 0000000000..48bbbe2dc5 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-12-noib-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid; border-right: none">One</div> + <div>Two</div> + <div style="display: inline; border: 2px; border-style: solid none"></div> + <div>Three</div> + <div style="display: inline; border: 2px solid; border-left: none"></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-12-ref.html b/layout/reftests/ib-split/insert-into-split-inline-12-ref.html new file mode 100644 index 0000000000..caff28798d --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-12-ref.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid">One<div>Two</div><div>Three</div></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-12.html b/layout/reftests/ib-split/insert-into-split-inline-12.html new file mode 100644 index 0000000000..ef60b86f00 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-12.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #i { display: inline; border: 2px solid; } + #i::after { display: block; content: "Three"; } + </style> + </head> + <body> + <div id="i"><script>document.body.offsetWidth</script>One<div>Two</div></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-13-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-13-noib-ref.html new file mode 100644 index 0000000000..b6c0d51725 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-13-noib-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid; border-right: none"></div> + <div>One</div> + <div style="display: inline; border: 2px solid; border-left: none">TwoThree</div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-13-ref.html b/layout/reftests/ib-split/insert-into-split-inline-13-ref.html new file mode 100644 index 0000000000..3f0c3853b3 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-13-ref.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid"><div>One</div>TwoThree</div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-13.html b/layout/reftests/ib-split/insert-into-split-inline-13.html new file mode 100644 index 0000000000..fd62e4cb7f --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-13.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #i { border: 2px solid; } + #i::before { display: block; content: "One"; } + #i::after { content: "Three"; } + </style> + <script> + function doTest() { + var i = document.getElementById("i"); + i.insertBefore(document.createTextNode("Two"), i.firstChild); + } + </script> + </head> + <body onload="doTest()"> + <span id="i"><span style="display: none"></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-14-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-14-noib-ref.html new file mode 100644 index 0000000000..67b3f7b3ad --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-14-noib-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid; border-right: none"></div> + <div>One</div> + <div style="display: inline; border: 2px solid; border-left: none">Two</div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-14-ref.html b/layout/reftests/ib-split/insert-into-split-inline-14-ref.html new file mode 100644 index 0000000000..4f3817d4ea --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-14-ref.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid"><div>One</div>Two</div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-14.html b/layout/reftests/ib-split/insert-into-split-inline-14.html new file mode 100644 index 0000000000..84cbd5e02c --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-14.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #i { border: 2px solid; } + #i::before { display: block; content: "One"; } + </style> + <script> + function doTest() { + var i = document.getElementById("i"); + i.insertBefore(document.createTextNode("Two"), i.firstChild); + } + </script> + </head> + <body onload="doTest()"> + <span id="i"><span style="display: none"></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-15-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-15-noib-ref.html new file mode 100644 index 0000000000..855b0fcfb4 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-15-noib-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid; border-right:none"></div> + <div>One</div> + <div style="display: inline; border: 2px solid; border-right:none; border-left: none">Two</div> + <div>Three</div> + <div style="display: inline; border: 2px solid; border-left: none"></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-15-ref.html b/layout/reftests/ib-split/insert-into-split-inline-15-ref.html new file mode 100644 index 0000000000..20dfadfad5 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-15-ref.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid"><div>One</div>Two<div>Three</div></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-15.html b/layout/reftests/ib-split/insert-into-split-inline-15.html new file mode 100644 index 0000000000..3623272a49 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-15.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #i { display: inline; border: 2px solid; } + #i::after { display: block; content: "Three"; } + </style> + </head> + <body> + <div id="i"><script>document.body.offsetWidth</script><div>One</div>Two</div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-16-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-16-noib-ref.html new file mode 100644 index 0000000000..e2166cae2c --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-16-noib-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid; border-right: none">One</div> + <div>Two</div> + <div style="display: inline; border: 2px solid; border-left: none"></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-16-ref.html b/layout/reftests/ib-split/insert-into-split-inline-16-ref.html new file mode 100644 index 0000000000..dfba61f0b6 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-16-ref.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> + <body> + <div style="display: inline; border: 2px solid">One<div>Two</div></div> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-16a.html b/layout/reftests/ib-split/insert-into-split-inline-16a.html new file mode 100644 index 0000000000..245dc2f1c6 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-16a.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #i { border: 2px solid; } + #i::after { display: block; content: "Two"; } + </style> + <script> + function doTest() { + var i = document.getElementById("i"); + i.insertBefore(document.createTextNode("One"), i.firstChild); + } + </script> + </head> + <body onload="doTest()"> + <span id="i"><span style="display: none"></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-16b.html b/layout/reftests/ib-split/insert-into-split-inline-16b.html new file mode 100644 index 0000000000..f22363abee --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-16b.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <style> + #i { border: 2px solid; } + #i::after { display: block; content: "Two"; } + </style> + <script> + function doTest() { + var i = document.getElementById("i"); + i.appendChild(document.createTextNode("One")); + } + </script> + </head> + <body onload="doTest()"> + <span id="i"></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-17-ref.html b/layout/reftests/ib-split/insert-into-split-inline-17-ref.html new file mode 100644 index 0000000000..2a37db0d08 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-17-ref.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<style> + span { color: green; } +</style> +<span> + <div></div> + First Second Third + <div></div> +</span> diff --git a/layout/reftests/ib-split/insert-into-split-inline-17.html b/layout/reftests/ib-split/insert-into-split-inline-17.html new file mode 100644 index 0000000000..741264e80d --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-17.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<style> + #target { color: red; } + #target.green { color: green; } +</style> +<span id="target"> + <div></div> + First <span id="next"> Third</span> + <div></div> +</span> +<script> + onload = function() { + var s = document.querySelector("#target"); + window.color = getComputedStyle(s).color; + s.className = "green"; + window.newColor = getComputedStyle(s).color; + s.insertBefore(document.createTextNode("Second"), + s.querySelector("#next")); + } +</script> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1a.html b/layout/reftests/ib-split/insert-into-split-inline-1a.html new file mode 100644 index 0000000000..3c06bf170f --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1a.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("One")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span id="insertion">Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1b.html b/layout/reftests/ib-split/insert-into-split-inline-1b.html new file mode 100644 index 0000000000..2a7ce1f4c0 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1b.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Two")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span id="insertion">Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1c.html b/layout/reftests/ib-split/insert-into-split-inline-1c.html new file mode 100644 index 0000000000..77c4b649f6 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1c.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Three")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><div id="insertion">Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1d.html b/layout/reftests/ib-split/insert-into-split-inline-1d.html new file mode 100644 index 0000000000..7adb00cbf6 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1d.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Four")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div id="insertion">Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1e.html b/layout/reftests/ib-split/insert-into-split-inline-1e.html new file mode 100644 index 0000000000..3e77ec03ec --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1e.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Five")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><span id="insertion">Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1f.html b/layout/reftests/ib-split/insert-into-split-inline-1f.html new file mode 100644 index 0000000000..b4e8293d12 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1f.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Six")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><div id="insertion">Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1g.html b/layout/reftests/ib-split/insert-into-split-inline-1g.html new file mode 100644 index 0000000000..60ef581d56 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1g.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Seven")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div id="insertion">Eight</div + ><span>Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1h.html b/layout/reftests/ib-split/insert-into-split-inline-1h.html new file mode 100644 index 0000000000..7e88a8fbaf --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1h.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Eight")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><span id="insertion">Nine</span + ><span>Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1i.html b/layout/reftests/ib-split/insert-into-split-inline-1i.html new file mode 100644 index 0000000000..284a093a44 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1i.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span id="insertion">Ten</span + ><span>Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1j.html b/layout/reftests/ib-split/insert-into-split-inline-1j.html new file mode 100644 index 0000000000..7156be5239 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1j.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Ten")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span id="insertion">Eleven</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1k.html b/layout/reftests/ib-split/insert-into-split-inline-1k.html new file mode 100644 index 0000000000..ac9a562a3f --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1k.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Eleven")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-1l.html b/layout/reftests/ib-split/insert-into-split-inline-1l.html new file mode 100644 index 0000000000..810814c199 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-1l.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Eleven")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-2-noib-ref.html new file mode 100644 index 0000000000..2ce2bb965b --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2-noib-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + <div>Four</div> + <span class="notstart notend"></span> + <div>Five</div> + <span class="notstart notend"> + <span>Six</span> + </span> + <div>Seven</div> + <span class="notstart notend"></span> + <div>Eight</div> + <span class="notstart"></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2-ref.html b/layout/reftests/ib-split/insert-into-split-inline-2-ref.html new file mode 100644 index 0000000000..f70579c0e3 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2a.html b/layout/reftests/ib-split/insert-into-split-inline-2a.html new file mode 100644 index 0000000000..08e2356e78 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2a.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("One")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span id="insertion">Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2b.html b/layout/reftests/ib-split/insert-into-split-inline-2b.html new file mode 100644 index 0000000000..e665c05657 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2b.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Two")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span id="insertion">Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2c.html b/layout/reftests/ib-split/insert-into-split-inline-2c.html new file mode 100644 index 0000000000..7d2d3fad2c --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2c.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Three")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><div id="insertion">Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2d.html b/layout/reftests/ib-split/insert-into-split-inline-2d.html new file mode 100644 index 0000000000..b432ab3072 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2d.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Four")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div id="insertion">Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2e.html b/layout/reftests/ib-split/insert-into-split-inline-2e.html new file mode 100644 index 0000000000..33ae4ae487 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2e.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Five")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><span id="insertion">Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2f.html b/layout/reftests/ib-split/insert-into-split-inline-2f.html new file mode 100644 index 0000000000..9cf57ed5dc --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2f.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Six")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><div id="insertion">Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2g.html b/layout/reftests/ib-split/insert-into-split-inline-2g.html new file mode 100644 index 0000000000..4bea3c12b3 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2g.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Seven")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div id="insertion">Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2h.html b/layout/reftests/ib-split/insert-into-split-inline-2h.html new file mode 100644 index 0000000000..365e6c6015 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2h.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Eight")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-2i.html b/layout/reftests/ib-split/insert-into-split-inline-2i.html new file mode 100644 index 0000000000..f45e802f59 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-2i.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Eight")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-3-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-3-noib-ref.html new file mode 100644 index 0000000000..1fc31e04dd --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-3-noib-ref.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + <div>Four</div> + <span class="notstart notend"></span> + <div>Five</div> + <span class="notstart notend"> + <span>Six</span> + </span> + <div>Seven</div> + <span class="notstart notend"></span> + <div>Eight</div> + <span class="notstart"> + <span>Nine</span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-3-ref.html b/layout/reftests/ib-split/insert-into-split-inline-3-ref.html new file mode 100644 index 0000000000..0f1f774072 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-3-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-3.html b/layout/reftests/ib-split/insert-into-split-inline-3.html new file mode 100644 index 0000000000..75d6e45fea --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-3.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-4-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-4-noib-ref.html new file mode 100644 index 0000000000..adcb6bc4ff --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-4-noib-ref.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + <div>Four</div> + <span class="notstart notend"></span> + <div>Five</div> + <span class="notstart notend"> + <span>Six</span> + </span> + <div>Seven</div> + <span class="notstart notend"></span> + <div>Eight</div> + <span class="notstart"> + <span>Nine</span><span>Ten</span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-4-ref.html b/layout/reftests/ib-split/insert-into-split-inline-4-ref.html new file mode 100644 index 0000000000..40f9b4d9d6 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-4-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ><span>Ten</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-4.html b/layout/reftests/ib-split/insert-into-split-inline-4.html new file mode 100644 index 0000000000..ab855cb32d --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-4.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span id="insertion">Ten</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-5-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-5-noib-ref.html new file mode 100644 index 0000000000..1fc31e04dd --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-5-noib-ref.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + <div>Four</div> + <span class="notstart notend"></span> + <div>Five</div> + <span class="notstart notend"> + <span>Six</span> + </span> + <div>Seven</div> + <span class="notstart notend"></span> + <div>Eight</div> + <span class="notstart"> + <span>Nine</span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-5-ref.html b/layout/reftests/ib-split/insert-into-split-inline-5-ref.html new file mode 100644 index 0000000000..0f1f774072 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-5-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-5-shadow.html b/layout/reftests/ib-split/insert-into-split-inline-5-shadow.html new file mode 100644 index 0000000000..327840d9d2 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-5-shadow.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + <head> + <script> + customElements.define("custom-element", class extends HTMLElement { + constructor() { + super(); + const template = document.getElementById("template"); + const shadowRoot = this.attachShadow({mode: "open"}) + .appendChild(template.content.cloneNode(true)); + } + }); + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > custom-element { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <template id="template"> + <!-- Multiple insertion points to force appends to be handled via + ContentInserted --> + <slot name="foo"></slot> + <slot name="bar"></slot> + <slot></slot> + </template> + <custom-element id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></custom-element> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-6-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-6-noib-ref.html new file mode 100644 index 0000000000..d108d46261 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-6-noib-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"></span> + <div>One</div> + <span class="notstart notend"></span> + <div>Two</div> + <span class="notstart"></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-6-ref.html b/layout/reftests/ib-split/insert-into-split-inline-6-ref.html new file mode 100644 index 0000000000..db4a17e81b --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-6-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><div>One</div + ><div>Two</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-6.html b/layout/reftests/ib-split/insert-into-split-inline-6.html new file mode 100644 index 0000000000..5369d45e7c --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-6.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("One")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><div id="insertion">Two</div + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-7-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-7-noib-ref.html new file mode 100644 index 0000000000..970a2000b2 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-7-noib-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"></span> + <div>One</div> + <span class="notstart"> + <span>Two</span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-7-ref.html b/layout/reftests/ib-split/insert-into-split-inline-7-ref.html new file mode 100644 index 0000000000..b1de27398e --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-7-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><div>One</div + ><span>Two</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-7.html b/layout/reftests/ib-split/insert-into-split-inline-7.html new file mode 100644 index 0000000000..72c0fa35d9 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-7.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("One")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span id="insertion">Two</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-8-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-8-noib-ref.html new file mode 100644 index 0000000000..676c6d6b06 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-8-noib-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span>One</span> + </span> + <div>Two</div> + <span class="notstart notend"> + <span>Three</span> + </span> + <div>Four</div> + <span class="notstart"> + <span>Five</span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-8-ref.html b/layout/reftests/ib-split/insert-into-split-inline-8-ref.html new file mode 100644 index 0000000000..7da41de3cb --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-8-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body> + <span + ><span>One</span + ><div>Two</div + ><span>Three</span + ><div>Four</div + ><span>Five</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-8a.html b/layout/reftests/ib-split/insert-into-split-inline-8a.html new file mode 100644 index 0000000000..4cc69e95da --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-8a.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Two")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><span id="insertion">Three</span + ><div>Four</div + ><span>Five</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-8b.html b/layout/reftests/ib-split/insert-into-split-inline-8b.html new file mode 100644 index 0000000000..0268a5dabe --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-8b.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("div"); + newNode.appendChild(document.createTextNode("Four")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><span>One</span + ><div>Two</div + ><span>Three</span + ><span id="insertion">Five</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-8c.html b/layout/reftests/ib-split/insert-into-split-inline-8c.html new file mode 100644 index 0000000000..2af4c34ae8 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-8c.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("One")); + document.getElementById("target") + .insertBefore(newNode, document.getElementById("insertion")); + } + </script> + <style> + body > span { border: 3px solid blue } + </style> + </head> + <body onload='doit()'> + <span id="target" + ><div id="insertion">Two</div + ><span>Three</span + ><div>Four</div + ><span>Five</span + ></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-9-noib-ref.html b/layout/reftests/ib-split/insert-into-split-inline-9-noib-ref.html new file mode 100644 index 0000000000..f8d4452c35 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-9-noib-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + .notstart { border-left: none; } + .notend { border-right: none; } + </style> + </head> + <body> + <span class="notend"> + <span class="notend"> + <span>One</span><span>Two</span><span>Three</span> + </span> + </span> + <div>Four</div> + <span class="notstart notend"><span class="notstart notend"></span></span> + <div>Five</div> + <span class="notstart notend"> + <span class="notstart notend"> + <span>Six</span> + </span> + </span> + <div>Seven</div> + <span class="notstart notend"><span class="notstart notend"></span></span> + <div>Eight</div> + <span class="notstart"> + <span class="notstart"> + <span>Nine</span> + </span> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-9-ref.html b/layout/reftests/ib-split/insert-into-split-inline-9-ref.html new file mode 100644 index 0000000000..5b6360f8f0 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-9-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + </style> + </head> + <body> + <span><span + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ><span>Nine</span + ></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/insert-into-split-inline-9.html b/layout/reftests/ib-split/insert-into-split-inline-9.html new file mode 100644 index 0000000000..863a5ccf56 --- /dev/null +++ b/layout/reftests/ib-split/insert-into-split-inline-9.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="dom" /> + <script> + function doit() { + var newNode = document.createElement("span"); + newNode.appendChild(document.createTextNode("Nine")); + document.getElementById("target").appendChild(newNode); + } + </script> + <style> + body > span { border: 3px solid blue } + body > span > span { border: 3px solid cyan } + </style> + </head> + <body onload='doit()'> + <span><span id="target" + ><span>One</span + ><span>Two</span + ><span>Three</span + ><div>Four</div + ><div>Five</div + ><span>Six</span + ><div>Seven</div + ><div>Eight</div + ></span></span> + </body> +</html> diff --git a/layout/reftests/ib-split/reftest.list b/layout/reftests/ib-split/reftest.list new file mode 100644 index 0000000000..4fd2d9318d --- /dev/null +++ b/layout/reftests/ib-split/reftest.list @@ -0,0 +1,65 @@ +== insert-into-split-inline-1a.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1b.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1c.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1d.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1e.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1f.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1g.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1h.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1i.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1j.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1k.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1l.html insert-into-split-inline-1-ref.html +== insert-into-split-inline-1-ref.html insert-into-split-inline-1-noib-ref.html +== insert-into-split-inline-2a.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2b.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2c.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2d.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2e.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2f.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2g.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2h.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2i.html insert-into-split-inline-2-ref.html +== insert-into-split-inline-2-ref.html insert-into-split-inline-2-noib-ref.html +== insert-into-split-inline-3.html insert-into-split-inline-3-ref.html +== insert-into-split-inline-3-ref.html insert-into-split-inline-3-noib-ref.html +== insert-into-split-inline-4.html insert-into-split-inline-4-ref.html +== insert-into-split-inline-4-ref.html insert-into-split-inline-4-noib-ref.html +== insert-into-split-inline-5-shadow.html insert-into-split-inline-5-ref.html +== insert-into-split-inline-5-ref.html insert-into-split-inline-5-noib-ref.html +== insert-into-split-inline-6.html insert-into-split-inline-6-ref.html +== insert-into-split-inline-6-ref.html insert-into-split-inline-6-noib-ref.html +== insert-into-split-inline-7.html insert-into-split-inline-7-ref.html +== insert-into-split-inline-7-ref.html insert-into-split-inline-7-noib-ref.html +== insert-into-split-inline-8a.html insert-into-split-inline-8-ref.html +== insert-into-split-inline-8b.html insert-into-split-inline-8-ref.html +== insert-into-split-inline-8c.html insert-into-split-inline-8-ref.html +== insert-into-split-inline-8-ref.html insert-into-split-inline-8-noib-ref.html +== insert-into-split-inline-9.html insert-into-split-inline-9-ref.html +== insert-into-split-inline-9-ref.html insert-into-split-inline-9-noib-ref.html +== insert-into-split-inline-10.html insert-into-split-inline-10-ref.html +== insert-into-split-inline-10-ref.html insert-into-split-inline-10-noib-ref.html +== insert-into-split-inline-11.html insert-into-split-inline-11-ref.html +== insert-into-split-inline-11-ref.html insert-into-split-inline-11-noib-ref.html +== insert-into-split-inline-12.html insert-into-split-inline-12-ref.html +== insert-into-split-inline-12-ref.html insert-into-split-inline-12-noib-ref.html +== insert-into-split-inline-13.html insert-into-split-inline-13-ref.html +== insert-into-split-inline-13-ref.html insert-into-split-inline-13-noib-ref.html +== insert-into-split-inline-14.html insert-into-split-inline-14-ref.html +== insert-into-split-inline-14-ref.html insert-into-split-inline-14-noib-ref.html +== insert-into-split-inline-15.html insert-into-split-inline-15-ref.html +== insert-into-split-inline-15-ref.html insert-into-split-inline-15-noib-ref.html +== insert-into-split-inline-16a.html insert-into-split-inline-16-ref.html +== insert-into-split-inline-16b.html insert-into-split-inline-16-ref.html +== insert-into-split-inline-16-ref.html insert-into-split-inline-16-noib-ref.html +== insert-into-split-inline-17.html insert-into-split-inline-17-ref.html +== ignored-margins-1a.html ignored-margins-1-ref.html +== ignored-margins-1b.html ignored-margins-1-ref.html +== ignored-margins-2a.html ignored-margins-2-ref.html +== ignored-margins-2b.html ignored-margins-2-ref.html +== trailing-inline-with-continuations-1.html trailing-inline-with-continuations-1-ref.html +== append-to-empty-trailing-inline-1.html append-to-empty-trailing-inline-1-ref.html +== append-to-nested-split-inline-1.html append-to-nested-split-inline-1-ref.html +== append-to-nested-split-inline-1-ref.html append-to-nested-split-inline-1-noib-ref.html +== relpos-inline-1a.html relpos-inline-1-ref.html +== relpos-inline-1b.html relpos-inline-1-ref.html diff --git a/layout/reftests/ib-split/relpos-inline-1-ref.html b/layout/reftests/ib-split/relpos-inline-1-ref.html new file mode 100644 index 0000000000..074c4fc480 --- /dev/null +++ b/layout/reftests/ib-split/relpos-inline-1-ref.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <style> + span, div { position: relative; left: 200px } + html { + overflow: hidden; + } + </style> + </head> + <body> + <span>All text should be offset 200px.</span> + <div>Some more text</div> + </body> +</html> diff --git a/layout/reftests/ib-split/relpos-inline-1a.html b/layout/reftests/ib-split/relpos-inline-1a.html new file mode 100644 index 0000000000..b2059bc67e --- /dev/null +++ b/layout/reftests/ib-split/relpos-inline-1a.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <style> + span { position: relative; left: 200px } + html { + overflow: hidden; + } + </style> + </head> + <body> + <span style="position: relative; left: 200px"> + All text should be offset 200px. + <div>Some more text</div> + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/relpos-inline-1b.html b/layout/reftests/ib-split/relpos-inline-1b.html new file mode 100644 index 0000000000..e9f7bd62cf --- /dev/null +++ b/layout/reftests/ib-split/relpos-inline-1b.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <head> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <style> + span { position: relative } + html { + overflow: hidden; + } + </style> + </head> + <body> + <span style="position: relative; left: 100px"> + All text should be offset 200px. + <div>Some more text</div> + </span> + <script> + onload = function() { + var s = document.querySelector("span"); + s.offsetWidth; // flush layout + s.style.left = "200px"; + document.documentElement.className = ""; + } + </script> + </body> +</html> diff --git a/layout/reftests/ib-split/trailing-inline-with-continuations-1-ref.html b/layout/reftests/ib-split/trailing-inline-with-continuations-1-ref.html new file mode 100644 index 0000000000..cb880abbb5 --- /dev/null +++ b/layout/reftests/ib-split/trailing-inline-with-continuations-1-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <body style="width: 0"> + <span style="border: 2px solid blue; border-right: none"></span> + <span style="display: block"></span> + <span style="border: 2px solid blue; border-left: none; border-right: none"> + a b + </span> + <span style="display: block"></span> + <span style="border: 2px solid blue; border-left: none;"> + c + </span> + </body> +</html> diff --git a/layout/reftests/ib-split/trailing-inline-with-continuations-1.html b/layout/reftests/ib-split/trailing-inline-with-continuations-1.html new file mode 100644 index 0000000000..f2ea255e2f --- /dev/null +++ b/layout/reftests/ib-split/trailing-inline-with-continuations-1.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <title>CSS 2.1 Test Suite: handling of blocks inside inlines</title> + <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> + <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level"/> + <meta name="flags" content="" /> + <body style="width: 0"> + <span style="border: 2px solid blue;"> + <span style="display: block"></span> + a b + <script>document.body.offsetWidth</script> + <span style="display: block"></span> + c + </span> + </body> +</html> |