Summary: | REGRESSION (r233268): contents of an animated element inside overflow:hidden disappear | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Antoine Quint <graouts> | ||||||||||
Component: | Layout and Rendering | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | bfulgham, dino, dstockwell, ews-watchlist, simon.fraser, webkit-bug-importer, zalan | ||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||
Version: | Safari Technology Preview | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=186909 | ||||||||||||
Attachments: |
|
Description
Antoine Quint
2018-08-16 08:40:02 PDT
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
|