Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upDirty elements whose selectors are affected by sibling changes #9722
Conversation
highfive
commented
Feb 22, 2016
|
Re-enabled two disabled tests, and finished one of the TODO items. |
|
-S-awaiting-review +S-needs-code-changes Reviewed 6 of 6 files at r1. components/script/dom/node.rs, line 2403 [r1] (raw file): components/script/dom/node.rs, line 2438 [r1] (raw file): Also I would replace the catch-all ChildrenMutation::Insert(…) => …,
ChildrenMutation::Replace { prev: None, next: None, .. } => unreachable!(),
ChildrenMutation::ReplaceAll { .. } => None,Comments from the review on Reviewable.io |
|
Addressed review comments. Note: This still depends on servo/rust-selectors#72 and will need a cargo update after that is published. Review status: 5 of 6 files reviewed at latest revision, 2 unresolved discussions. components/script/dom/node.rs, line 2403 [r1] (raw file): components/script/dom/node.rs, line 2438 [r1] (raw file): Comments from the review on Reviewable.io |
a33677f
to
7cb1926
|
Rebased, cargo updated, and re-enabled two more tests. This is now ready to merge after r+. |
|
This looks good to me. Exciting! |
|
Fails tidy:
|
|
Also fails a couple of interesting unit tests:
|
This fixes incremental layout of nodes that match pseudo-class selectors such as :first-child, :nth-child, :last-child, :first-of-type, etc. * Fixes #8191 * Fixes #9063 * Fixes #9303 * Fixes #9448 This code is based on the following flags from Gecko: https://hg.mozilla.org/mozilla-central/file/e1cf617a1f28/dom/base/nsINode.h#l134
|
Fixed the tidy error, and updated the expected sizes in |
|
@bors-servo r+ Reviewed 1 of 1 files at r2, 2 of 2 files at r3, 7 of 7 files at r4. Comments from the review on Reviewable.io |
|
|
Dirty elements whose selectors are affected by sibling changes This fixes incremental layout of nodes that match pseudo-class selectors such as :first-child, :nth-child, :last-child, :first-of-type, etc. Fixes #8191 and other intermittent layout bugs. This code is based on the following flags from Gecko: https://hg.mozilla.org/mozilla-central/file/e1cf617a1f28/dom/base/nsINode.h#l134 Depends on servo/rust-selectors#71. r? @SimonSapin There are a couple of TODO items in this commit, but I'd appreciate feedback on the general approach before I finish it up. (Also, if someone who knows more than I do could give some advice about atomic orderings...) <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9722) <!-- Reviewable:end -->
|
|
mbrubeck commentedFeb 22, 2016
This fixes incremental layout of nodes that match pseudo-class selectors such as :first-child, :nth-child, :last-child, :first-of-type, etc. Fixes #8191 and other intermittent layout bugs.
This code is based on the following flags from Gecko:
https://hg.mozilla.org/mozilla-central/file/e1cf617a1f28/dom/base/nsINode.h#l134
Depends on servo/rust-selectors#71. r? @SimonSapin
There are a couple of TODO items in this commit, but I'd appreciate feedback on the general approach before I finish it up. (Also, if someone who knows more than I do could give some advice about atomic orderings...)