CSSRuleSet::addRulesFromSheet seems to use the wrong object when casting to a fontFaceRule. Maybe patch: addRule(rule, s); } else if (childItem->isFontFaceRule() && styleSelector) { // Add this font face to our set. - const CSSFontFaceRule* fontFaceRule = static_cast<CSSFontFaceRule*>(item); + const CSSFontFaceRule* fontFaceRule = static_cast<CSSFontFaceRule*>(childItem); styleSelector->fontSelector()->addFontFaceRule(fontFaceRule); } else if (childItem->isKeyframesRule() && styleSelector) { // Add this keyframe rule to our set.
Yup. Just add a test case (it's easy to make one, and it instantly crashes a debug build) etc.
Created attachment 22783 [details] Patch, testcase, changelog
Comment on attachment 22783 [details] Patch, testcase, changelog Thanks!
Committed r35760 M WebCore/ChangeLog M WebCore/css/CSSStyleSelector.cpp A LayoutTests/platform/mac/fast/css/font-face-in-media-rule-expected.txt M LayoutTests/ChangeLog A LayoutTests/fast/css/font-face-in-media-rule.html r35760 = 50954e56fb2e2204e506513419f556cf0dc8a1fc (trunk)