[Webkit-unassigned] [Bug 242513] Animation doesn't play with grid and position absolute (bad grid repaint)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 16 01:50:44 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=242513

Oriol Brufau <obrufau at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rego at igalia.com,
                   |                            |svillar at igalia.com

--- Comment #9 from Oriol Brufau <obrufau at igalia.com> ---
Basically, the problem is in RenderGrid::layoutPositionedObject

```cpp
    RenderBlock::layoutPositionedObject(child, relayoutChildren, fixedPositionObjectsOnly);

    setLogicalOffsetForChild(child, ForColumns);
    setLogicalOffsetForChild(child, ForRows);
```

where RenderBlock::layoutPositionedObject ends up reaching RenderBox::frameRect like this:

    RenderBlock::layoutPositionedObject
    RenderElement::layoutIfNeeded
    RenderBlock::layout
    RenderBlockFlow::layoutBlock
    RenderBlockFlow::layoutBlockChildren
    RenderBlockFlow::layoutBlockChild
    RenderBlock::layout
    RenderBlockFlow::layoutBlock
    LayoutRepainter::LayoutRepainter
    RenderBox::outlineBoundsForRepaint
    RenderObject::localToContainerQuad
    RenderBox::mapLocalToContainer
    RenderBox::mapLocalToContainer
    RenderBox::offsetFromContainer
    RenderBox::topLeftLocationOffset
    RenderBox::frameRect

But the m_frameRect hasn't been updated yet by setLogicalOffsetForChild!
And calling setLogicalOffsetForChild first would have its own problems.

I guess RenderGrid::layoutPositionedObject needs to use a different approach, it was also problematic for bug 209460.

Changing the location after RenderBlock::layoutPositionedObject was done in bug 172117.
Not sure in Rego or Sergio remember the details about this.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220916/dc40d5ec/attachment-0001.htm>


More information about the webkit-unassigned mailing list