diff options
author | Bobby Holley <bobbyholley@gmail.com> | 2015-11-04 17:14:04 -0800 |
---|---|---|
committer | Bobby Holley <bobbyholley@gmail.com> | 2015-11-04 19:01:49 -0800 |
commit | 77c253fd43a8ef1723c48709b5fececa742ba4fa (patch) | |
tree | 0e4abca346edd6fefe9ff740c4419daff8972dea /components/layout/layout_task.rs | |
parent | 1dc144d1687cc6d89b29be859454e7ef73fb341d (diff) | |
download | servo-77c253fd43a8ef1723c48709b5fececa742ba4fa.tar.gz servo-77c253fd43a8ef1723c48709b5fececa742ba4fa.zip |
Load web fonts synchronously during wpt.
Diffstat (limited to 'components/layout/layout_task.rs')
-rw-r--r-- | components/layout/layout_task.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index c86ecdedaff..7a615b02f6b 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -326,10 +326,18 @@ fn add_font_face_rules(stylesheet: &Stylesheet, outstanding_web_fonts_counter: &Arc<AtomicUsize>) { for font_face in stylesheet.effective_rules(&device).font_face() { for source in &font_face.sources { - outstanding_web_fonts_counter.fetch_add(1, Ordering::SeqCst); - font_cache_task.add_web_font(font_face.family.clone(), - (*source).clone(), - (*font_cache_sender).clone()); + if opts::get().load_webfonts_synchronously { + let (sender, receiver) = channel(); + font_cache_task.add_web_font(font_face.family.clone(), + (*source).clone(), + sender); + receiver.recv().unwrap(); + } else { + outstanding_web_fonts_counter.fetch_add(1, Ordering::SeqCst); + font_cache_task.add_web_font(font_face.family.clone(), + (*source).clone(), + (*font_cache_sender).clone()); + } } } } |