Skip to content

Commit 71d0798

Browse files
committed
Allow font-face rules inside of media rules. Fixes #102
1 parent d5672b7 commit 71d0798

2 files changed

Lines changed: 49 additions & 3 deletions

File tree

lib/parse.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,6 @@ CSSOM.parse = function parse(token) {
240240
state = "before-selector";
241241
} else if (state === "fontFaceRule-begin") {
242242
if (parentRule) {
243-
ancestorRules.push(parentRule);
244243
fontFaceRule.parentRule = parentRule;
245244
}
246245
fontFaceRule.parentStyleSheet = styleSheet;

spec/parse.spec.js

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -703,8 +703,7 @@ var TESTS = [
703703
"font-family": "'Arial2'",
704704
length: 1
705705
}
706-
},
707-
".."
706+
}
708707
],
709708
parentRule: null
710709
}
@@ -718,6 +717,54 @@ var TESTS = [
718717
return result;
719718
})()
720719
},
720+
{
721+
input: "@media (min-width: 768px){@media (min-resolution: 0.001dpcm) {a{color: green}}}",
722+
result: (function() {
723+
var result = {
724+
cssRules: [
725+
{
726+
parentRule: null,
727+
media: {
728+
0: "(min-width: 768px)",
729+
length: 1
730+
},
731+
cssRules: [
732+
{
733+
media: {
734+
0: "(min-resolution: 0.001dpcm)",
735+
length: 1
736+
},
737+
cssRules: [
738+
{
739+
selectorText: "a",
740+
style: {
741+
0: "color",
742+
length: 1,
743+
parentRule: "..",
744+
_importants: {
745+
color: ""
746+
},
747+
color: "green"
748+
}
749+
}
750+
],
751+
parentRule: null // This is currently incorrect.
752+
}
753+
]
754+
}
755+
],
756+
parentStyleSheet: null
757+
};
758+
759+
result.cssRules[0].parentStyleSheet = result.cssRules[0].cssRules[0].parentStyleSheet = result.cssRules[0].cssRules[0].cssRules[0].parentStyleSheet = result;
760+
result.cssRules[0].cssRules[0].cssRules[0].parentRule = result.cssRules[0].cssRules[0];
761+
762+
// This is currently incorrect.
763+
// result.cssRules[0].cssRules[0].parentRule = result.cssRules[0];
764+
765+
return result;
766+
})()
767+
},
721768
{
722769
input: "@supports (display: grid) { html { display: grid; } }",
723770
result: (function() {

0 commit comments

Comments
 (0)