Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 70ff964ee191a2698da52a707fa83c1e4a8a6092
      
https://github.com/WebKit/WebKit/commit/70ff964ee191a2698da52a707fa83c1e4a8a6092
  Author: Said Abou-Hallawa <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to