gecko-dev/layout/style/test/test_reframe_pseudo_element...

47 строки
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>