diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
commit | 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch) | |
tree | a31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /layout/style/test/test_reframe_pseudo_element.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip |
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'layout/style/test/test_reframe_pseudo_element.html')
-rw-r--r-- | layout/style/test/test_reframe_pseudo_element.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/layout/style/test/test_reframe_pseudo_element.html b/layout/style/test/test_reframe_pseudo_element.html new file mode 100644 index 0000000000..0e0b418e81 --- /dev/null +++ b/layout/style/test/test_reframe_pseudo_element.html @@ -0,0 +1,46 @@ +<!doctype html> +<meta charset="utf-8"> +<title> + Test for bug 1376352: We don't reframe all the time a replaced element that + matches generated content rules. +</title> +<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<style> +#flex::before, +input::before { + content: "Foo"; +} +</style> +<input type="text"> +<div id="flex"></div> +<script> +SimpleTest.waitForExplicitFinish(); +const utils = SpecialPowers.getDOMWindowUtils(window); + +function testNoReframe(callback) { + document.documentElement.offsetTop; + const previousConstructCount = utils.framesConstructed; + const previousRestyleGeneration = utils.restyleGeneration; + + callback(); + + document.documentElement.offsetTop; + isnot(previousRestyleGeneration, utils.restyleGeneration, + "We should have restyled"); + is(previousConstructCount, utils.framesConstructed, + "We shouldn't have reframed"); +} + +testNoReframe(function() { + const input = document.querySelector('input'); + input.style.color = "blue"; +}); + +testNoReframe(function() { + const flex = document.getElementById('flex'); + flex.style.color = "blue"; +}); + +SimpleTest.finish(); +</script> |