Open Bug 1044394 Opened 10 years ago Updated 2 years ago

Animated GIFs do not restart when animation_mode=once and the page is cached

Categories

(Core :: Graphics: ImageLib, defect)

31 Branch
x86
macOS
defect

Tracking

()

UNCONFIRMED

People

(Reporter: theovosse, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Firefox/31.0 (Beta/Release)
Build ID: 20140716183446

Steps to reproduce:

1. Set image.animation_mode to once using about:config
2. Load a page with an animated gif
3. Close the page
4. Open the same page again


Actual results:

The final frame of the animation is shown.


Expected results:

To see the whole animation again. Now this can only be achieved by forcing a fresh reload of the page.
I was able to reproduce this. It's a cache issue where the browser is loading the last state of the image, using the cached image as well as its properties when the page is re-opened. I suppose you're bypassing the cache to achieve a replay, like explained here: https://support.mozilla.org/en-US/questions/964164

This seems the only way to do it if you have that setting in about:config since the browser will display cached contents first, and only update them on request.
> I suppose you're bypassing the cache to achieve a replay, like explained here:

Yes indeed. It defeats the purpose of having a cache in the first place.
(In reply to Theo Vosse from comment #2)
> > I suppose you're bypassing the cache to achieve a replay, like explained here:
> 
> Yes indeed. It defeats the purpose of having a cache in the first place.

It does. I guess when stuck with the choices of 'none', 'once' or 'normal' for the image.animation_mode entry in about:config, it may just be easier to keep the default 'normal'. However, if you only want an animated gif that loops forever to play just once, it won't stop on the last frame unless you interact with it. It really depends on the application of this, for example if it is a welcome message to the web page.

If this is a custom gif, then I would consider editing it so that it does not loop, and reset image.animation_mode to 'normal'. That should have it play once every time the page is accessed.
Component: Untriaged → ImageLib
Product: Firefox → Core
Summary: animation_mode=once should not mean "once until the cache is emptied" → Animated GIFs do not restart when animation_mode=once and the page is cached
(In reply to Theo Vosse from comment #0)
> To see the whole animation again. Now this can only be achieved by forcing a
> fresh reload of the page.

"View Image Info" restarts animation (bug 1089100).
If this behavior is changed, please make it optional; I like it the way it works now.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.