diff options
Diffstat (limited to 'components/layout/layout_task.rs')
-rw-r--r-- | components/layout/layout_task.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index 70462c31cd1..c31fbb0bab9 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -67,7 +67,7 @@ use style::computed_values::{filter, mix_blend_mode}; use style::media_queries::{MediaType, MediaQueryList, Device}; use style::node::TNode; use style::selector_matching::Stylist; -use style::stylesheets::{Origin, Stylesheet, iter_font_face_rules}; +use style::stylesheets::{Origin, Stylesheet, CSSRuleIteratorExt}; use url::Url; use util::cursor::Cursor; use util::geometry::{Au, MAX_RECT}; @@ -558,9 +558,8 @@ impl LayoutTask { { let mut rw_data = self.lock_rw_data(possibly_locked_rw_data); - match (&mut *rw_data).parallel_traversal { - None => {} - Some(ref mut traversal) => traversal.shutdown(), + if let Some(ref mut traversal) = (&mut *rw_data).parallel_traversal { + traversal.shutdown() } LayoutTask::return_rw_data(possibly_locked_rw_data, rw_data); } @@ -604,9 +603,11 @@ impl LayoutTask { let mut rw_data = self.lock_rw_data(possibly_locked_rw_data); if mq.evaluate(&rw_data.stylist.device) { - iter_font_face_rules(&sheet, &rw_data.stylist.device, &|family, src| { - self.font_cache_task.add_web_font((*family).clone(), (*src).clone()); - }); + for font_face in sheet.effective_rules(&rw_data.stylist.device).font_face() { + for source in font_face.sources.iter() { + self.font_cache_task.add_web_font(font_face.family.clone(), source.clone()); + } + } rw_data.stylist.add_stylesheet(sheet); } |