Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="UTF-8">
<title>CSS Highlight API Test: CSS Rule change</title>
<link rel="match" href="custom-highlight-painting-invalidation-007-ref.html">
<meta name="assert" value="::highlight overlay is correctly invalidated and repainted after CSS rule is changed">
<script src="resources/run-after-layout-and-paint.js"></script>
<style>
span::highlight(example-highlight) {
background: yellow;
}
.blue::highlight(example-highlight) {
background: blue;
}
</style>
<body>
<span>Hello</span>
<script>
const range = new Range();
const span = document.querySelector("span");
range.setStart(span, 0);
range.setEnd(span, 1);
CSS.highlights.set("example-highlight", new Highlight(range));
// Force frame paint before changing style
runAfterLayoutAndPaint(() => {
span.className = "blue";
document.documentElement.removeAttribute("class");
});
</script>
</body>
</html>