diff options
Diffstat (limited to 'components/layout/layout_task.rs')
-rw-r--r-- | components/layout/layout_task.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index 62c6781557c..36db0d8c44e 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -45,6 +45,7 @@ use servo_msg::constellation_msg::{ConstellationChan, PipelineId, Failure, Failu use servo_net::image_cache_task::{ImageCacheTask, ImageResponseMsg}; use gfx::font_cache_task::{FontCacheTask}; use servo_net::local_image_cache::{ImageResponder, LocalImageCache}; +use servo_util::bloom::BloomFilter; use servo_util::geometry::Au; use servo_util::geometry; use servo_util::logical_geometry::LogicalPoint; @@ -57,6 +58,7 @@ use servo_util::workqueue::WorkQueue; use std::comm::{channel, Sender, Receiver, Select}; use std::mem; use std::ptr; +use style; use style::{AuthorOrigin, Stylesheet, Stylist}; use style::iter_font_face_rules; use sync::{Arc, Mutex, MutexGuard}; @@ -409,7 +411,12 @@ impl LayoutTask { } // Create a layout context for use in building display lists, hit testing, &c. - fn build_shared_layout_context(&self, rw_data: &LayoutTaskData, reflow_root: &LayoutNode, url: &Url) -> SharedLayoutContext { + fn build_shared_layout_context( + &self, + rw_data: &LayoutTaskData, + reflow_root: &LayoutNode, + url: &Url) + -> SharedLayoutContext { SharedLayoutContext { image_cache: rw_data.local_image_cache.clone(), screen_size: rw_data.screen_size.clone(), @@ -718,7 +725,11 @@ impl LayoutTask { rw_data.screen_size = current_screen_size; // Create a layout context for use throughout the following passes. - let mut shared_layout_ctx = self.build_shared_layout_context(rw_data.deref(), node, &data.url); + let mut shared_layout_ctx = + self.build_shared_layout_context( + rw_data.deref(), + node, + &data.url); let mut layout_root = profile(time::LayoutStyleRecalcCategory, self.time_profiler_chan.clone(), @@ -729,8 +740,11 @@ impl LayoutTask { None => { let layout_ctx = LayoutContext::new(&shared_layout_ctx); let mut applicable_declarations = ApplicableDeclarations::new(); + let mut parent_bf = Some(BloomFilter::new( + style::RECOMMENDED_SELECTOR_BLOOM_FILTER_SIZE)); node.recalc_style_for_subtree(&*rw_data.stylist, &layout_ctx, + &mut parent_bf, &mut applicable_declarations, None) } |