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:
Emilio Cobos Álvarez 2018-01-04 14:45:54 +01:00
parent 10a1e1e15f
commit f3ea248188
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
13 changed files with 46 additions and 81 deletions

View file

@ -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;