Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6027137b2de4527ee793e0ad300aa458b5d5ae3a
https://github.com/WebKit/WebKit/commit/6027137b2de4527ee793e0ad300aa458b5d5ae3a
Author: Nikolaos Mouchtaris <[email protected]>
Date: 2024-05-29 (Wed, 29 May 2024)
Changed paths:
A
LayoutTests/fast/visual-viewport/ios/visual-viewport-dimensions-during-scroll-with-keyboard-expected.txt
A
LayoutTests/fast/visual-viewport/ios/visual-viewport-dimensions-during-scroll-with-keyboard.html
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
REGRESSION: Bad flashing scrolling msn.com article when search field has
focus (content-visibility)
https://bugs.webkit.org/show_bug.cgi?id=274624
rdar://127743319
Reviewed by Simon Fraser.
The cause of the flashing is that the IntersectionObserver computed that the
content-visibility: auto
elements were going in and out of the visual viewport rapidly. This was due to
the visual viewport’s value
changing between two locations, due to the difference in how it is computed
between
LocalFrameView::updateLayoutViewport and
AsyncScrollingCoordinator::reconcileScrollingState. In
LocalFrameView::updateLayoutViewport, the visual viewport is used in
computeLayoutViewportOrigin to
compute the new location of the layout viewport. When the keyboard is visible,
m_visualViewportOverrideRect
is sent via WebPage::updateVisibleContentRects, but is not udpated during
unstable state, causing
computeLayoutViewportOrigin to use a stale version of the visual viewport. The
solution is to always update
the visualViewportOverrideRect value if received from the ui process.
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
Canonical link: https://commits.webkit.org/279448@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