diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /layout/style/crashtests/1383981-3.html | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | layout/style/crashtests/1383981-3.html | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/layout/style/crashtests/1383981-3.html b/layout/style/crashtests/1383981-3.html new file mode 100644 index 0000000000..91891d3d3d --- /dev/null +++ b/layout/style/crashtests/1383981-3.html @@ -0,0 +1,36 @@ +<!doctype html> +<style> +div { padding: 1px; } +.test div { padding: 2px; } +.test div div { padding: 3px; } +.test div div div { background: orange; } +.test div div div div { background: white; } +.test div div div div div { background: red; } +</style> +<body> +<script> +let root = document.createElement('div'); +let p = root; +for (let i = 0; i < 1000; ++i) { + p = p.appendChild(document.createElement('div')); + p.appendChild(document.createTextNode(i)); +} +document.body.appendChild(root); + +// Flush styles. +document.body.offsetTop; + +// Add 20 more top-level siblings to ensure that the style traversal goes +// parallel before the deep tree is processed. +// +// Note that we need to make these children of the <html> element, not the +// <body> element, because invalidations get processed by the parent when +// enqueuing children, so the _parent_ needs to be at a level in the DOM +// with enough dirty siblings to trigger a switch to parallel mode. +for (let i = 0; i < 20; ++i) { + document.documentElement.appendChild(document.createElement('div')); +} + +root.className = 'test'; +</script> +</body> |