[Webkit-unassigned] [Bug 140441] New: [CSSRegions] Assert failure in RenderBlock::locateFlowThreadContainingBlock when showing the render tree debug info
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jan 14 07:06:13 PST 2015
https://bugs.webkit.org/show_bug.cgi?id=140441
Bug ID: 140441
Summary: [CSSRegions] Assert failure in
RenderBlock::locateFlowThreadContainingBlock when
showing the render tree debug info
Classification: Unclassified
Product: WebKit
Version: 528+ (Nightly build)
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Layout and Rendering
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mihnea at adobe.com
While debugging the following test file:
<!DOCTYPE html>
<html>
<head>
<style>
#article { -webkit-column-count: 2; }
</style>
</head>
<body>
<div id="article">
<div id="target">
<div id="inside"></div>
</div>
</div>
<script type="text/javascript">
document.body.offsetTop;
document.getElementById("target").style.position = "absolute";
</script>
</body>
</html>
i noticed that if i placed a breakpoint in RenderBlock::styleDidChange(..) on the line with invalidateFlowThreadContainingBlockIncludingDescendants() and i call showRenderTreeForThis() upon hitting the breakpoint, before the invalidation code is executed, i hit the assert ASSERT(rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock()) inside the RenderBlock::locateFlowThreadContainingBlock() for the element that changed its position from static to absolute.
The reason is that showRenderTreeForThis() uses the RenderObject::showRegionsInformation(..) method which in turn calls flowThreadContainingBlock() for the renderer. However, in this situation, we did not yet invalidate the cached flow thread information and since the element changed its position, it is not contained inside the multicol flow thread anymore and the computation of flow thread containing block issues a different value, hence the assert.
I will fix this assert by changing the showRegionsInformation(..) method to always use the cached flow thread information. I will leave the existing assert in RenderBlock::locateFlowThreadContainingBlock(..) in place.
--
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/20150114/8d29185a/attachment-0002.html>
More information about the webkit-unassigned
mailing list