Stop button should stop animations

VERIFIED WONTFIX

Status

()

Core
ImageLib
P2
normal
VERIFIED WONTFIX
18 years ago
7 years ago

People

(Reporter: Akkana Peck, Unassigned)

Tracking

({helpwanted, regression})

Trunk
Future
helpwanted, regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

(Reporter)

Description

18 years ago
On every past Netscape release that has supported animated images, the Stop
button would stop the animations.  Mozilla doesn't do this, and a lot of people
are going to miss it; I'm proposing that we should make this happen for beta.

Updated

18 years ago
Status: NEW → ASSIGNED
Target Milestone: M14

Comment 1

18 years ago
On past Windows releases the Stop button does not stop animations, but there is
a menu item "Stop Animations" under the view menu that does this.

Comment 2

18 years ago
*** Bug 21530 has been marked as a duplicate of this bug. ***

Comment 3

18 years ago
reassigning this to neeti
Assignee: pnunn → neeti
Status: ASSIGNED → NEW

Updated

18 years ago
Status: NEW → ASSIGNED
Keywords: beta1
Summary: [BETA] Stop button should stop animations → [BETA1] Stop button should stop animations

Comment 4

18 years ago
Putting on the PDT- radar for beta1. Will not stop ship beat for this.
Whiteboard: [PDT-]

Updated

18 years ago
Target Milestone: M14 → M15

Updated

18 years ago
Summary: [BETA1] Stop button should stop animations → Stop button should stop animations

Comment 5

18 years ago
If the page is still loading, the first "stop" hit shouldn't stop the 
animations. If "stop" is hit again (now that the page isn't loading), 
animations should stop.

Comment 6

18 years ago
In current builds, the stop button isn't clickable even though animations are
still running.  I haven't checked Mozilla, but on prior releases it was
important to be able to stop animations because they would suck down CPU cycles
even when the window was minimized.


Updated

18 years ago
Target Milestone: M15 → M16

Updated

18 years ago
Target Milestone: M16 → M17

Comment 7

18 years ago
Nominating for beta 2 by request of Seth Arnold.
Keywords: beta1 → beta2
Whiteboard: [PDT-]

Updated

18 years ago
Keywords: nsbeta2

Updated

18 years ago
Target Milestone: M17 → M18

Updated

18 years ago
Target Milestone: M18 → Future

Comment 8

18 years ago
If anyone could suggest what files I should be looking at to get started, I'd be

happy to take a stab at this.

Comment 9

18 years ago
Removing nsbeta2 nomination. We are not implementing this feature.
Keywords: nsbeta2

Comment 10

18 years ago
dp -- please clarify. Are you not implementing "nsbeta2", or not implementing
"Stop button should stop animations"? Please tell me it is the former. :)

Thanks.
(Reporter)

Comment 11

18 years ago
hacksaw: this bug depends on the backend bug 33810, which is also blocking an
editor bug that's marked as nsbeta2, so one or the other of those bugs will have
to get reevaluated.  If 33810 gets fixed, then this bug should become fairly
trivial, just wire up the stop button to call the imglib API.

Incidentally, this will be a blocker for many people as far as adopting the
browser -- I'm sure I'm not the only person who finds animations a huge
distraction that make it almost impossible to think until they're stopped, not
to mention the CPU hit (noticable even on my fairly fast machine).  So I'm
putting dogfood back in the keywords even though I know it's going to be
minused.
Depends on: 33810
Keywords: dogfood, helpwanted

Comment 12

18 years ago
Currently, the stop button becomes disabled as soon as it finishes loading a 
page. This bug requires that the stop button is enabled even after loading the 
page, when there is an animated gif on the page. This will involve work on the 
xpfe side too.

Comment 13

18 years ago
Currently, the stop button becomes disabled as soon as it finishes loading a 
page. This bug requires that the stop button is enabled even after loading the 
page, when there is an animated gif on the page. This will involve work on the 
xpfe side too.

Comment 14

18 years ago
Putting on [dogfood-] radar for beta2.

Do you know code to be called to stop animations?  If it is minimal and low 
risk.  We might fix for beta2.  But would not hold for this bug.
Whiteboard: [dogfood-]

Comment 15

18 years ago
Reassign to pnunn.
Assignee: neeti → pnunn
Status: ASSIGNED → NEW

Comment 16

18 years ago
I volunteered earlier to work on this one, but having just made my first foray
into the tree this weekend, I'm afraid even this is over my head.

The only thing I did find that might be helpful is a fix-me line in <A
href=http://lxr.mozilla.org/seamonkey/source/docshell/base/nsDSWebProgressListener.cpp#101>docshell/base/nsDSWebProgressListener.cpp</A>
that suggests a good place to re-enable the Stop Button if animations are
present, but I have no idea how to go about getting at that data from there.

Incidentally, someone has added a working "stop" entry to the context-menu you
get by right-clicking on individual animations, so things are looking up.

Comment 17

18 years ago
Hmmm... I wonder if this is related to bug 39727. cc'ing rpotts.

Updated

18 years ago
Status: NEW → ASSIGNED

Comment 18

18 years ago
Let me start by saying that, on windows atleast, if you click
on the stop button, even though it is not hilighted (hilit?),
(which should mean the stop button is disabled)
animations stop.

There are about 3 diverse ways we can indicate animations should 
not animate or animate through one loop and then stop.
1> Context menu: right click menu would have animation options for 
the image
2> Preferences: set once for the whole browser 'experience'.
3> Additional buttons on the chrome.

The mechanism to control animations exists. You can specify
by way of the nsPresContext (and/or nsImageFrame):
1> normal animation,
2> no animation (display only first frame)
3> loop only once animation

Bill, would you like to add something to the context menu?
Hyatt, what about another button?
And who is doing prefs these days?????

Bill, I'm reassigning to you so its on your radar.
-P
Assignee: pnunn → law
Status: ASSIGNED → NEW

Updated

17 years ago
Status: NEW → ASSIGNED

Comment 19

17 years ago
on linux too, animations stop with a click on "disabled" looking stop-button.
(2000-072113)

Comment 20

17 years ago
Created attachment 11810 [details] [diff] [review]
Proposed patch

Comment 21

17 years ago
I've just attached a much belated patch proposal which behaves for the most part
like Navigator/Communicator 4.xx did, ie. there's sometimes a delay in updating
the button after a page finishes loading, and it doesn't take advantage of any
of the new API features (I that pnunn's ideas for setting the
one-iteration/frame modes in pref's or with another button are the way to go for
that). 

It also fixes two minor (potential) bugs that were lurking in nsImageGroup.cpp.
As others mentioned, the stop-button works as expected regardless of whether
it's shaded, so this is now an entirely cosmetic issue.

Comment 22

17 years ago
Nominating for nsbeta3, since we have a patch waiting.

> there's sometimes a delay in updating the button after a page finishes loading

Why? Can that be fixed? Is it because it behaves the same as 4.x on Mac did, 
where the Stop button was only re-enabled after the slowest animated image on the 
page had gone through one complete loop?
Keywords: nsbeta3, patch, review

Comment 23

17 years ago
>> there's sometimes a delay in updating the button after a page finishes
>>loading
>
>Why? Can that be fixed? Is it because it behaves the same as 4.x on Mac did, 
>where the Stop button was only re-enabled after the slowest animated image on
>the page had gone through one complete loop?

Basically, except I would think it's the fastest animation, since it relies on
the IL_STARTED_LOOPING image-group notification that gets sent whenever any
animation completes its first iteration.

The best way to fix it would be to get the imglib code to send a notification as
soon as the fact that an image is an animation is determined.  This could
significantly simplify the fix, since we could probably guarantee that it's
determined *during* a load, and then could use the standard "nsProgressListener"
mechanism to talk to the front-end instead of the gross hack I've used.

I've looked through some of the imglib code, but it seems there are
several ways for animation status to be determined, netscape's GIF
extentions, "multipart-MIME" images, the new MNG stuff, etc.  There
is an "IL_FRAME_COMPLETE" notification sent to image-request obsevers,
but that gets sent even for single-frame images.  I'll take another
look tomorrow, but I haven't had any luck with that so far.

Comment 24

17 years ago
Created attachment 11885 [details] [diff] [review]
Proposed patch 1.1--minor update to merge cleanly with warren's 07/24/2000 22:45 check-in

Comment 25

17 years ago
>I've looked through some of the imglib code, but it seems there are several
>ways for animation status to be determined, netscape's GIF extentions, ...

Sorry, I should clarify this.  What's been confusing is actually just in the
modules/libimg/gifcom/gif.cpp code.  I can't for the life of me figure out where
it decides for certain that it's dealing with an animation.  I'm fairly certain
that the place where it invokes the "ImgDCBHaveImageFrame()" callback is wrong,
since it gets sent even for non-animated images, but I'm not sure what to do
about it. :(

Comment 26

17 years ago
Nav triage team: [nsbeta3+] because Mcafee wants it.
Assignee: law → mcafee
Status: ASSIGNED → NEW
Whiteboard: [dogfood-] → [dogfood-][nsbeta3+]

Updated

17 years ago
Priority: P3 → P2

Comment 27

17 years ago
Talked with pnunn.
Summary: Stop button should stop animations → Delay for enabling stop button to stop animations

Comment 28

17 years ago
Created attachment 13709 [details] [diff] [review]
patch, updated for current tree

Comment 29

17 years ago
tried the patch, stop button disappeared for me once on mouseover, ?
I also didn't see any noticable difference compared to non-patch build.
Maybe someone can clarify how I could test what's going on here?
The nsbeta3+ part of this bug looks like it's working to me,
off nsbeta3+ list.  Argue your way back on the beta list if you disagree.
Keywords: dogfood, nsbeta3
Whiteboard: [dogfood-][nsbeta3+] → [dogfood-][nsbeta3+][NEED INFO]

Comment 30

17 years ago
earlier comment with pnunn got truncated, using mozilla (heh)
Looks like the stop button is stopping animations: after loading,
hitting stop button stops the animation.

Comment 31

17 years ago
if you hit stop the animated gif does stop.
Just the UI does not update.
beta minus since we do not have any update on the patch.
Whiteboard: [dogfood-][nsbeta3+][NEED INFO] → [dogfood-][nsbeta3-][NEED INFO]

Comment 32

17 years ago
better summary
Summary: Delay for enabling stop button to stop animations → UI doesn't update when animations stopped with stop button

Comment 33

17 years ago
Taking QA. (Why are there still open bugs floating around with Eli as QA? The
person who replaced the person who used to be his manager, or the person who
used to be the manager of the person who used to be his manager, or ... or ...
or *somebody*, needs telling off.)

Build: 2000102008 trunk, Mac OS 9.0.
Steps to reproduce: Visit <http://salon.com/> and wait for it to load
completely. Click the disabled-looking Stop button.
What happens: All animations stop.

What should happen:
* While the page is loading, the Stop button looks like a stop sign, enabled.
  Clicking it stops the loading, but does not stop the animations which have
  been loaded so far (if any).
* When the page finishes loading (or has been stopped from loading), if there
  are any animations in progress, the Stop button takes on the appearance of a
  stop sign overlaid with representations of images (e.g. the triangle, circle,
  and square of `Load Images' fame), to make clear that it has a slightly
  different purpose from the usual one of stopping loading. Clicking it stops
  the animations, restores the button it to its original appearance, and then
  disables it.

I strongly suggest this particular problem get fixed before any tweaks are made
to the details of exactly when the UI is notified about animations existing on
the page or whatever. With this fixed, at least, it will be a lot easier to QA
any other bugs relating to stopping animations.
QA Contact: elig → mpt
mcafee@netscape.com - is this patch still relevant? Is it worth checking in?

Gerv
Keywords: mozilla0.9
*** Bug 74828 has been marked as a duplicate of this bug. ***
renominating...
Keywords: nsbeta1, nsCatFood
Whiteboard: [dogfood-][nsbeta3-][NEED INFO] → [NEED INFO]
Target Milestone: Future → ---
(Reporter)

Comment 37

17 years ago
I suspect the recent regression is because libpr0n doesn't pay attention to the
pres context's animation state.  Pavlov has various bugs related to image
animation, though I didn't see one that explicitly covers the fact that the stop
button no longer works.  Agree with se's nomination -- we shouldn't ship with
this regression.

Updated

17 years ago
Keywords: nsbeta1 → nsbeta1-

Comment 38

17 years ago
*** Bug 76766 has been marked as a duplicate of this bug. ***
nav triage: the severity of this problem does not earn it an nsCatFood+ 
designation. reassigning to Pavlov as this is likely to have to be fixed in 
Image Lib code before it can surfaced in the UI. 
Assignee: mcafee → pavlov
Keywords: nsCatFood → nsCatFood-
Keywords: nsCatFood- → nsCatFood

Updated

17 years ago
Target Milestone: --- → mozilla0.9.3

Comment 40

17 years ago
removing patch and review since the patches here are obsolete.
Keywords: patch, review

Updated

17 years ago
Blocks: 81552

Updated

17 years ago
Depends on: 70030
*** Bug 85133 has been marked as a duplicate of this bug. ***

Comment 42

16 years ago
*** Bug 85425 has been marked as a duplicate of this bug. ***

Comment 43

16 years ago
The recent regression (pressing stop doesn't stop animations) is bug 70030.

Comment 44

16 years ago
-> 0.9.4
Target Milestone: mozilla0.9.3 → mozilla0.9.4

Updated

16 years ago
Target Milestone: mozilla0.9.4 → mozilla0.9.5

Updated

16 years ago
Target Milestone: mozilla0.9.5 → Future

Comment 45

16 years ago
Why not mark this bug duplicate of 70030?

Updated

15 years ago
Blocks: 119597

Comment 46

14 years ago
Not a dup, see comment 12.

Updated

14 years ago
Whiteboard: [NEED INFO] → Comment #12 explains the purpose of this bug
(Reporter)

Comment 47

13 years ago
Jesse says the regression (that pressing stop does not stop animations) is
covered by bug 70030, but that bug is Product Camino and all the comments say it
applies only to Camino.  Resummarizing this bug back to the original purpose.
Keywords: regression
Summary: UI doesn't update when animations stopped with stop button → Stop button should stop animations
Whiteboard: Comment #12 explains the purpose of this bug

Comment 48

13 years ago
*** Bug 163708 has been marked as a duplicate of this bug. ***

Updated

13 years ago
Blocks: 163708

Updated

13 years ago
Blocks: 256062

Comment 49

11 years ago
*** Bug 348214 has been marked as a duplicate of this bug. ***

Updated

10 years ago
Assignee: pavlov → nobody
QA Contact: mpt → imagelib

Comment 50

9 years ago
Does this bug report solely concern applets like Flash, or does it include animated GIFs as well?

Here is an animated GIF of a cat. 

http://farm4.static.flickr.com/3197/2852605918_85b6a44c08_o.gif

The Esc keyboard button stops the animation in current trunk builds. The "Stop" button on the toolbar is grayed out and does not work. The Esc button does not stop the animation of Flash applets. 

Is that sufficient to mark this bug as WFM?
Keywords: 4xp
Keywords: 4xp
(Reporter)

Comment 51

9 years ago
Andrew: if you read the comments, this bug has always applied to animated GIFs. Flash is a different issue (and there's a separate RFE on it somewhere).

Firefox folk might want to mark it WONTFIX but it's not WFM.

Updated

7 years ago
Duplicate of this bug: 256062

Comment 53

7 years ago
We now disable the stop button when the page is done loading, so this is no longer valid.
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → INVALID

Comment 54

7 years ago
Except, you could re-enable the stop button... How is this RFE INVALID? Maybe it's WONTFIX, but I'd let a module owner/peer make that call.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
The stop button is unrelated to the status of animated images, and that's the way it's going to stay.
Status: REOPENED → RESOLVED
Last Resolved: 7 years ago7 years ago
Resolution: --- → WONTFIX

Comment 56

7 years ago
That's more like it.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.