[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
https://bugs.webkit.org/show_bug.cgi?id=157500
Bug ID: 157500
Summary: REGRESSION (r199821): Large animated GIFs does not
animate
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