[webkit-changes] [WebKit/WebKit] bb9af3: [scroll-anchoring] Weird scrolling effect when scr...

Nikos Mouchtaris noreply at github.com
Wed Jan 3 10:34:53 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb9af3d426703c0dab09e5de39fe435eb6876f7f
      https://github.com/WebKit/WebKit/commit/bb9af3d426703c0dab09e5de39fe435eb6876f7f
  Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
  Date:   2024-01-03 (Wed, 03 Jan 2024)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor.html
    M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
    M Source/WebCore/page/scrolling/ScrollAnchoringController.h
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h

  Log Message:
  -----------
  [scroll-anchoring] Weird scrolling effect when scrolling YouTube transcript panel
https://bugs.webkit.org/show_bug.cgi?id=267005
rdar://120378263

Reviewed by Simon Fraser.

After https://commits.webkit.org/272277@main we descend subscrollers that are not maintaining a
scroll anchor. We need to replicate the logic used in ScrollAnchoringController::examineAnchorCandidate
for ScrollAnchoringController::didFindPriorityCandidate, to ensure we don't end up choosing an anchor
element that is a descendant of a scrollable area that is maintaining a scroll anchor.

* LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor.html: Added.
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::scrollAnchoringControllerForElement):
(WebCore::ScrollAnchoringController::didFindPriorityCandidate):
(WebCore::canDescendIntoElement):
(WebCore::ScrollAnchoringController::isExcludedSubtree):
(WebCore::ScrollAnchoringController::examineAnchorCandidate):
(WebCore::ScrollAnchoringController::chooseAnchorElement):
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/page/scrolling/ScrollAnchoringController.h:

Canonical link: https://commits.webkit.org/272616@main




More information about the webkit-changes mailing list