mirror of
https://github.com/servo/servo.git
synced 2025-07-21 22:33:41 +01:00
Stop storing display lists in an Arc
This commit is contained in:
parent
7ca570dd1d
commit
6b9924bec4
2 changed files with 5 additions and 8 deletions
|
@ -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(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue