[Webkit-unassigned] [Bug 93764] New: Skipping frames in animated GIFs (or other multiframe images) can cause inifinite loop in WebCore::BitmapImage::startAnimation()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Aug 11 03:10:24 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=93764

           Summary: Skipping frames in animated GIFs (or other multiframe
                    images) can cause inifinite loop in
                    WebCore::BitmapImage::startAnimation()
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Images
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: tobias.netzel at googlemail.com


Created an attachment (id=157864)
 --> (https://bugs.webkit.org/attachment.cgi?id=157864&action=review)
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.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list