[webkit-changes] [WebKit/WebKit] b940c0: [scroll-anchoring] Scroll anchoring and Shadow DOM...
Nikos Mouchtaris
noreply at github.com
Fri Jan 19 19:03:53 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b940c0441af5d96ddd5bb8b5ac87217f7087a5ca
https://github.com/WebKit/WebKit/commit/b940c0441af5d96ddd5bb8b5ac87217f7087a5ca
Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt
A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
Log Message:
-----------
[scroll-anchoring] Scroll anchoring and Shadow DOM result in weird scrolling behavior
https://bugs.webkit.org/show_bug.cgi?id=267733
rdar://121165484
Reviewed by Tim Nguyen.
After https://commits.webkit.org/272277@main we descend subscrollers that are not maintaining a
scroll anchor. In the logic added to ScrollAnchoringController::invalidateAnchorElement we
look to see if the current scroller is in a scroll anchoring chain, if it is not currently
maintaining an anchor element. When the owning scroller is in the shadow dom, the element walk would
not include it, so it wouldn't notify the parent scroller to invalidate its anchor element. To fix this,
do the parent walk via parentElementInComposedTree to include the elements in the shadow dom.
* LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html: Added.
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::isInScrollAnchoringAncestorChain):
Canonical link: https://commits.webkit.org/273254@main
More information about the webkit-changes
mailing list