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