aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/layout_task.rs
diff options
context:
space:
mode:
authorBobby Holley <bobbyholley@gmail.com>2015-11-04 17:14:04 -0800
committerBobby Holley <bobbyholley@gmail.com>2015-11-04 19:01:49 -0800
commit77c253fd43a8ef1723c48709b5fececa742ba4fa (patch)
tree0e4abca346edd6fefe9ff740c4419daff8972dea /components/layout/layout_task.rs
parent1dc144d1687cc6d89b29be859454e7ef73fb341d (diff)
downloadservo-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.rs16
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());
+ }
}
}
}