mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
Remove postorder traversal from layout 2020 during styling
This commit is contained in:
parent
e3be136c9b
commit
88d79fe46d
1 changed files with 15 additions and 12 deletions
|
@ -45,23 +45,26 @@ where
|
||||||
) where
|
) where
|
||||||
F: FnMut(E::ConcreteNode),
|
F: FnMut(E::ConcreteNode),
|
||||||
{
|
{
|
||||||
unsafe { node.initialize_data() };
|
unsafe {
|
||||||
|
node.initialize_data();
|
||||||
if !node.is_text_node() {
|
if !node.is_text_node() {
|
||||||
let el = node.as_element().unwrap();
|
let el = node.as_element().unwrap();
|
||||||
let mut data = el.mutate_data().unwrap();
|
let mut data = el.mutate_data().unwrap();
|
||||||
recalc_style_at(self, traversal_data, context, el, &mut data, note_child);
|
recalc_style_at(self, traversal_data, context, el, &mut data, note_child);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn process_postorder(&self, _style_context: &mut StyleContext<E>, node: E::ConcreteNode) {
|
|
||||||
if let Some(el) = node.as_element() {
|
|
||||||
unsafe {
|
|
||||||
el.unset_dirty_descendants();
|
el.unset_dirty_descendants();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn needs_postorder_traversal() -> bool {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
|
fn process_postorder(&self, _style_context: &mut StyleContext<E>, _node: E::ConcreteNode) {
|
||||||
|
panic!("this should never be called")
|
||||||
|
}
|
||||||
|
|
||||||
fn text_node_needs_traversal(node: E::ConcreteNode, parent_data: &ElementData) -> bool {
|
fn text_node_needs_traversal(node: E::ConcreteNode, parent_data: &ElementData) -> bool {
|
||||||
node.get_style_and_layout_data().is_none() || !parent_data.damage.is_empty()
|
node.get_style_and_layout_data().is_none() || !parent_data.damage.is_empty()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue