d54306da529f6918f79a9e43c5e0a61883cee453: Bug 1078122 part 3 - Move animation value building down to the Animation objects; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:46 +0900 - rev 211177
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1078122 part 3 - Move animation value building down to the Animation objects; r=dholbert This patch extracts the logic for calculating animation styles from AnimationPlayerCollection and puts the bulk of it into the Animation objects. Some of the initial logic surrounding the animation player state (e.g. is it paused or not, etc.) is put into AnimationPlayer. In future we may shift this logic even further down to the AnimationEffect objects but currently we don't create such objects unless necessary.
8f7dfd335493a888690487b643e7b496ab24a56b: Bug 1078122 part 2 - Encapsulate mIsRunningOnCompositor in AnimationPlayer; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:46 +0900 - rev 211176
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1078122 part 2 - Encapsulate mIsRunningOnCompositor in AnimationPlayer; r=dholbert
fe98ceaaafa7964c5eefd8ff13dbb87df04f5071: Bug 1078122 part 1 - Move checks for animation throttling to AnimationPlayer; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:45 +0900 - rev 211175
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1078122 part 1 - Move checks for animation throttling to AnimationPlayer; r=dholbert This patch moves code from AnimationPlayerCollection to AnimationPlayer. However, there is one subtle change in logic involved. Previously, we would test if the player had finished by getting the computed time of its source content and checking if it was in the after phase or not. In this patch, however, we simply check the play state to see if it is finished or not. These two approaches differ in the case where an animation is paused after it has finished. The animation phase approach will indicate the player has finished, but the play state approach will indicate the player has paused (since the "paused" state trumps the "finished" state). This, however, should not produce any observable effect because when an animation is paused mIsRunningOnCompositor will be false (we don't put paused animations on the compositor).
f6866bdaa73dcf0c26604b8c00bb9f8bc8af84c4: Bug 1078119 - Rename AnimationTimeline/AnimationPlayer GetCurrentTimeDuration; r=bz
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:45 +0900 - rev 211174
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1078119 - Rename AnimationTimeline/AnimationPlayer GetCurrentTimeDuration; r=bz This patch performs the following renaming: AnimationPlayer::GetCurrentTime -> GetCurrentTimeAsDouble AnimationPlayer::GetCurrentTimeDuration -> GetCurrentTime AnimationTimeline::GetCurrentTime -> GetCurrentTimeAsDouble AnimationTimeline::GetCurrentTimeDuration -> GetCurrentTime
3e5016be92f475efa67a98e67c6e42ccc52bec97: Bug 1037321 - Implement playState on AnimationPlayer; r=birtles, r=bz
David Zbarsky <dzbarsky@gmail.com> - Mon, 20 Oct 2014 13:55:45 +0900 - rev 211173
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1037321 - Implement playState on AnimationPlayer; r=birtles, r=bz
8e104207af9d99dab949103534239bd8b2d34d92: Bug 1070745 part 9 - Tests for play/pause behavior; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:45 +0900 - rev 211172
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 9 - Tests for play/pause behavior; r=dholbert
33635f1b4005efe3e0a507557b8af922e408e1ae: Bug 1070745 part 8 - Use play/pause from nsAnimationManager; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:44 +0900 - rev 211171
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 8 - Use play/pause from nsAnimationManager; r=dholbert This patch uses the PlayFromStyle/PauseFromStyle methods on CSSAnimationPlayer to perform play/pause control. (This allows us to encapsulate mHoldTime and mPaused. We will encapsulate mStartTime etc. in subsequent bugs. The override behavior of play()/pause() with regard to animation-play-state is: * pause()/play() override the current animation-play-state * pause() causes the player to remain paused until play() is called regardless of changes to animation-play-state (* Calling play() will override the animation-play-state but won't "stick". i.e. subsequently setting animation-play-state: paused will pause the animation.) These different permutations are tested in the next patch in this series. This interaction will probably become more complicated once we introduce finishing behavior (since we might not want animations to restart when setting animation-play-state: running).
8d9236ef0f6be2d9111beb226b92d64858c42ab3: Bug 1070745 part 7 - Add style flush at the beginning of Play(); r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:44 +0900 - rev 211170
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 7 - Add style flush at the beginning of Play(); r=dholbert For players running CSS animations and CSS transitions we should perform a style flush before running play() so that we are operating on the most up-to-date state of animation-play-state. For transitions, which don't have a play-state property, we will still need to run this style flush before running play() to get the right finishing behavior if transition-duration has changed. We haven't implemented finishing yet (that's bug 1074630) but I've kept the flush for both cases now since I'm afraid we'll forget it later. Also, since we don't have a subclass of AnimationPlayer for transitions yet I've put the style flush in the base class. In future, when we add CSSTransitionPlayer we can move the flush to only those players that need up to date style information.
445a34c37d9508ab2a9cf8fb7ee59d691eb0c0dc: Bug 1070745 part 6 - Add means of marking a CSSAnimationPlayer as being paused by style; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:44 +0900 - rev 211169
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 6 - Add means of marking a CSSAnimationPlayer as being paused by style; r=dholbert When an animation player is paused by script this overrides whatever animation-play-state is set by style. The logic for producing the correct override behavior will be added to nsAnimationManager but first we need to record in the player where it was paused.
8a082e5bb4c3d07c5d5c25caf233645be59ab566: Bug 1070745 part 5 - Add CSSAnimationPlayer subclass; r=dholbert
David Zbarsky <dzbarsky@gmail.com> - Mon, 20 Oct 2014 13:55:44 +0900 - rev 211168
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 5 - Add CSSAnimationPlayer subclass; r=dholbert This patch introduces a CSSAnimationPlayer subclass of AnimationPlayer. This is because when we have an animation player running a CSS animation it has some special behavior not needed in the general case such as: * Flushing style before performing certain operations to ensure we are using the latest information. * Dispatching CSS Animation events when we start/end. * Storing extra state with regards to "how" the animation was paused. This is because, for example, if an animation is paused by script this overrides specified style.
e279fb6525b8c404b88edc36c7b50ce6535216f2: Bug 1070745 part 4 - Add AnimationPlayer::Play and AnimationPlayer::Pause; r=dholbert
David Zbarsky <dzbarsky@gmail.com> - Mon, 20 Oct 2014 13:55:43 +0900 - rev 211167
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 4 - Add AnimationPlayer::Play and AnimationPlayer::Pause; r=dholbert This patch introduces the basic implementation of play() and pause(). There are a lot of gaps still because we don't yet: * Support the pending state (to be covered in bug 927349) * Support finishing behavior (to be covered in bug 1074630) * Have a good way of updating animation state outside of style resolution (bug 1073336) Also, we don't call these methods from CSS yet because the interaction between play()/pause() and animation-play-state requires storing some extra state which we introduce in subsequent patches in this series. This patch introduces, temporarily, an update flag to indicate whether play()/pause() operations need to post a restyle event. When these methods are triggered by processing restyles we don't want to post another (unnecessary) restyle event. In bug 1073336 we will remove the need for this.
5a78f9e22770e8fc382e9d3d4405bc8ce30c0dcf: Bug 1070745 part 3 - Convert AnimationPlayer mPlayState to an mPaused bool; r=birtles
David Zbarsky <dzbarsky@gmail.com> - Mon, 20 Oct 2014 13:55:43 +0900 - rev 211166
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 3 - Convert AnimationPlayer mPlayState to an mPaused bool; r=birtles We only need to store if an animation is paused or not, hence a bool is sufficient. Furthermore, the convenience of using the same type as the specified style of animation-play-state will disappear once pausing behavior is wrapped up behind Play() and Pause() methods.
00ec97d72ebf458668ffe0a5ffba8073265ee02b: Bug 1070745 part 2 - Update AnimationPlayer IDL to enable play() and pause(); r=bz
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:43 +0900 - rev 211165
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 2 - Update AnimationPlayer IDL to enable play() and pause(); r=bz We map play()/pause() to PlayFromJS/PauseFromJS internally so that internal users don't accidentally call Play()/Pause() which flush style.
496e867cd2cd35bcac1adcae618273ddcf137c1d: Bug 1070745 part 1 - Factor out new_div etc. to animation_utils.js; r=dholbert
Brian Birtles <birtles@gmail.com> - Mon, 20 Oct 2014 13:55:43 +0900 - rev 211164
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1070745 part 1 - Factor out new_div etc. to animation_utils.js; r=dholbert We use new_div, check_events etc. in a number of animation-related mochitests and with this bug we'll want to use them in a few more. This patch factors them out into animation_utils.js and tidies them up a little.
bcb2a8673c201b80735153b7216ae2a425f29838: Back out changeset 197317c196cf (bug 1077301) for apparently breaking component alpha on some Windows variants (perhaps those without accelerated layers backends).
L. David Baron <dbaron@dbaron.org> - Mon, 20 Oct 2014 00:23:46 -0400 - rev 211163
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Back out changeset 197317c196cf (bug 1077301) for apparently breaking component alpha on some Windows variants (perhaps those without accelerated layers backends).
983af7fa41f5293e39554d771e990e6aaa3ba463: Bug 1083461 - Convert nsCSSValue{,Pair}List::operator== back to a static Equal method so that it can be validly called on null pointers. r=bzbarsky
L. David Baron <dbaron@dbaron.org> - Sun, 19 Oct 2014 23:31:39 -0400 - rev 211162
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1083461 - Convert nsCSSValue{,Pair}List::operator== back to a static Equal method so that it can be validly called on null pointers. r=bzbarsky
6f5ba08ca1b9dd67f61e630241832990860ef170: Bug 1083591 followup. Remove not-yet-implemented stringifier.
Boris Zbarsky <bzbarsky@mit.edu> - Sun, 19 Oct 2014 22:55:08 -0400 - rev 211161
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1083591 followup. Remove not-yet-implemented stringifier.
652e8de626d23cc31eb5d0801b305faee49ac4c4: Bug 1083950. Add a way to get the promises that depend on a given promise via PromiseDebugging. r=nsm
Boris Zbarsky <bzbarsky@mit.edu> - Sun, 19 Oct 2014 22:27:36 -0400 - rev 211160
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1083950. Add a way to get the promises that depend on a given promise via PromiseDebugging. r=nsm
68942e4d2ddf3c9eca8770949ba56a2d547f38e3: Bug 1083851 part 4. Expose promise stacks on PromiseDebugging.
Boris Zbarsky <bzbarsky@mit.edu> - Sun, 19 Oct 2014 22:27:12 -0400 - rev 211159
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1083851 part 4. Expose promise stacks on PromiseDebugging.
49b03421e1cf56d37db28bca6a0c818101d75ab5: Bug 1083851 part 3. Capture stacks at promise fulfillment time. r=nsm
Boris Zbarsky <bzbarsky@mit.edu> - Sun, 19 Oct 2014 22:27:12 -0400 - rev 211158
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1083851 part 3. Capture stacks at promise fulfillment time. r=nsm
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip