Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2dd5d4cec216fe15f1571fda3d2b578056e5ce75
      
https://github.com/WebKit/WebKit/commit/2dd5d4cec216fe15f1571fda3d2b578056e5ce75
  Author: Megan Gardner <[email protected]>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    A 
LayoutTests/http/tests/scroll-to-text-fragment/no-scroll-after-stylesheet-load-expected.txt
    A 
LayoutTests/http/tests/scroll-to-text-fragment/no-scroll-after-stylesheet-load.html
    M LayoutTests/platform/gtk/TestExpectations
    M LayoutTests/resources/ui-helper.js
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Scroll To Text Fragement re-loads after every dynamic style sheet load, and 
fights user scrolls to do so.
https://bugs.webkit.org/show_bug.cgi?id=264195
rdar://112608578

Reviewed by Simon Fraser.

In order to account for style changes adjusting the scroll of the page, after 
each dynamic style
sheet load, we recall scrollToFragment to set the page at the correct position 
again.

We need to stop automatically scrolling after the user has scrolled, as user 
scroll should trump
all URL programatic scrolls. So we reset the flag that causes scrolls to happen 
when a user scroll is
detected.

* 
LayoutTests/http/tests/scroll-to-text-fragment/no-scroll-after-stylesheet-load-expected.txt:
 Added.
* 
LayoutTests/http/tests/scroll-to-text-fragment/no-scroll-after-stylesheet-load.html:
 Added.
* LayoutTests/resources/ui-helper.js:
(window.UIHelper.async initiateUserScroll):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::didRemoveAllPendingStylesheet):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::scrollToFragment):
(WebCore::LocalFrameView::setWasScrolledByUser):
* Source/WebCore/page/LocalFrameView.h:

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to