With this PR, the only remaining usage of UnsafeNode is the transition stuff, which is servo-only and probably going to be rewritten over the course of stylo. The parallel traversal is now fully typechecked and safe. \o/
r? @emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: b35ab98132539d4e6f1fcd4b3307eae40e387861
<!-- Please describe your changes on the following line: -->
Since https://bugzilla.mozilla.org/show_bug.cgi?id=1321284, we can have multiple disjoint subtrees of elements to style in a document, due to document level native anonymous content not inheriting from the document's element. This patch tweaks the style Bloom filter to allow switching to a new node that has no common ancestor with the old node.
r? @emilio
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
… common ancestor with the old node.
Source-Repo: https://github.com/servo/servo
Source-Revision: 16c2960c3a8ec1893a1667bb6c414998dab681b5
<!-- Please describe your changes on the following line: -->
This is not a problem for Servo, because we recovered it without much problem a
few lines below, and we never reached the pathological case where the filter has
one element (the root), and we restyled another element with depth 1.
Fixes [bug 1321725](https://bugzil.la/1321725).
Source-Repo: https://github.com/servo/servo
Source-Revision: 3376922f2d0275ba9d39748f1b2283062a687f41
<!-- Please describe your changes on the following line: -->
I think I got the numbers right, want to do a try run before just in case.
r? @SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2289ad53dd9a2666645b1f7eef07636e21c1607e