Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 50aa99222474489e8be5ff75ffeef6ba20a1078b
      
https://github.com/WebKit/WebKit/commit/50aa99222474489e8be5ff75ffeef6ba20a1078b
  Author: Vitaly Dyachkov <vit...@igalia.com>
  Date:   2023-11-16 (Thu, 16 Nov 2023)

  Changed paths:
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebCore/page/LocalFrameView.h
    M Source/WebCore/platform/ScrollableArea.cpp

  Log Message:
  -----------
  [WPE][Debug] ASSERTION FAILED: inProgrammaticScroll == (options.type == 
ScrollType::Programmatic)
https://bugs.webkit.org/show_bug.cgi?id=259912

Reviewed by Simon Fraser.

In `AsyncScrollingCoordinator::requestScrollToPosition()` we assert
that the `scrollableArea`'s `currentScrollType()` matches the
`ScrollPositionChangeOptions`'s type.

In some circumstances, this method can be called as a result of
calling `ScrollableArea::scrollToPositionWithAnimation()`, which
currently doesn't set its `currentScrollType` from `options` argument.

`LocalFrameView`, which is a subclass of `ScrollableArea`, adds a method
whose only job is to set/restore `currentScrollType` and call parent's
method. We can move this logic to the `ScrollableArea` class. There's
actually a FIXME about this.

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::scrollToPositionWithAnimation): Deleted.
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToPositionWithAnimation):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to