Bug 197731 - Sometimes we hit ASSERT(!parentClipRect.isInfinite()) in RenderLayerBacking::computeParentGraphicsLayerRect
Summary: Sometimes we hit ASSERT(!parentClipRect.isInfinite()) in RenderLayerBacking::...
Status: RESOLVED DUPLICATE of bug 197695
Alias: None
Product: WebKit
Classification: Unclassified
Component: Compositing (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2019-05-08 21:11 PDT by Simon Fraser (smfr)
Modified: 2019-05-08 21:24 PDT (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2019-05-08 21:11:49 PDT
At webkit r245059, we sometimes assert at ASSERT(!parentClipRect.isInfinite()) in RenderLayerBacking::computeParentGraphicsLayerRect.

I can reproduce this in DumpRenderTree with accessibility/media-element.html
Comment 1 Simon Fraser (smfr) 2019-05-08 21:13:46 PDT
This code runs when we have a m_ancestorClippingLayer, and we make one based on the result of RenderLayerCompositor::clippedByAncestor(), which uses:

layer.backgroundClipRect(RenderLayer::ClipRectsContext(computeClipRoot, TemporaryClipRects)).isInfinite()

However, RenderLayerBacking::computeParentGraphicsLayerRect() is doing:

        ShouldRespectOverflowClip shouldRespectOverflowClip = compositedAncestor->isolatesCompositedBlending() ? RespectOverflowClip : IgnoreOverflowClip;
        RenderLayer::ClipRectsContext clipRectsContext(compositedAncestor, TemporaryClipRects, IgnoreOverlayScrollbarSize, shouldRespectOverflowClip);
        LayoutRect parentClipRect = m_owningLayer.backgroundClipRect(clipRectsContext).rect(); // FIXME: Incorrect for CSS regions.

so 'shouldRespectOverflowClip' differs.
Comment 2 Simon Fraser (smfr) 2019-05-08 21:21:06 PDT
That code came from https://trac.webkit.org/changeset/168314/webkit
Comment 3 Simon Fraser (smfr) 2019-05-08 21:24:14 PDT

*** This bug has been marked as a duplicate of bug 197695 ***