[webkit-changes] [WebKit/WebKit] 242980: REGRESSION (253809 at main): Comment field on Engadge...

Simon Fraser noreply at github.com
Sun Nov 13 08:54:15 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 24298004617128b4ce925aadf2af229de18deb7a
      https://github.com/WebKit/WebKit/commit/24298004617128b4ce925aadf2af229de18deb7a
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-11-13 (Sun, 13 Nov 2022)

  Changed paths:
    A LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/composited-in-offscreen-fixed-expected.txt
    A LayoutTests/scrollingcoordinator/scrolling-tree/composited-in-offscreen-fixed-expected.txt
    A LayoutTests/scrollingcoordinator/scrolling-tree/composited-in-offscreen-fixed.html
    A LayoutTests/scrollingcoordinator/scrolling-tree/scroll-coordinated-inside-fixed-expected.txt
    A LayoutTests/scrollingcoordinator/scrolling-tree/scroll-coordinated-inside-fixed.html
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  REGRESSION (253809 at main): Comment field on Engadget.com exhibits stutters while scrolling
https://bugs.webkit.org/show_bug.cgi?id=247837
rdar://102066231

Reviewed by Alan Baradlay.

Various sites (khanacademy.org, comments on engadget.com) showed incorrectly scroll-coordinated elements,
typically positioned nodes inside overflow:scroll inside position:fixed. On some other sites, we'd hit an
assertion in RenderLayerCompositor::updateScrollingNodeForViewportConstrainedRole().

In all cases, we were trying to treat a layer that was some descendant of a position:fixed layer as if it
were the fixed layer itself, because of a logic error in 253809 at main. The code in
`RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer()` needs to return early if the layer is
not both position:fixed, and behaving as fixed (i.e. no transformed ancestor).

Added two layout tests, both of which hit the assertion, and one of which showed incorrect scrolling
behavior.

* LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/composited-in-offscreen-fixed-expected.txt: Added.
* LayoutTests/scrollingcoordinator/scrolling-tree/composited-in-offscreen-fixed-expected.txt: Added.
* LayoutTests/scrollingcoordinator/scrolling-tree/composited-in-offscreen-fixed.html: Added.
* LayoutTests/scrollingcoordinator/scrolling-tree/scroll-coordinated-inside-fixed-expected.txt: Added.
* LayoutTests/scrollingcoordinator/scrolling-tree/scroll-coordinated-inside-fixed.html: Added.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):

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




More information about the webkit-changes mailing list