Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 13cc83ffe56b9e76b41564b9dbafc8ffcdbf9744
https://github.com/WebKit/WebKit/commit/13cc83ffe56b9e76b41564b9dbafc8ffcdbf9744
Author: Fujii Hironori <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M
Source/WebCore/page/scrolling/coordinated/ScrollingTreeScrollingNodeDelegateCoordinated.cpp
M
Source/WebCore/page/scrolling/coordinated/ScrollingTreeScrollingNodeDelegateCoordinated.h
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
M Source/WebKit/WPEPlatform/wpe/WPEGestureDetector.cpp
Log Message:
-----------
REGRESSION(309315@main): [WPE][GTK] position:fixed layers are unnecessarily
repainted by scrolling
https://bugs.webkit.org/show_bug.cgi?id=321908
Reviewed by Carlos Garcia Campos.
After 309315@main stopped rounding the scroll position of layers,
viewport-constrained layers are unnecessarily repainted while scrolling.
LocalFrameView::updateLayoutViewport has this condition:
> if (newLayoutViewportOrigin != m_layoutViewportOrigin) {
> setBaseLayoutViewportOrigin(newLayoutViewportOrigin);
m_layoutViewportOrigin of LocalFrameView is a LayoutPoint, but
newLayoutViewportOrigin comes from ScrollView::m_scrollPosition, which is
an IntPoint and thus already rounded. As a result, whenever the scroll
position had a fractional part, this condition was true and triggered an
unnecessary layout.
309315@main solved a problem of accumulated rounding error for touch gesture
scrolling <https://webkit.org/b/309252>. This can be solved in UI process.
Reverted 309315@main, and rounded the touch event positions to calculate
deltas.
*
Source/WebCore/page/scrolling/coordinated/ScrollingTreeScrollingNodeDelegateCoordinated.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateCoordinated::adjustedScrollPosition
const): Deleted.
*
Source/WebCore/page/scrolling/coordinated/ScrollingTreeScrollingNodeDelegateCoordinated.h:
* Source/WebKit/WPEPlatform/wpe/WPEGestureDetector.cpp:
(WPE::GestureDetector::handleEvent):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTouchDragUpdate):
Canonical link: https://commits.webkit.org/320147@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications