[Webkit-unassigned] [Bug 274671] New: REGRESSION(276827 at main): A large animated image will flicker if it's displayed multiple times with different sizes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 24 11:44:37 PDT 2024


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

            Bug ID: 274671
           Summary: REGRESSION(276827 at main): A large animated image will
                    flicker if it's displayed multiple times with
                    different sizes
           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
                CC: sabouhallawa at apple.com

Created attachment 471504

  --> https://bugs.webkit.org/attachment.cgi?id=471504&action=review

large animated image

Open the attached test case.

Result: The image will flicker for a few times after the page is loaded. The same flicker will happen if the page is reloaded.

NOTE: This only happens if the image is displayed with multiple sizes: small size followed by a larger size. The smaller size is decoded first, so it is not displayed for the larger size and it is requested for decoding. This is the cause of the flicker.

Before 276827 at main, BitmapImage::draw() had this logic for animated images:

if (frameIsCompatible)
    image = nativeImageAtIndex(m_currentFrame);
else if (frameIsBeingDecoded) {
    // Draw a yellow rectangle if layer border is enabled
    ...
    return ImageDrawResult::DidRequestDecoding;
} else {
    // Decode the image frame synchronously. 
    image = nativeImageAtIndexCacheIfNeeded(m_currentFrame, m_currentSubsamplingLevel,
}

In 276827 at main, the last block was deleted. We need to restore this behavior back.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240524/a919dd7d/attachment.htm>


More information about the webkit-unassigned mailing list