Branch: refs/heads/webkitglib/2.42
Home: https://github.com/WebKit/WebKit
Commit: 2725c3d1aec9a9030841ec7e3cad9fcac11e2c57
https://github.com/WebKit/WebKit/commit/2725c3d1aec9a9030841ec7e3cad9fcac11e2c57
Author: Simon Fraser <[email protected]>
Date: 2023-10-19 (Thu, 19 Oct 2023)
Changed paths:
A
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hit-test-expected.txt
A
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hit-test.html
M Source/WebCore/rendering/RenderLayer.cpp
Log Message:
-----------
Cherry-pick 269255@main (db2f6b2a047a).
https://bugs.webkit.org/show_bug.cgi?id=237308
Unable to scroll results.webkit.org results using the scrollbars
https://bugs.webkit.org/show_bug.cgi?id=237308
rdar://89598421
Reviewed by Dan Glastonbury and Richard Robinson.
If an overflow:scroll contained a composited, positioned descendant, then
trying to click and drag an
overlay scrollbar that overlapped that descendant would fail to work. This
affected results.webkit.org,
where the canvas elements caused the bug.
This happened because when the hit-testing code tested whether the
composited layer contained the
point, it would use a backgroundClipRect that was not shrunk for the
scrollbar. There was already
a "FIXME" comment on a line of code that explicitly removed the
`IncludeOverlayScrollbarSize` option,
and removing this line fixes the bug. The code dates from when composited
overflow scrolling was
first implemented (112856@main). `IncludeOverlayScrollbarSize` is only ever
specified when requesting
clip rects for hit-testing, so it seems reasonable to assume the code was
wrong.
Do other whitespace cleanup in the hit-testing code, including fixing a
line with bad indentation.
*
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hit-test-expected.txt:
Added.
*
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hit-test.html:
Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestContentsForFragments const):
(WebCore::RenderLayer::calculateClipRects const):
Canonical link: https://commits.webkit.org/269255@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes