[Webkit-unassigned] [Bug 197251] REGRESSION(r244372): [GTK][WPE] fast/images/icon-decoding.html and others are failing

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 16 05:27:41 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=197251

--- Comment #3 from Miguel Gomez <magomez at igalia.com> ---
I've been giving a look to this. There are 3 different issues.

First: fast/images/icon-decoding.html just needs new baseline

Second: https://github.com/WebKit/webkit/blob/1240cfe9a01ee4469fdaaacdf3056c4401b01b24/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp#L205

is causing that even non complete frames have a duration of 100ms. We should return 0_s if !frame.isComplete(), and avoid the 11ms change. This fixes these tests:

fast/images/reset-image-animation.html
fast/images/slower-animation-than-decoding-image.html
fast/images/slower-decoding-than-animation-image.html
fast/images/animated-image-loop-count.html

Then
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 a bit trickier. They are testing that when using shape-outside on an animated image, the shape must be generated from the first frame of the animation. I've been debugging the code and I can see how the shape is being generated for each frame of the animation (both before and after the regression), and I think that these were passing before just by chance.
The thing is that just decoding the first frame would be enough for the shape image, but nothing indicates that and the complete animation is decoded. With each decoded frame, RenderBox::imageChanged() ends up being invoked and that causes the shape to be marked as dirty, so the next time we want to use it we'll generate it again from the new frame. I think we should somehow indicate that we don't want to decode the full animation when drawing the first frame (BitmapImage::draw()), but I need to check how the Apple ports deal with this, as it's not failing there.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20191016/f3d5cc42/attachment.html>


More information about the webkit-unassigned mailing list