Out-of-view fixed position elements are not composited. In RenderLayer::paintLayer(), such elements will be painted when pre-paint out-of-view parts. This causes residues when the part scrolls into the viewport. Patch of bug 102543 provides a way to determine if a non-composited fixed position element is out-of-view so not to be painted in pre-paining.
I see the same bug in Safari running a WebKit nightly
For instance load up http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2012, click "Rendered view", and scroll down. I see lots of red on Version 6.0.2 (8536.26.17, 537+) WebKit r137338
Not sure what pre-painting is.
Painting things not currently in the visible viewport. On mac, I think this is done via the tile caching logic.
Created attachment 178958 [details] Patch
Actually I didn't reproduce the issue with the added test case when the fix was not applied. I wonder what the correct way is to test prepainting behavior.
The scroll will generate an invalidation before the test completes. I don't know of any way to see the results of off-main-thread scrolling in a layout test.
(In reply to comment #0) > Out-of-view fixed position elements are not composited. In RenderLayer::paintLayer(), such elements will be painted when pre-paint out-of-view parts. This causes residues when the part scrolls into the viewport. Patch of bug 102543 provides a way to determine if a non-composited fixed position element is out-of-view so not to be painted in pre-paining. Can you provide a manual test that reproduces this bug? I am just curious to see it.
(In reply to comment #8) > (In reply to comment #0) > > Out-of-view fixed position elements are not composited. In RenderLayer::paintLayer(), such elements will be painted when pre-paint out-of-view parts. This causes residues when the part scrolls into the viewport. Patch of bug 102543 provides a way to determine if a non-composited fixed position element is out-of-view so not to be painted in pre-paining. > > Can you provide a manual test that reproduces this bug? I am just curious to see it. See comment #2
(In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #0) > > > Out-of-view fixed position elements are not composited. In RenderLayer::paintLayer(), such elements will be painted when pre-paint out-of-view parts. This causes residues when the part scrolls into the viewport. Patch of bug 102543 provides a way to determine if a non-composited fixed position element is out-of-view so not to be painted in pre-paining. > > > > Can you provide a manual test that reproduces this bug? I am just curious to see it. > > See comment #2 Thanks!
Created attachment 179082 [details] Use manual test
Comment on attachment 179082 [details] Use manual test R=me
Comment on attachment 179082 [details] Use manual test Clearing flags on attachment: 179082 Committed r137492: <http://trac.webkit.org/changeset/137492>
All reviewed patches have been landed. Closing bug.