Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2589295ae8a155339fc4de670d8e5593d4ba5395
https://github.com/WebKit/WebKit/commit/2589295ae8a155339fc4de670d8e5593d4ba5395
Author: Simon Fraser <[email protected]>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
A
LayoutTests/fast/scrolling/ios/scroll-in-fixed-overlay-in-vertical-rl-expected.txt
A LayoutTests/fast/scrolling/ios/scroll-in-fixed-overlay-in-vertical-rl.html
M Source/WebKit/UIProcess/ios/WKContentView.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
Log Message:
-----------
Pan gestures pass through scroll containers laid over vertical-rl body text
(but only once the document's scrollingElement has been scrolled by about one
viewport of width)
https://bugs.webkit.org/show_bug.cgi?id=298992
rdar://160788907
Reviewed by Abrar Rahman Protyasha.
In certain configurations of RTL content on iOS, UI-side hit-testing
would fail to find targets scrollers once the document had been scrolled
away from the origin by some amount. In this configuration, scrollOrigin is
non-zero, and scrolling to the left goes into negative horizontal coordinates.
On iOS we have two UIViews at the root, `_fixedClippingView` and
`_rootContentView`,
and we need to set up their geometry in this RTL config such that visible
parts of the view are always inside the layers, so that hit-testing passes
through
them. This requires setting up `_rootContentView` exactly how we set up
`_fixedClippingView`,
with origin and bounds that account for the negative coordinates.
Test: fast/scrolling/ios/scroll-in-fixed-overlay-in-vertical-rl.html
*
LayoutTests/fast/scrolling/ios/scroll-in-fixed-overlay-in-vertical-rl-expected.txt:
Added.
* LayoutTests/fast/scrolling/ios/scroll-in-fixed-overlay-in-vertical-rl.html:
Added.
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]): Just
re-order
to match the parenting order.
(-[WKContentView updateFixedClippingView:]):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView hitTest:withEvent:]):
Canonical link: https://commits.webkit.org/313665@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications