Look past restyle root for parent node when restyling.

Currently when traversing a the tree to restyle, we look at whether a
given element to restyle is the root.  This seems to always be the root
of the entire document, since we start our processing from the top.  If
the current element being restyled is the root of the restyle, then we
use None as the parent node for restyling purposes.

In stylo we want to invoke restyling starting from an arbitrary node in
the document, not just the root of the document, so this change looks
for the parent element regardless of whether we're at the root of the
restyle.
This commit is contained in:
Cameron McCormack 2016-05-25 10:41:27 +10:00
parent a04e30d247
commit 2c9cfae830

View file

@ -132,7 +132,10 @@ pub fn recalc_style_at<'a, N, C>(context: &'a C,
node.initialize_data();
// Get the parent node.
let parent_opt = node.layout_parent_node(root);
let parent_opt = match node.parent_node() {
Some(parent) if parent.is_element() => Some(parent),
_ => None,
};
// Get the style bloom filter.
let mut bf = take_thread_local_bloom_filter(parent_opt, root, context.shared_context());