Created attachment 347266 [details] Test The attached test case regressed with https://trac.webkit.org/changeset/233268 which was a fix for https://bugs.webkit.org/show_bug.cgi?id=186909. The issue goes away under several scenarios: - use an <img> directly instead of a <picture> - change .grid to not have explicit left and transform values and change slide-in to animate to translateX(100%) - add an explicit 0% { transform: translateX(-100%) } keframe for the slide-in animation
<rdar://problem/43382687>
Created attachment 354513 [details] simpler test
I think this happens when the un-animated state of the element has a transform. We are confused, in GraphicsLayerCA::computeVisibleAndCoverageRect(), about layerTransform and currentTransform, and seem to use different ones for layerBounds and coverageRect.
Ah, the actual issue is that getOverlapBoundsIncludingChildrenAccountingForTransformAnimations() looks at keyframes to get the bounds, but in this example there is no 0% keyframe, so we fail to take the static translateX(-100%) into account.
Created attachment 357283 [details] Patch
Comment on attachment 357283 [details] Patch Attachment 357283 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/10391430 New failing tests: legacy-animation-engine/compositing/backing/backing-store-attachment-empty-keyframe.html compositing/backing/backing-store-attachment-empty-keyframe.html
Created attachment 357295 [details] Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
https://trac.webkit.org/changeset/239222/webkit