aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/parallel.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <ecoal95@gmail.com>2016-11-23 23:37:27 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2016-11-27 15:55:10 +0100
commit84a50ed5cb1f136baf47d34d06b0577d939337a6 (patch)
tree9bc961e7eee6c61f9280ea4201cb382d4d07e3a8 /components/style/parallel.rs
parent7d69f53794c9f823d524d0d4382c04c4a57bea65 (diff)
downloadservo-84a50ed5cb1f136baf47d34d06b0577d939337a6.tar.gz
servo-84a50ed5cb1f136baf47d34d06b0577d939337a6.zip
style: Introduce StyleBloom
The idea is this will fix the bad behavior of the bloom filter in parallel traversal.
Diffstat (limited to 'components/style/parallel.rs')
-rw-r--r--components/style/parallel.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/components/style/parallel.rs b/components/style/parallel.rs
index 1017e5fd900..8ef1b42a17d 100644
--- a/components/style/parallel.rs
+++ b/components/style/parallel.rs
@@ -125,8 +125,12 @@ fn bottom_up_dom<N, C>(root: OpaqueNode,
// Perform the appropriate operation.
context.process_postorder(node);
- let parent = match node.layout_parent_element(root) {
- None => break,
+ if node.opaque() == root {
+ break;
+ }
+
+ let parent = match node.parent_element() {
+ None => unreachable!("How can this happen after the break above?"),
Some(parent) => parent,
};