[webkit-changes] [WebKit/WebKit] 32c83e: Propagate scope element into :has CheckingContext

Cameron McCormack noreply at github.com
Mon Sep 11 01:22:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 32c83e1e34db9c8cdd92217ee3240daff273e1e4
      https://github.com/WebKit/WebKit/commit/32c83e1e34db9c8cdd92217ee3240daff273e1e4
  Author: Cameron McCormack <heycam at apple.com>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-argument-with-explicit-scope-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-closest-expected.txt
    M Source/WebCore/css/SelectorChecker.cpp

  Log Message:
  -----------
  Propagate scope element into :has CheckingContext
https://bugs.webkit.org/show_bug.cgi?id=261378
rdar://106524140

Reviewed by Tim Nguyen and Antti Koivisto.

In https://bugs.webkit.org/show_bug.cgi?id=261320 we split out
CheckingContext::scope into two separate fields: "scope" for the element
that matches :scope, and "hasScope" for the scope of a :has()
pseudo-class.

We need to propagate scope into the child CheckingContext we create for
:has() pseudo-class matching, otherwise :has(:scope) will never match
anything.

* LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-argument-with-explicit-scope-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-closest-expected.txt:
* Source/WebCore/css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchHasPseudoClass const):

Canonical link: https://commits.webkit.org/267856@main




More information about the webkit-changes mailing list