[webkit-changes] [WebKit/WebKit] 70ff96: Animated AVIF image animates only one loop on down...
Said Abou-Hallawa
noreply at github.com
Mon Nov 14 12:02:03 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 70ff964ee191a2698da52a707fa83c1e4a8a6092
https://github.com/WebKit/WebKit/commit/70ff964ee191a2698da52a707fa83c1e4a8a6092
Author: Said Abou-Hallawa <said at apple.com>
Date: 2022-11-14 (Mon, 14 Nov 2022)
Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/fast/images/animated-avif-expected.html
M LayoutTests/fast/images/animated-avif.html
M LayoutTests/fast/images/animated-gif-loop-count.html
M LayoutTests/fast/images/animated-jpegxl-loop-count.html
M LayoutTests/fast/images/animated-png-loop-count.html
M LayoutTests/fast/images/resources/animated-image-loop-count.js
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac/TestExpectations
M LayoutTests/platform/win/TestExpectations
M Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp
M Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp
M Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp
M Source/WebCore/platform/image-decoders/avif/AVIFImageReader.h
Log Message:
-----------
Animated AVIF image animates only one loop on down level macOS and non Apple ports
https://bugs.webkit.org/show_bug.cgi?id=247704
rdar://102164553
Reviewed by Simon Fraser.
Delete the handcrafted implementation for AVIF repetitionCount() since libavif
does not provide loopCount for animated AVIF.
Make ImageDecoderCG::decodeUTI() look for the AVIF brands if CGImageSourceGetType()
returns "public.heics" for the image. This is what CG used to return for AVIF on
plafornss pre macOSVentura.
Refactor animated-image-loop-count.js such that an array for the canvases ids are
passed instead of passing the prefix of the first canvas only. This can be used
to draw the last frame of an animated image only.
* LayoutTests/TestExpectations:
* LayoutTests/fast/images/animated-avif-expected.html:
* LayoutTests/fast/images/animated-avif.html:
* LayoutTests/fast/images/animated-gif-loop-count.html:
* LayoutTests/fast/images/animated-jpegxl-loop-count.html:
* LayoutTests/fast/images/animated-png-loop-count.html:
* LayoutTests/fast/images/resources/animated-image-loop-count.js:
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac/TestExpectations:
* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::decodeUTI):
* Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp:
(WebCore::AVIFImageDecoder::tryDecodeSize):
* Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp:
(WebCore::AVIFImageReader::repetitionCount const): Deleted.
* Source/WebCore/platform/image-decoders/avif/AVIFImageReader.h:
Canonical link: https://commits.webkit.org/256665@main
More information about the webkit-changes
mailing list