Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: 18428dc7a6d060f1b8c475adaa0843375dc6c3fa
https://github.com/WebKit/WebKit/commit/18428dc7a6d060f1b8c475adaa0843375dc6c3fa
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-08-04 (Tue, 04 Aug 2026)
Changed paths:
A
LayoutTests/compositing/geometry/composited-bounds-with-single-axis-clip-expected.txt
A
LayoutTests/compositing/geometry/composited-bounds-with-single-axis-clip.html
M Source/WebCore/platform/graphics/LayoutRect.h
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerCompositor.cpp
Log Message:
-----------
Cherry-pick 318557@main (a727aa27c537).
https://bugs.webkit.org/show_bug.cgi?id=295662
[GTK][WPE] Content view broken on GitLab
https://bugs.webkit.org/show_bug.cgi?id=295662
Reviewed by Simon Fraser.
A layer clipped by an ancestor in one axis while the other axis stays
overflow:visible has a semi-infinite clip rect: finite in one axis and
unbounded (near LayoutUnit::max) in the other, produced by
expandToInfiniteX/Y(). RenderLayer::calculateLayerBounds() was returning
the semi-infinite rectangle that caused a wrong cover rect being
computed in CoordinatedBackingStoreProxy::createOrDestroyTiles() for
coordinated graphics based ports. With an empty cover rect we basically
stopped producing new tiles for the layer, which caused that contents
were not rendered in GitLab diff page after scrolling down a bit.
This patch clips again passing the document rectangle as constraining
rectangle to clipRectRelativeToAncestor(), like selfClipRect() does,
to ensure we return a finite rectangle.
Test: compositing/geometry/composited-bounds-with-single-axis-clip.html
*
LayoutTests/compositing/geometry/composited-bounds-with-single-axis-clip-expected.txt:
Added.
*
LayoutTests/compositing/geometry/composited-bounds-with-single-axis-clip.html:
Added.
* Source/WebCore/platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::renderableInfiniteRect):
(WebCore::LayoutRect::infiniteRect):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeAncestorClippingStack const):
Canonical link: https://commits.webkit.org/318557@main
Canonical link: https://commits.webkit.org/317695.49@webkitglib/2.54
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications