[webkit-reviews] review canceled: [Bug 88066] Make RenderTableSection - nodeAtPoint and paintObject reuse spanning logic : [Attachment 145969] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jun 11 10:59:49 PDT 2012
Julien Chaffraix <jchaffraix at webkit.org> has canceled Allan Sandfeld Jensen
<allan.jensen at nokia.com>'s request for review:
Bug 88066: Make RenderTableSection - nodeAtPoint and paintObject reuse
spanning logic
https://bugs.webkit.org/show_bug.cgi?id=88066
Attachment 145969: Patch
https://bugs.webkit.org/attachment.cgi?id=145969&action=review
------- Additional Comments from Julien Chaffraix <jchaffraix at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=145969&action=review
> Source/WebCore/rendering/RenderTableSection.cpp:1053
> CellSpan RenderTableSection::dirtiedRows(const LayoutRect& damageRect) const
I would really have loved for dirtiedRows / dirtiedColumns to just die but it
seems that we need to patch the CellSpan returned from spannedRows. Having
different behaviors for hit-testing and painting is unfortunate and should make
us wonder if we don't prefer a unified code path (less bug but also any
improvement would improve both code path).
> Source/WebCore/rendering/RenderTableSection.cpp:1058
> + CellSpan coveredRows = spannedRows(damageRect);
I don't think this is right: spannedRows takes a rect that is flipped to
account for the section's direction. However the damage rect is in device
coordinates which doesn't account for direction.
> Source/WebCore/rendering/RenderTableSection.cpp:1062
> + // To repaint the border we might need to repaint first or last row even
if they are not spanned themselves.
> + if (coveredRows.start() >= m_rowPos.size() - 1 &&
m_rowPos[m_rowPos.size() - 1] + table()->outerBorderAfter() >= damageRect.y())
> + --coveredRows.start();
Is your change working with vertical writing modes as m_rowPos is actually in
the x direction? (which was why |before| needed to take the writing mode into
account)
> Source/WebCore/rendering/RenderTableSection.cpp:1064
> + if (!coveredRows.end() && m_rowPos[0] - table()->outerBorderBefore() <=
damageRect.maxY())
This is not mixed direction aware AFAICT (e.g if table and table-section have
opposite directions - see bug 87900). Could you add a FIXME about that?
More information about the webkit-reviews
mailing list