It breaks painting when the compositing layer has tiled layering. This is a workaround until bug 134947 gets fixed.
<rdar://problem/17617994>
Created attachment 234963 [details] Patch
Created attachment 234964 [details] Patch
Comment on attachment 234964 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=234964&action=review > Source/WebCore/ChangeLog:9 > + When the compositing layer has tiled layering, offsetting the cliprect with the subpixel accumulation "has tiled layering" -> "is tiled". > Source/WebCore/ChangeLog:10 > + leaves a line of one device pixel gap on the non-leftmost tiles. It's because leftmost tiles get leaves single device-pixel gap > Source/WebCore/rendering/RenderLayer.cpp:1697 > + // FIXME: Moving the cliprect by subPixelAccumulation requires to get IntRect enclosing removed from clipping/dirtyPaintRect. "requires removal of the enclosingIntRect code from..." > Source/WebCore/rendering/RenderLayer.cpp:3596 > + if (!paintingInfo.subPixelAccumulation.isEmpty()) > + adjustedClipRect.expand(paintingInfo.subPixelAccumulation); I'm not sure I agree with this expanding here. You're fixing a bug specific to tiled layers with a change that affects clipping in all composited layers, and may actually result in incorrect clipping.
Created attachment 235030 [details] Patch
Comment on attachment 235030 [details] Patch Clearing flags on attachment: 235030 Committed r171165: <http://trac.webkit.org/changeset/171165>
All reviewed patches have been landed. Closing bug.