[wpt-sync] Sync PR 39435 - Fix exponential time fieldset disable algorithm
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox114 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 39435 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/39435
Details from upstream follow.
Xiaocheng Hu <xiaochengh@chromium.org> wrote:
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: Ia3ee4195e71e05724af2bfb9abda6f1e94683ed9Reviewed-on: https://chromium-review.googlesource.com/4406688
WPT-Export-Revision: 6bb548ffacce29a3434b6c8ea6df1c0555cd2e43
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
| Assignee | ||
Comment 3•3 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 1 tests and 2 subtests
Status Summary
Firefox
OK : 1
FAIL : 2
Chrome
TIMEOUT: 1
Safari
OK : 1
FAIL : 2
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /html/semantics/forms/the-fieldset-element/disabled-003.html [wpt.fyi]
- Disable light-nested fieldsets should not crash:
FAIL(Safari:FAIL) - Disable deep-nested fieldsets should not hang:
FAIL(Safari:FAIL)
- Disable light-nested fieldsets should not crash:
Comment 5•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/f4789baaffe2
https://hg.mozilla.org/mozilla-central/rev/5e7b6ff2b88b
Description
•