Bug
1827025 [wpt PR 39435] - Fix exponential time fieldset disable algorithm, a=testonly
Automatic update from web-platform-tests
Fix exponential time fieldset disable algorithm
HTMLFieldSetElement::DisabledAttributeChanged() traverses its subtree,
and recurses on every form control descendant. This causes repeated
traversal on subtrees, and results in exponential overall running time.
The re-entrancy also causes a DCHECK hit when we blur the focused
element in a nested traversal.
This patch optimizes it to linear time by adding a non-reentrant
override of ListedElement::AncestorDisabledStateWasChanged() on
HTMLFieldSetelement.
Fixed:
1427047
Change-Id: Ia3ee4195e71e05724af2bfb9abda6f1e94683ed9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/
4406688
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#
1127824}
--
wpt-commits:
5857a9b5776d85fe77883fadf62c398dc05cf608
wpt-pr: 39435