Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a727aa27c537e8ba89d35f20cd35dc033a6e358e
      
https://github.com/WebKit/WebKit/commit/a727aa27c537e8ba89d35f20cd35dc033a6e358e
  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:
  -----------
  [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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to