Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 256047f037f22373b64871c3e6f74a0c49b962ed
      
https://github.com/WebKit/WebKit/commit/256047f037f22373b64871c3e6f74a0c49b962ed
  Author: Tim Nguyen <[email protected]>
  Date:   2025-08-15 (Fri, 15 Aug 2025)

  Changed paths:
    A LayoutTests/fast/events/mouse-cursor-pseudo-elements-expected.txt
    A LayoutTests/fast/events/mouse-cursor-pseudo-elements.html
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac-site-isolation/TestExpectations
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/rendering/HitTestResult.cpp
    M Source/WebCore/rendering/HitTestResult.h
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebCore/rendering/RenderInline.cpp
    M Source/WebCore/rendering/RenderObject.cpp

  Log Message:
  -----------
  Support cursor CSS property on pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=237892
rdar://90364915

Reviewed by Antti Koivisto.

Record `PseudoElementIdentifier` as part of `HitTestRequest`, and use 
`Styleable` to reverse lookup the pseudo-element renderer.
This lets us get the correct cursor in `EventHandler::selectCursor`.

This change specifically adds support for:
- ::before
- ::after
- ::backdrop
- view transition pseudo-elements

::marker support is not included in this PR since it regresses a selection 
subtest, but it should work by overriding `RenderListMarker::nodeForHitTest()`.

UA shadow tree pseudo-elements were already supported. ::first-line / 
::first-letter are not supported according to the spec.

* LayoutTests/fast/events/mouse-cursor-pseudo-elements-expected.txt: Added.
* LayoutTests/fast/events/mouse-cursor-pseudo-elements.html: Added.
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* Source/WebCore/rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::pseudoElementIdentifier const):
(WebCore::HitTestResult::setPseudoElementIdentifier):
* Source/WebCore/rendering/HitTestResult.h:
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateHitTestResult const):
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::updateHitTestResult const):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::updateHitTestResult const):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to