MyGit

merge_pr_45846

web-platform-tests/wpt

版本发布时间: 2024-04-24 20:58:40

web-platform-tests/wpt最新发布版本:merge_pr_48029(2024-09-07 13:25:31)

[@scope] Treat kScopeActivation as a special kSubSelector

The internal selector relation kScopeActivation is inserted by the selector parser for selectors within @scope. This relation, when encountered in the selector, basically figures out if we're in scope [1], what the scoping roots are (there may be multiple), and tries to match the rest of the selector with context.scope set to those roots.

However, kScopeActivation is not a combinator: it does not change the current element being considered for matching. In this respect, it's much like the kSubSelector relation. This CL treats it as such in SelectorChecker::MatchSelector, by skipping the combinator- related checks for exceeding the scope [2] and dynamic_pseudo matching (i.e. exactly the same as kSubSelector).

I've moved the handling of kScopeActivation to a separate function (MatchForScopeActivation) to make it more clear that it's a special case (like MatchForSubSelector), and not like the other relations.

This fixes a bug where selectors with pseudo-elements within @scope would match the originating element instead (due to missing dynamic_pseudo).

[1] https://drafts.csswg.org/css-cascade-6/#in-scope [2] Although we already skipped this for kScopeActivation.

Fixed: 335337303 Change-Id: I6f421c317c00efba5be8ca1407455f03e414a174 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5476369 Reviewed-by: Rune Lillesveen futhark@chromium.org Commit-Queue: Anders Hartvoll Ruud andruud@chromium.org Cr-Commit-Position: refs/heads/main@{#1291819}

相关地址:原始地址 下载(tar) 下载(zip)

1、 MANIFEST-e70c25a52544b0c1d140a2725526734a123a4f18.json.bz2 2.42MB

2、 MANIFEST-e70c25a52544b0c1d140a2725526734a123a4f18.json.gz 2.96MB

3、 MANIFEST-e70c25a52544b0c1d140a2725526734a123a4f18.json.zst 2.43MB

4、 WEB_FEATURES_MANIFEST-e70c25a52544b0c1d140a2725526734a123a4f18.json.bz2 56.4KB

5、 WEB_FEATURES_MANIFEST-e70c25a52544b0c1d140a2725526734a123a4f18.json.gz 64.34KB

6、 WEB_FEATURES_MANIFEST-e70c25a52544b0c1d140a2725526734a123a4f18.json.zst 55.5KB

查看:2024-04-24发行的版本