mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
script: Fix O(n^2) dirty bit marking when setting style on all immediate
children of a node.
This commit is contained in:
parent
55f9bd5d6f
commit
0fcaa3ce03
1 changed files with 9 additions and 7 deletions
|
@ -700,14 +700,16 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> {
|
|||
//
|
||||
// TODO(cgaebel): This is a very conservative way to account for sibling
|
||||
// selectors. Maybe we can do something smarter in the future.
|
||||
let parent =
|
||||
match self.parent_node() {
|
||||
None => return,
|
||||
Some(parent) => parent,
|
||||
};
|
||||
if !self.get_has_dirty_siblings() {
|
||||
let parent =
|
||||
match self.parent_node() {
|
||||
None => return,
|
||||
Some(parent) => parent,
|
||||
};
|
||||
|
||||
for sibling in parent.root().r().children() {
|
||||
sibling.set_has_dirty_siblings(true);
|
||||
for sibling in parent.root().r().children() {
|
||||
sibling.set_has_dirty_siblings(true);
|
||||
}
|
||||
}
|
||||
|
||||
// 4. Dirty ancestors.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue