mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
style: Remove TNode::set_can_be_fragmented and TNode::can_be_fragmented.
Replace them instead by a computed value flag, the same way as the IS_IN_DISPLAY_NONE_SUBTREE flag works.
This commit is contained in:
parent
10a1e1e15f
commit
f3ea248188
13 changed files with 46 additions and 81 deletions
|
@ -504,7 +504,6 @@ pub trait MatchMethods : TElement {
|
|||
mut new_styles: ResolvedElementStyles,
|
||||
important_rules_changed: bool,
|
||||
) -> ChildCascadeRequirement {
|
||||
use dom::TNode;
|
||||
use std::cmp;
|
||||
|
||||
self.process_animations(
|
||||
|
@ -518,24 +517,6 @@ pub trait MatchMethods : TElement {
|
|||
// First of all, update the styles.
|
||||
let old_styles = data.set_styles(new_styles);
|
||||
|
||||
// Propagate the "can be fragmented" bit. It would be nice to
|
||||
// encapsulate this better.
|
||||
if cfg!(feature = "servo") {
|
||||
let layout_parent =
|
||||
self.inheritance_parent().map(|e| e.layout_parent());
|
||||
let layout_parent_data =
|
||||
layout_parent.as_ref().and_then(|e| e.borrow_data());
|
||||
let layout_parent_style =
|
||||
layout_parent_data.as_ref().map(|d| d.styles.primary());
|
||||
|
||||
if let Some(ref p) = layout_parent_style {
|
||||
let can_be_fragmented =
|
||||
p.is_multicol() ||
|
||||
layout_parent.as_ref().unwrap().as_node().can_be_fragmented();
|
||||
unsafe { self.as_node().set_can_be_fragmented(can_be_fragmented); }
|
||||
}
|
||||
}
|
||||
|
||||
let new_primary_style = data.styles.primary.as_ref().unwrap();
|
||||
|
||||
let mut cascade_requirement = ChildCascadeRequirement::CanSkipCascade;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue