window.jsTestIsAsync = true;
description("Test that CSS stylesheets don't lose custom properties on GC when only reachable through child rules.");
+function createCSSStyleSheet()
+{
+ style = document.createElement("style");
+ document.head.appendChild(style);
+ shouldBeType("style.sheet", "CSSStyleSheet");
+ var sheet = style.sheet;
+ document.head.removeChild(style);
+ shouldBeNull("style.sheet");
+ return sheet;
+}
+
function test()
{
- var sheet = document.implementation.createCSSStyleSheet("title", "screen");
+ var sheet = createCSSStyleSheet();
sheet.foo = "0";
sheet.insertRule("div { color:black }", 0);
rule = sheet.rules[0];