RESOLVED FIXED22212
[Transforms] redrawing turds when transforming element with abs. pos child
https://bugs.webkit.org/show_bug.cgi?id=22212
Summary [Transforms] redrawing turds when transforming element with abs. pos child
Simon Fraser (smfr)
Reported 2008-11-12 12:40:30 PST
The testcase shows a redraw issue when transforming something with an absolute position child.
Attachments
Testcase (969 bytes, text/html)
2008-11-12 12:40 PST, Simon Fraser (smfr)
no flags
Patch, testcase, changelog (16.15 KB, patch)
2008-11-12 17:22 PST, Simon Fraser (smfr)
mitz: review+
Simon Fraser (smfr)
Comment 1 2008-11-12 12:40:48 PST
Created attachment 25101 [details] Testcase
Simon Fraser (smfr)
Comment 2 2008-11-12 15:21:48 PST
The issue here is that RenderObject::repaintAfterLayoutIfNeeded() falls into the "just redraw the deltas" codepath when redrawing the abs. positioned gray bar.
Simon Fraser (smfr)
Comment 3 2008-11-12 17:22:12 PST
Created attachment 25109 [details] Patch, testcase, changelog
mitz
Comment 4 2008-11-12 17:27:10 PST
Comment on attachment 25109 [details] Patch, testcase, changelog > + #box { > + position: relative; > + margin: 50px; > + width: 200px; > + height: 200px; > + border: 2px solid black; > + -webkit-transform: rotate(0deg); > + > + } Tiny indentation problem here. > + Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting > + borderTopExtra() from the object, rather than its container (as localToAbsolute() > + does). Do you have a test for this? r=me
Simon Fraser (smfr)
Comment 5 2008-11-12 17:31:11 PST
> Do you have a test for this? It was exposed by LayoutTests/fast/dynamic/subtree-table-cell-height.html, so is covered.
Simon Fraser (smfr)
Comment 6 2008-11-12 17:32:25 PST
Committed r38353 M WebCore/rendering/RenderFlexibleBox.cpp M WebCore/rendering/RenderObject.cpp M WebCore/rendering/RenderSVGContainer.cpp M WebCore/rendering/RenderSVGViewportContainer.cpp M WebCore/rendering/RenderObject.h M WebCore/rendering/RenderLayer.cpp M WebCore/rendering/RenderForeignObject.cpp M WebCore/rendering/RenderPath.cpp M WebCore/rendering/RenderBox.cpp M WebCore/rendering/RenderBlock.cpp M WebCore/rendering/RenderTable.cpp M WebCore/rendering/RenderSVGImage.cpp M WebCore/rendering/RenderSVGText.cpp M WebCore/rendering/RenderReplaced.cpp M WebCore/rendering/RenderSVGRoot.cpp M WebCore/ChangeLog A LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.png A LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.txt A LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.checksum M LayoutTests/ChangeLog A LayoutTests/fast/repaint/transform-absolute-child.html r38353 = d12c84b463bdb934ab22f7931948b30951f4e310 (trunk)
Note You need to log in before you can comment on or make changes to this bug.