Bug 23222 - Repainting is broken with transforms
Summary: Repainting is broken with transforms
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-09 17:35 PST by Simon Fraser (smfr)
Modified: 2009-01-12 13:42 PST (History)
2 users (show)

See Also:


Attachments
Testcase (479 bytes, text/html)
2009-01-09 17:35 PST, Simon Fraser (smfr)
no flags Details
Patch, LayoutTest changelog (6.19 KB, patch)
2009-01-10 18:29 PST, Simon Fraser (smfr)
mitz: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 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.
Comment 1 Simon Fraser (smfr) 2009-01-09 17:35:56 PST
Created attachment 26585 [details]
Testcase
Comment 2 Simon Fraser (smfr) 2009-01-10 17:57:02 PST
Actually I think the testcase is showing an issue with LayoutState, not layoutDelta.
Comment 3 Simon Fraser (smfr) 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.
Comment 4 Simon Fraser (smfr) 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
Comment 5 Simon Fraser (smfr) 2009-01-10 23:12:46 PST
See also bug 23233.