Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: de4580fe7eeedb0b8582ce8ea85919b788e1d58b
https://github.com/WebKit/WebKit/commit/de4580fe7eeedb0b8582ce8ea85919b788e1d58b
Author: Antti Koivisto <[email protected]>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-006-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-005-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-006-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-007-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-009-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010-expected.txt
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/platform/ScrollableArea.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.h
M Source/WebCore/style/AnchorPositionEvaluator.cpp
M Source/WebCore/style/AnchorPositionEvaluator.h
Log Message:
-----------
[css-anchor-position-1] Scroll adjustment not applied for position:fixed
anchored boxes
https://bugs.webkit.org/show_bug.cgi?id=295002
rdar://154348421
Reviewed by Simon Fraser.
Compute scroll adjustment correctly for fixed positioned anchored boxes.
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-006-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-005-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-006-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-007-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-009-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010-expected.txt:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::addViewportConstrainedObject):
(WebCore::LocalFrameView::removeViewportConstrainedObject):
(WebCore::LocalFrameView::hasAnchorPositionedViewportConstrainedObjects const):
See if any of the viewport constrained objects are anchor positioned.
(WebCore::LocalFrameView::clearCachedHasAnchorPositionedViewportConstrainedObjects):
(WebCore::LocalFrameView::shouldUpdateCompositingLayersAfterScrolling const):
We need to update compositing layers on every frame if there are fixed anchor
positioned boxes.
(WebCore::LocalFrameView::updateAnchorPositionedAfterScroll):
We need to update anchor positions after document scroll too.
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollPositionChanged):
* Source/WebCore/platform/ScrollableArea.h:
(WebCore::ScrollableArea::updateAnchorPositionedAfterScroll):
Factor into a separate virtual function, invoked from
ScrollableArea::scrollPositionChanged.
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
Clear the cached fixed-with-anchor bit if anchor positioned style changes.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterOverflowScroll):
(WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollTo):
Move to RenderLayer::updateLayerPositionsAfterOverflowScroll.
* Source/WebCore/style/AnchorPositionEvaluator.cpp:
(WebCore::Style::scrollOffsetFromAnchor):
Take fixed position into account when computing scroll offset.
(WebCore::Style::AnchorPositionEvaluator::updateSnapshottedScrollOffsets):
Use defaultAnchorForBox() to figure out if we need scroll compensation.
(WebCore::Style::AnchorPositionEvaluator::updatePositionsAfterScroll):
(WebCore::Style::AnchorPositionEvaluator::isAnchorPositioned):
(WebCore::Style::scrollOffsetFromAncestorContainer): Deleted.
(WebCore::Style::AnchorPositionEvaluator::updateAfterOverflowScroll): Deleted.
* Source/WebCore/style/AnchorPositionEvaluator.h:
Canonical link: https://commits.webkit.org/296811@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