aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_thread
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout_thread')
-rw-r--r--components/layout_thread/lib.rs28
1 files changed, 16 insertions, 12 deletions
diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs
index 74c95499006..abc0a5e771a 100644
--- a/components/layout_thread/lib.rs
+++ b/components/layout_thread/lib.rs
@@ -355,20 +355,24 @@ fn add_font_face_rules(stylesheet: &Stylesheet,
outstanding_web_fonts_counter: &Arc<AtomicUsize>) {
if opts::get().load_webfonts_synchronously {
let (sender, receiver) = ipc::channel().unwrap();
- stylesheet.effective_font_face_rules(&device, guard, |font_face| {
- let effective_sources = font_face.effective_sources();
- font_cache_thread.add_web_font(font_face.family.clone(),
- effective_sources,
- sender.clone());
- receiver.recv().unwrap();
+ stylesheet.effective_font_face_rules(&device, guard, |rule| {
+ if let Some(font_face) = rule.font_face() {
+ let effective_sources = font_face.effective_sources();
+ font_cache_thread.add_web_font(font_face.family().clone(),
+ effective_sources,
+ sender.clone());
+ receiver.recv().unwrap();
+ }
})
} else {
- stylesheet.effective_font_face_rules(&device, guard, |font_face| {
- let effective_sources = font_face.effective_sources();
- outstanding_web_fonts_counter.fetch_add(1, Ordering::SeqCst);
- font_cache_thread.add_web_font(font_face.family.clone(),
- effective_sources,
- (*font_cache_sender).clone());
+ stylesheet.effective_font_face_rules(&device, guard, |rule| {
+ if let Some(font_face) = rule.font_face() {
+ let effective_sources = font_face.effective_sources();
+ outstanding_web_fonts_counter.fetch_add(1, Ordering::SeqCst);
+ font_cache_thread.add_web_font(font_face.family().clone(),
+ effective_sources,
+ (*font_cache_sender).clone());
+ }
})
}
}