mirror of
https://github.com/servo/servo.git
synced 2025-08-22 13:55:34 +01:00
dom: Optimize IFrameCollection::validate (#38196)
The `IFrameCollection` was previously rebuilt too often. This PR tries to address the todo, to only rebuild the IFrameCollection when necessary. Testing: `CSS Selector Invalidation: :has() invalidation should not be O(n^2)` wpt-test changed status from timeout to failed. Fixes: #38131 (IFrameCollection::validate accounts for 30% of script time in DOM heavy scenarios) Co-authored-by: sharpshooter_pt <ibluegalaxy_taoj@163.com> Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This commit is contained in:
parent
03ab419793
commit
97f544aa20
4 changed files with 46 additions and 14 deletions
|
@ -1,4 +1,18 @@
|
|||
[has-complexity.html]
|
||||
expected: TIMEOUT
|
||||
[Before appending 25000 elements]
|
||||
expected: FAIL
|
||||
|
||||
[After appending 25000 elements. This should not time out.]
|
||||
expected: FAIL
|
||||
|
||||
[After appending another 25000 elements. This should not time out.]
|
||||
expected: FAIL
|
||||
|
||||
[After appending div with 25000 elements. This should not time out.]
|
||||
expected: FAIL
|
||||
|
||||
[After removing div with 25000 elements. This should not time out.]
|
||||
expected: FAIL
|
||||
|
||||
[After removing 25000 elements one-by-one. This should not time out.]
|
||||
expected: FAIL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue