wpt / css / css-highlight-api / painting / custom-highlight-painting-invalidation-007.html

Status: FAIL | Duration: 9ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-highlight-api/painting/custom-highlight-painting-invalidation-007.html

<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="UTF-8">
<title>CSS Highlight API Test: CSS Rule change</title>
<link rel="help" href="https://drafts.csswg.org/css-highlight-api-1/">
<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>

/css/css-highlight-api/painting/custom-highlight-painting-invalidation-007-ref.html

<!doctype html>
<meta charset="utf-8">
<style>
    .highlighted {
      background: blue;
    }
</style>
<body>
    <span class="highlighted">Hello</span>
</body>