blob: c2f47442452b586f8d4a08bb4e6d9f7d91f64e2b [file] [log] [blame]
<html>
<head>
<style>
@import url("data:text/css,* { color:black; }");
* { color: black }
@font-face {
font-family: 'CustomName';
src: local('Courier');
}
@media all {
* { color: black }
}
@-webkit-keyframes test1 {
from { left: 10px; }
to { left: 20px; }
}
@page { margin: 3cm; }
</style>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body style="color:black">
<script>
description("Test that custom properties on rule style declarations are not lost after GC");
function test(expr, expectedType, testWhat)
{
shouldBe(expr + ".type", expectedType);
eval(expr + "." + testWhat).foo = "bar"
gc();
shouldBe(expr + "." + testWhat + ".foo", "'bar'");
}
test("document.styleSheets[0].cssRules[0]", "CSSRule.IMPORT_RULE", "media");
test("document.styleSheets[0].cssRules[0]", "CSSRule.IMPORT_RULE", "styleSheet");
test("document.styleSheets[0].cssRules[1]", "CSSRule.STYLE_RULE", "style");
test("document.styleSheets[0].cssRules[2]", "CSSRule.FONT_FACE_RULE", "style");
test("document.styleSheets[0].cssRules[3]", "CSSRule.MEDIA_RULE", "cssRules");
test("document.styleSheets[0].cssRules[3]", "CSSRule.MEDIA_RULE", "media");
test("document.styleSheets[0].cssRules[4]", "CSSRule.WEBKIT_KEYFRAMES_RULE", "cssRules");
test("document.styleSheets[0].cssRules[4].cssRules[0]", "CSSRule.WEBKIT_KEYFRAME_RULE", "style");
test("document.styleSheets[0].cssRules[5]", "CSSRule.PAGE_RULE", "style");
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>