[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