[Webkit-unassigned] [Bug 157500] New: REGRESSION (r199821): Large animated GIFs does not animate

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 9 19:40:35 PDT 2016


            Bug ID: 157500
           Summary: REGRESSION (r199821): Large animated GIFs does not
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Images
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sabouhallawa at apple.com

In r199821, some of the image metadata were cached in the ImageSource object. The purpose of this change was to save time which we may encounter when calculating the maximumSubsamplingLevel on iOS. Having the image metadata and the image frames cached in the ImageSource is part of the asynchronous image decoding feature https://bugs.webkit.org/show_bug.cgi?id=155322. But because a flag is needed to indicate whether the image metadata has already cached or not, I used the cached frameCount for this purpose. The assumption was the image frameCount can be retrieved once the image size is available and it is not going to change. It turned out this assumption is wrong.

A bug may happen with large GIFs where the frame count gets changed every time a new data block is decoded. Therefore the cached frameCount can be stale data and needs to be updated.

A possible way to fix this bug is to invalidate the image metadata cache every time new data block is decoded. This will achieve the following goals:
1. We get the correct image metadata regardless they are final when decoding the first data block or they are going to change later.
2. We save time by calculating maximumSubsamplingLevel only once.
3. We do some work towards the asynchronous image decoding feature instead of rolling out r199821.

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

More information about the webkit-unassigned mailing list