blob: 6e41ae00d4a462df72480d8da0f4a5d77fb8d336 [file] [edit]
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSSOM: Computed style cache invalidation for CSSGroupingRule</title>
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssgroupingrule-insertrule">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style id="test-style">
#target {
color: rgb(0, 0, 0);
}
@media all {
#target {
color: rgb(0, 0, 255);
}
}
</style>
<div id="target">Grouping Rule Test</div>
<script>
"use strict";
test(() => {
const target = document.getElementById("target");
const styleSheet = document.getElementById("test-style").sheet;
const mediaRule = styleSheet.cssRules[1];
assert_equals(getComputedStyle(target).color, "rgb(0, 0, 255)", "The initial color should be blue");
mediaRule.insertRule("#target { color: rgb(255, 0, 0); }", 1);
assert_equals(getComputedStyle(target).color, "rgb(255, 0, 0)", "The computed color should be red");
mediaRule.deleteRule(1);
assert_equals(getComputedStyle(target).color, "rgb(0, 0, 255)", "The computed color should revert to blue");
}, "Styles should be recomputed correctly after insertRule and deleteRule on a CSSGroupingRule.");
</script>