gecko-dev/layout/style/test/test_reframe_pseudo_element.html
Emilio Cobos Álvarez 0f543d7829 Bug 1393861: Correctly apply the display fixup for ::before and ::after pseudo-elements. r=heycam
MozReview-Commit-ID: G0bcZmn0mP

--HG--
extra : rebase_source : f93b691ec0648a3f577c0a28fcb1f7132e5454c5
2017-09-05 15:07:01 +02:00

47 lines
1.2 KiB
HTML

<!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>