Created attachment 157864 [details] don't force decoding of skipped frames The current code for frame skipping in WebCore::BitmapImage::startAnimation() forces decoding of skipped frames by calling frameIsCompleteAtIndex() and frameDurationAtIndex(). On slow or VERY busy machines and animated images larger than 5MB ( ->cLargeAnimationCutoff) that will cause the for loop to be started over and over again without displaying any frames in case decoding the frame takes more time than the frame's duration. Effectively the application will seem to hang. In the patch I made that frame skipping loop do it the same way as the loop in BitmapImage::dataChanged(); the comment in dataChanged() is also valid for the frame skipping loop.
This patch is for a branch. Would you be willing to post a patch against truck for review, following <http://www.webkit.org/coding/contributing.html>? Notably, the patch misses a ChangeLog.
Created attachment 158074 [details] prepared for review Added a ChangeLog entry. Should be covered by existing tests. I didn't run the tests and I don't have the resources to do so. I found this website which should be enough stress testing for animated GIFs: http://twistedsifter.com/2012/06/high-quality-animated-gifs-by-micael-reynaud/
May I kindly ask for review? Thank you!
Is there anything I can do to get someone providing some feedback?
Created attachment 183150 [details] patch format as produced by the scripts
Finally someone else fixed this - but why was it impossible to get this patch committed? *** This bug has been marked as a duplicate of bug 116041 ***