Bug 233489

Summary: [:has() pseudo-class] Invalidation support for adding and removing elements
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: CSSAssignee: Antti Koivisto <koivisto>
Status: RESOLVED FIXED    
Severity: Normal CC: clopez, ews-watchlist, streltsyn111, webkit-bug-importer, youennf, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://github.com/web-platform-tests/wpt/pull/31743
Bug Depends on:    
Bug Blocks: 227702    
Attachments:
Description Flags
Patch
ews-feeder: commit-queue-
Patch
ews-feeder: commit-queue-
Patch
none
Patch
none
Patch none

Antti Koivisto
Reported 2021-11-25 00:30:37 PST
Invalidate on tree mutations
Attachments
Patch (26.80 KB, patch)
2021-11-25 01:18 PST, Antti Koivisto
ews-feeder: commit-queue-
Patch (26.80 KB, patch)
2021-11-25 01:43 PST, Antti Koivisto
ews-feeder: commit-queue-
Patch (26.80 KB, patch)
2021-11-25 02:06 PST, Antti Koivisto
no flags
Patch (26.82 KB, patch)
2021-11-25 04:01 PST, Antti Koivisto
no flags
Patch (1.55 KB, patch)
2021-11-27 00:13 PST, Antti Koivisto
no flags
Antti Koivisto
Comment 1 2021-11-25 01:18:05 PST
EWS Watchlist
Comment 2 2021-11-25 01:19:06 PST
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
Antti Koivisto
Comment 3 2021-11-25 01:43:25 PST
Antti Koivisto
Comment 4 2021-11-25 02:06:15 PST
Antti Koivisto
Comment 5 2021-11-25 02:06:42 PST
Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/31743
Antti Koivisto
Comment 6 2021-11-25 04:01:37 PST
EWS
Comment 7 2021-11-25 13:14:26 PST
Committed r286169 (244552@main): <https://commits.webkit.org/244552@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 445134 [details].
Radar WebKit Bug Importer
Comment 8 2021-11-25 13:15:56 PST
Antti Koivisto
Comment 9 2021-11-27 00:12:34 PST
Reopen for a followup to fix perf regression.
Antti Koivisto
Comment 10 2021-11-27 00:13:39 PST
EWS
Comment 11 2021-11-27 01:45:07 PST
Committed r286188 (244570@main): <https://commits.webkit.org/244570@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 445214 [details].
Ilya Streltsyn
Comment 12 2022-01-30 00:25:05 PST
Unfortunately, Lea Verou's testcase with DOM modification in `setTimeout` (https://codepen.io/leaverou/pen/mdBMMrB) still does not work for me in TP 139 on MacBook Air M1/MacOS Monterey 12.2. Both `.has.empty` and `.has.nth` elements stay pink after `setTimeout` fires and modifies their subtree. Only after I either open the Inspector for the first time, modify the CSS in the CodePen panel, or modify `document.styleSheets` after modifying the subtree in the `setTimeout` callback (e.g. add a new valid `cssRule`), these elements become green. Could you please look into this issue again?
Antti Koivisto
Comment 13 2022-01-30 07:05:52 PST
The test case appears to work fine in trunk, I think STP 139 just doesn't have the fix yet. It might have been fixed in bug 234842.
Antti Koivisto
Comment 14 2022-01-30 07:07:30 PST
Generally it is a good idea to file a new bug for each issue as that ensures they don't get lost. No need to worry about duplicates, we can sort those out.
Note You need to log in before you can comment on or make changes to this bug.