Bug 97484

Summary: [Sub-pixel layout] incorrect rendering when painting sub-layers as their own root
Product: WebKit Reporter: Levi Weintraub <leviw>
Component: Layout and RenderingAssignee: Levi Weintraub <leviw>
Status: RESOLVED FIXED    
Severity: Normal CC: eae, eric, jamesr, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Fixes the one known occurrence of the bug
none
Patch none

Levi Weintraub
Reported 2012-09-24 14:44:15 PDT
Upstream bug: http://code.google.com/p/chromium/issues/detail?id=150624 RenderLayerBacking::paintIntoLayer passes LayoutSize() into RenderLayer::paint, which can result in off-by-one paint errors with sub-pixel layout enabled. It should use the sub-pixel fraction from the root layer. I'm not sure of how, or if, this can be tested with a LayoutTest...
Attachments
Fixes the one known occurrence of the bug (1.10 KB, patch)
2012-09-26 13:23 PDT, Levi Weintraub
no flags
Patch (2.22 KB, patch)
2012-09-28 15:30 PDT, Levi Weintraub
no flags
Levi Weintraub
Comment 1 2012-09-26 13:18:39 PDT
My previous comment wasn't entirely accurate. The issue comes to losing the correct sub-pixel offset by virtue of the layer bounds being zero when painting a layer in a vacuum. This is because convertToLayerCoords is a no-op when we're treating ourselves as our own root.
Levi Weintraub
Comment 2 2012-09-26 13:23:58 PDT
Created attachment 165860 [details] Fixes the one known occurrence of the bug This eliminates the issue that I've seen, but I'm not convinced this is the right thing for all cases. I'm continuing to investigate...
Levi Weintraub
Comment 3 2012-09-28 15:30:56 PDT
Eric Seidel (no email)
Comment 4 2012-10-01 11:47:10 PDT
Comment on attachment 166324 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=166324&action=review Seems reasonable. I normally defer to Simon or James for Layer reviews, so you might want to poke one of them in #webkit to make sure. > Source/WebCore/ChangeLog:9 > + happens, a sub-RenderLayer is called to paint as its own root. Normally, we attempt to preserve a non-root render layer?
Levi Weintraub
Comment 5 2012-10-03 14:29:44 PDT
Levi Weintraub
Comment 6 2012-10-05 19:01:49 PDT
Comment on attachment 166324 [details] Patch Clearing flags.
Note You need to log in before you can comment on or make changes to this bug.