[webkit-changes] [WebKit/WebKit] 1d40c0: [:has() pseudo-class] Support invalidation for :an...

Tim Nguyen noreply at github.com
Tue Dec 12 01:17:49 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1d40c072bffe76581c75de0c192d379951ca4daa
      https://github.com/WebKit/WebKit/commit/1d40c072bffe76581c75de0c192d379951ca4daa
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-class-in-has-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-class-in-has.html
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Element.h
    M Source/WebCore/dom/Node.cpp
    M Source/WebCore/dom/Node.h
    M Source/WebCore/editing/Editing.cpp
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/html/parser/HTMLTreeBuilder.cpp
    M Source/WebCore/mathml/MathMLElement.cpp
    M Source/WebCore/page/InteractionRegion.cpp
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/svg/SVGAElement.cpp
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKitLegacy/mac/DOM/DOM.mm

  Log Message:
  -----------
  [:has() pseudo-class] Support invalidation for :any-link, :link and :-webkit-any-link
https://bugs.webkit.org/show_bug.cgi?id=262836
rdar://116616425

Reviewed by Darin Adler.

Move Node::isLink/setIsLink to Element, and make use of Style::PseudoClassChangeInvalidation in the setter.

Add a web platform test as well.

* LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-class-in-has-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-class-in-has.html: Added.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::setIsLink):
* Source/WebCore/dom/Element.h:
(WebCore::Element::isLink const):
* Source/WebCore/dom/Node.cpp:
(WebCore::Node::enclosingLinkEventParentOrSelf):
* Source/WebCore/dom/Node.h:
(WebCore::Node::isLink const): Deleted.
(WebCore::Node::setIsLink): Deleted.
* Source/WebCore/editing/Editing.cpp:
(WebCore::enclosingAnchorElement):
* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::attributeChanged):
* Source/WebCore/html/parser/HTMLTreeBuilder.cpp:
(WebCore::disallowTelephoneNumberParsing):
* Source/WebCore/mathml/MathMLElement.cpp:
(WebCore::MathMLElement::attributeChanged):
* Source/WebCore/page/InteractionRegion.cpp:
(WebCore::interactionRegionForRenderedRegion):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::addPDFURLRect const):
* Source/WebCore/svg/SVGAElement.cpp:
(WebCore::SVGAElement::svgAttributeChanged):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
* Source/WebKitLegacy/mac/DOM/DOM.mm:
(-[DOMNode _linkElement]):

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




More information about the webkit-changes mailing list