diff --git a/components/fonts/font_context.rs b/components/fonts/font_context.rs index a28621469d6..ef02f7d07d9 100644 --- a/components/fonts/font_context.rs +++ b/components/fonts/font_context.rs @@ -24,7 +24,7 @@ use style::font_face::{FontFaceSourceFormat, FontFaceSourceFormatKeyword, Source use style::media_queries::Device; use style::properties::style_structs::Font as FontStyleStruct; use style::shared_lock::SharedRwLockReadGuard; -use style::stylesheets::{DocumentStyleSheet, StylesheetInDocument}; +use style::stylesheets::{CssRule, DocumentStyleSheet, FontFaceRule, StylesheetInDocument}; use style::Atom; use url::Url; use webrender_api::{FontInstanceKey, FontKey}; @@ -275,10 +275,14 @@ impl FontContextWebFontMethods for Arc font_face, - None => return, + for rule in stylesheet.effective_rules(device, guard) { + let CssRule::FontFace(ref lock) = *rule else { + continue; + }; + + let rule: &FontFaceRule = lock.read_with(guard); + let Some(font_face) = rule.font_face() else { + continue; }; let sources: Vec = font_face @@ -290,7 +294,7 @@ impl FontContextWebFontMethods for Arc FontContextWebFontMethods for Arc