Skip to content
Permalink
Browse files

Stop storing display lists in an `Arc`

  • Loading branch information...
pcwalton authored and jdm committed Jun 5, 2019
1 parent 7ca570d commit 6b9924bec437b2a5504656ad1d27ffa99e3735bc
Showing with 5 additions and 8 deletions.
  1. +1 −1 components/layout/query.rs
  2. +4 −7 components/layout_thread/lib.rs
@@ -51,7 +51,7 @@ pub struct LayoutThreadData {
pub constellation_chan: IpcSender<ConstellationMsg>,

/// The root stacking context.
pub display_list: Option<Arc<DisplayList>>,
pub display_list: Option<DisplayList>,

pub indexable_text: IndexableText,

@@ -1203,7 +1203,7 @@ impl LayoutThread {
&mut build_state.indexable_text,
IndexableText::default(),
);
rw_data.display_list = Some(Arc::new(build_state.to_display_list()));
rw_data.display_list = Some(build_state.to_display_list());
}
}

@@ -1220,7 +1220,8 @@ impl LayoutThread {
if let Some(document) = document {
document.will_paint();
}
let display_list = (*rw_data.display_list.as_ref().unwrap()).clone();

let display_list = rw_data.display_list.as_mut().unwrap();

if self.dump_display_list {
display_list.print();
@@ -1232,11 +1233,7 @@ impl LayoutThread {
debug!("Layout done!");

// TODO: Avoid the temporary conversion and build webrender sc/dl directly!
let builder = rw_data
.display_list
.as_ref()
.unwrap()
.convert_to_webrender(self.id);
let builder = display_list.convert_to_webrender(self.id);

let viewport_size = Size2D::new(
self.viewport_size.width.to_f32_px(),

0 comments on commit 6b9924b

Please sign in to comment.
You can’t perform that action at this time.