Elements with RenderLayers do not repaint correctly. See the attached test case.
Created attachment 175246 [details] test case
There are two separate issues in here: 1. When the <p> element is first created it will trigger a composited layer. Composited layers are disabled on the elements inside the flow, but when the style is first set on the just created RenderObject the flag "inRenderFlowThread" is not set yet. I've added https://bugs.webkit.org/show_bug.cgi?id=102839 to fix it. 2. When a composited layer is created, then the whole page becomes a composited layer too. That means that the parent repaint container will always be the page. Our check for the parent RenderFlowThread will always fail in this case because we already found a repaint container. This patch will fix that case.
Created attachment 175289 [details] Patch V1
Comment on attachment 175289 [details] Patch V1 View in context: https://bugs.webkit.org/attachment.cgi?id=175289&action=review r=me > Source/WebCore/rendering/RenderObject.cpp:1293 > - // Return the flow thread as a repaint container in order to create a chokepoint that allows us to change > + // Return the flow thread as a repaint container in order to create a checkpoint that allows us to change Not sure why you're changing this. "chokepoint" is a much more accurate term to describe this than "checkpoint"
Comment on attachment 175289 [details] Patch V1 Clearing flags on attachment: 175289 Committed r135921: <http://trac.webkit.org/changeset/135921>
All reviewed patches have been landed. Closing bug.
(In reply to comment #4) > (From update of attachment 175289 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=175289&action=review > > r=me > > > Source/WebCore/rendering/RenderObject.cpp:1293 > > - // Return the flow thread as a repaint container in order to create a chokepoint that allows us to change > > + // Return the flow thread as a repaint container in order to create a checkpoint that allows us to change > > Not sure why you're changing this. "chokepoint" is a much more accurate term to describe this than "checkpoint" Hm, right. My editor suggested the correction, so I just accepted it. The patch already landed, but will make a simple unreviewed patch for it.
Created attachment 176562 [details] Follow up patch Follow up update after the original patch was landed by commit queue. Landed manually in http://trac.webkit.org/changeset/136054.