Bug 203240

Summary: [GTK][WPE] shape-outside property defined from an animated image doesn't work properly
Product: WebKit Reporter: Miguel Gomez <magomez>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bugs-noreply
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=197251
https://bugs.webkit.org/show_bug.cgi?id=203675

Description Miguel Gomez 2019-10-22 01:41:29 PDT
According to the spec, when using an animated image, the shape must be generated from the first frame. But this is not happening and the shape is updated following the animation. I think this might be an issue in multiplatform code: in order to create the shape, BitmapImage::draw() is called, which starts the animation, and I don't see how the animation is stopped at any point. With every new frame decoded RenderBox::imageChanged() gets called, which invalidates the shape and it's created again from the next frame. We could avoid decoding the animation completely, and just decode the first frame.
This is causing that tests
css3/shapes/shape-outside/shape-image/shape-image-025.html
imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-025.html
are failing both on GTK and WPE ports. They are passing for Apple, but I'm not sure it's because it's working properly. Gotta look into it.