Bug 23233 - Incorrect redraw after layout with transforms
Summary: Incorrect redraw after layout with transforms
Status: ASSIGNED
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: 23220
Blocks:
  Show dependency treegraph
 
Reported: 2009-01-10 23:12 PST by Simon Fraser (smfr)
Modified: 2009-03-12 11:31 PDT (History)
2 users (show)

See Also:


Attachments
Testcase (835 bytes, text/html)
2009-01-10 23:13 PST, Simon Fraser (smfr)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2009-01-10 23:12:16 PST
Here's another testcase which shows a redraw problem after layout, when there's a transform on an ancestor.

Unlike bug 23222, my hunch is that this is caused by layoutDelta doing the wrong thing with transforms.
Comment 1 Simon Fraser (smfr) 2009-01-10 23:13:07 PST
Created attachment 26599 [details]
Testcase
Comment 2 Simon Fraser (smfr) 2009-01-13 15:59:11 PST
This has nothing to do with layoutDelta. I think the issue is that repaints during layout map the dirty rect through transforms. However, the layer transforms may not have been updated yet (and can depend on the borderBox size, which may also be stale). It's telling that the repainting issue only occurs in the testcase when there is a non-default transform-origin set.
Comment 3 Simon Fraser (smfr) 2009-01-13 16:35:27 PST
hyatt suggests maybe expanding the repaintRect info that layers cache to hold something more complex.