Created attachment 384339 [details] Test Elements are flashing or become partly rendered after transform change. Reproduce: 1. Open in Safari on iPad or iPhone: https://smartslider3.com/bugs/webkit/flashing/ 2. Swipe left on the two small image 3. It starts to amimate and the elements are flashing and end up being partly visible. Screen capture: https://www.youtube.com/watch?v=FizN0noXky0 Attached the source code for testing.
<rdar://problem/57496061>
I can reproduce. Looks like we fail to repaint when the animating photos drop out of layers.
Created attachment 384682 [details] Reduced test case This is about repaints in backing sharing layers.
We have a layer tree that looks like this: S---------C-c-- -- ------ ------ 0x80945eb00 (0,0) width=858 height=1029 (layerID 40) {sc 5} RenderView S-----------c-- -- ------ ------ + 0x80945ec60 (0,0) width=858 height=544 <html> -NO-------CP--- -- ------ ------ n 0x80945edc0 (18,10) width=822 height=524 (layerID 46) {sc 6} <div> class='container' S----------pcs- -- ------ ------ + 0x80945e000 (12,12) width=2000 height=0 <div> class='wrapper' S-O-------C-cs- -- ------ ------ + 0x80945e160 (0,0) width=2000 height=250 (layerID 47) clipping <div> class='intermediate2' S--A------C--s- -- ------ ------ + 0x80945e2c0 (22,22) width=300 height=200 (layerID 43) <div> class='animated slide' 0x80945e2c0 becomes non-composited, issuing a repaint in 0x80945e160. 0x80945e160 becomes non-composited, which also needs to issue a repaint. It should repaint in 0x80945e000, but when we issue this repaint, we're also in the process of rebuilding backing sharing layers, so 0x80945e000 isn't currently marked as "paints into provided backing" in RenderLayer::enclosingCompositingLayerForRepaint(), so we end up issuing the repaint on the RenderView's layer.
The testcase no longer reproduces this after https://trac.webkit.org/changeset/258336/webkit, and the original testcase seems to have lost its images.
Created attachment 394467 [details] Testcase which reproduces on trunk
*** Bug 207689 has been marked as a duplicate of this bug. ***
*** Bug 209526 has been marked as a duplicate of this bug. ***
Created attachment 394526 [details] Patch
https://trac.webkit.org/changeset/259015/webkit
*** Bug 211841 has been marked as a duplicate of this bug. ***