RESOLVED FIXED 23222
Repainting is broken with transforms
https://bugs.webkit.org/show_bug.cgi?id=23222
Summary Repainting is broken with transforms
Simon Fraser (smfr)
Reported 2009-01-09 17:35:40 PST
The attached testcase shows that repainting with a layoutDelta in effect is broken when an ancestor is transformed.
Attachments
Testcase (479 bytes, text/html)
2009-01-09 17:35 PST, Simon Fraser (smfr)
no flags
Patch, LayoutTest changelog (6.19 KB, patch)
2009-01-10 18:29 PST, Simon Fraser (smfr)
mitz: review+
Simon Fraser (smfr)
Comment 1 2009-01-09 17:35:56 PST
Created attachment 26585 [details] Testcase
Simon Fraser (smfr)
Comment 2 2009-01-10 17:57:02 PST
Actually I think the testcase is showing an issue with LayoutState, not layoutDelta.
Simon Fraser (smfr)
Comment 3 2009-01-10 18:29:46 PST
Created attachment 26595 [details] Patch, LayoutTest changelog I changed RenderBlock::layoutOnlyPositionedObjects() to use the same criteria as RenderBlock::layoutBlock() for disabling layoutState, because testing showed that layoutOnlyPositionedObjects() could be hit for a block with a reflection. I think this is the right thing to do.
Simon Fraser (smfr)
Comment 4 2009-01-10 18:48:14 PST
Committing to http://svn.webkit.org/repository/webkit/trunk ... M LayoutTests/ChangeLog A LayoutTests/fast/repaint/transform-disable-layoutstate.html A LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.checksum A LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.png A LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.txt M WebCore/ChangeLog M WebCore/rendering/RenderBlock.cpp M WebCore/rendering/RenderFlexibleBox.cpp Committed r39781
Simon Fraser (smfr)
Comment 5 2009-01-10 23:12:46 PST
See also bug 23233.
Note You need to log in before you can comment on or make changes to this bug.