[Webkit-unassigned] [Bug 31278] ASSERTION FAILURE: mode & UseTransforms in Assertion Failure in RenderSVGRoot::mapLocalToContainer
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu May 2 10:39:20 PDT 2019
https://bugs.webkit.org/show_bug.cgi?id=31278
--- Comment #18 from Daniel Bates <dbates at webkit.org> ---
(In reply to Daniel Bates from comment #17)
> (In reply to Daniel Bates from comment #16)
> > Seen with debug WebKit in iPad simulator with WebKit r244742
> >
> > Just hit ASSERT(mode & UseTransforms) today (05/02) when doing the following:
> >
> > 1. Visit <http://wordpress.com>.
> > 2. Click login.
>
> Some debug notes when I hit this bug:
>
> (lldb) p mode
> (WebCore::MapCoordinatesFlags) $2 = 5 { size = 2 } {
> IsFixed = 1
> ApplyContainerFlip = 4
> }
> (lldb) p repaintContainer
> (const WebCore::RenderLayerModelObject *) $5 = 0x0000000000000000
> (lldb) p transformState
> (WebCore::TransformState) $6 = {
> m_lastPlanarPoint = { x = 0.0, y = 0.0 }
> m_lastPlanarQuad = (m_p1 = { x = 0.0, y = 0.0 }, m_p2 = { x = 0.0, y = 0.0
> }, m_p3 = { x = 0.0, y = 0.0 }, m_p4 = { x = 0.0, y = 0.0 })
> m_lastPlanarSecondaryQuad = {
> __ptr_ = {
> std::__1::__compressed_pair_elem<WebCore::FloatQuad *, 0, false> = {
> __value_ = 0x0000000000000000
> }
> }
> }
> m_accumulatedTransform = {
> __ptr_ = {
> std::__1::__compressed_pair_elem<WebCore::TransformationMatrix *, 0,
> false> = {
> __value_ = 0x0000000000000000
> }
> }
> }
> m_accumulatedOffset = { width = 0px (0), height = 0px (0) }
> m_accumulatingTransform = false
> m_mapPoint = true
> m_mapQuad = false
> m_direction = ApplyTransformDirection
> }
> (lldb) p wasFixed
> (bool *) $7 = 0x0000000000000000
> (lldb)
>
> In calling frame, RenderObject::localToAbsolute():
>
> (lldb) p localPoint
> (const WebCore::FloatPoint) $8 = { x = 0.0, y = 0.0 }
> (lldb) p mode
> (WebCore::MapCoordinatesFlags) $9 = 1 { size = 1 } {
> IsFixed = 1
> }
And the calling calling frame is WebCore::accumulateOffsetTowardsAncestor(WebCore::RenderLayer const*, WebCore::RenderLayer const*, WebCore::LayoutPoint&, WebCore::RenderLayer::ColumnOffsetAdjustment). And look what we have here a FIXME comment AND it only passes isFixed (see (*) line):
[[
// FIXME: Positioning of out-of-flow(fixed, absolute) elements collected in a RenderFragmentedFlow
// may need to be revisited in a future patch.
// If the fixed renderer is inside a RenderFragmentedFlow, we should not compute location using localToAbsolute,
// since localToAbsolute maps the coordinates from named flow to regions coordinates and regions can be
// positioned in a completely different place in the viewport (RenderView).
if (position == PositionType::Fixed && !fixedFragmentedFlowContainer && (!ancestorLayer || ancestorLayer == renderer.view().layer())) {
// If the fixed layer's container is the root, just add in the offset of the view. We can obtain this by calling
// localToAbsolute() on the RenderView.
(*) FloatPoint absPos = renderer.localToAbsolute(FloatPoint(), IsFixed);
location += LayoutSize(absPos.x(), absPos.y());
return ancestorLayer;
}
]]
<https://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderLayer.cpp?rev=244742#L2070>
--
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/20190502/604e4dec/attachment.html>
More information about the webkit-unassigned
mailing list