[Webkit-unassigned] [Bug 92800] Table test is invalidating the wrong rect
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jul 31 16:58:05 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=92800
--- Comment #11 from Eric Seidel <eric at webkit.org> 2012-07-31 16:58:05 PST ---
It appears that when RenderTable does a layout, it first tells its sections to layout themselves:
for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
if (child->isTableSection()) {
child->layoutIfNeeded();
RenderTableSection* section = toRenderTableSection(child);
totalSectionLogicalHeight += section->calcRowLogicalHeight();
if (collapsing)
section->recalcOuterBorder();
ASSERT(!section->needsLayout());
} else if (child->isRenderTableCol()) {
child->layoutIfNeeded();
ASSERT(!child->needsLayout());
}
}
And then a few lines later, again:
for (RenderTableSection* section = topSection(); section; section = sectionBelow(section))
section->layoutRows();
I'm not sure why RenderTable asks its sections to layout twice.
The first time, it goes through RenderTableSection::layout() and the second time through RenderTableSection::layoutRows().
both times it ends up calling cell->layoutIfNeeded(). So clearly somehow the cells are being set as needing layout in between the two layout() calls.
Still investigating. But this clearly explains the overpainting I'm seeing.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list