[webkit-changes] [WebKit/WebKit] 3a9fba: REGRESSION(263286 at main): [ Debug ] ASSERTION FAILE...

Simon Fraser noreply at github.com
Fri May 5 09:03:59 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3a9fba1a0f45a422ca23ce9f157a576e938925ed
      https://github.com/WebKit/WebKit/commit/3a9fba1a0f45a422ca23ce9f157a576e938925ed
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    A LayoutTests/fast/layers/scroll-dimentions-dirty-assertion-expected.txt
    A LayoutTests/fast/layers/scroll-dimentions-dirty-assertion.html
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayer.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/rendering/RenderLayerCompositor.h
    M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
    M Source/WebCore/rendering/RenderLayerScrollableArea.h

  Log Message:
  -----------
  REGRESSION(263286 at main): [ Debug ] ASSERTION FAILED: !m_scrollDimensionsDirty
https://bugs.webkit.org/show_bug.cgi?id=256177
rdar://108753838

Reviewed by Alan Baradlay.

263286 at main made us call computeHasCompositedScrollableOverflow() in more cases; doing this from
`RenderLayer::styleChanged()` was already wrong, because layout is not up-to-date then, so asking
questions about overflow geometry is not valid.

Fix by passing LayoutUpToDate; if No, the only thing we can do is to consult the style to see
if it prevents overflow scrolling.

In order to not regress 225752 at main, we need to eagerly recompute layer.hasCompositedScrollableOverflow()
in RenderLayerCompositor::requiresCompositingForOverflowScrolling().

* LayoutTests/fast/layers/scroll-dimentions-dirty-assertion.html: Added.
* LayoutTests/fast/layers/scroll-dimentions-dirty-assertion-expected.txt: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerCompositor.h:
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::computeScrollDimensions):
(WebCore::RenderLayerScrollableArea::computeHasCompositedScrollableOverflow):
* Source/WebCore/rendering/RenderLayerScrollableArea.h:

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




More information about the webkit-changes mailing list