| Summary: | [:has() pseudo-class] Invalidation support for adding and removing elements | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Antti Koivisto <koivisto> | ||||||||||||
| Component: | CSS | Assignee: | 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
Antti Koivisto
2021-11-25 00:30:37 PST
Created attachment 445124 [details]
Patch
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 Created attachment 445126 [details]
Patch
Created attachment 445127 [details]
Patch
Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/31743 Created attachment 445134 [details]
Patch
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]. Reopen for a followup to fix perf regression. Created attachment 445214 [details]
Patch
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]. 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? 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. 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. |