Commit Graph

216 Commits

Author SHA1 Message Date
Brian Birtles
5f8854b4e5 Bug 1109390 part 15 - Update AnimationPlayer::SetCurrentTime to cancel any pending pause tasks; r=jwatt 2015-03-27 15:56:45 +09:00
Brian Birtles
9343eb6087 Bug 1109390 part 14 - Update AnimationPlayer::DoPlay to re-use the ready promise appropriately; r=jwatt 2015-03-27 15:56:45 +09:00
Brian Birtles
6f6b445e26 Bug 1109390 part 13 - Cancel pending pauses as well as pending plays; r=jwatt
This patch simply updates the method that cancels pending plays to also cancel
pending pauses. As it stands, for some of places where this is called it might
not be appropriate to cancel pending pauses but we will adjust each of these
call sites one-by-one in subsequent patches in this series.
2015-03-27 15:56:45 +09:00
Brian Birtles
48876aabca Bug 1109390 part 12 - Update IsPaused to handle pause-pending players as well; r=jwatt
IsPaused is used in nsAnimationManager to detect if a newly created animation
should be paused. It is also used inside AnimationPlayer::IsRunning which is
used to determine what animations to send to the compositor (we don't send
paused animations to the compositor). In all these cases we want to treat paused
animations and pause-pending animations alike.

This patch updates IsPaused to include also pause-pending animations. At the
same time it renames IsPaused to IsPausedOrPausing to reflect the change in
behavior.

This patch also adjusts a few nearby one-line functions to put the opening brace
on a new line since apparently this is what the coding style says to do.
2015-03-27 15:56:45 +09:00
Brian Birtles
dac04008f3 Bug 1109390 part 11 - Make IsPossiblyOrphanedPendingPlayer deal with pause-pending players too; r=jwatt 2015-03-27 15:56:45 +09:00
Brian Birtles
ad1d94152f Bug 1109390 part 10 - Add an enum to AnimationPlayer to represent if we are pause-pending or play-pending; r=jwatt 2015-03-27 15:56:45 +09:00
Brian Birtles
b79fa30ddf Bug 1109390 part 9 - Call Trigger* on pause-pending players; r=jwatt
This won't actually do anything yet because:
(a) We don't yet add pause-pending players to the PendingPlayerTracker
(b) We never mark pausing players as pending so
    AnimationPlayer::TriggerOnNextTick will just ignore them.
2015-03-27 15:56:45 +09:00
Brian Birtles
ea73c31149 Bug 1109390 part 8 - Rename Start* methods in AnimationPlayer to Trigger*; r=jwatt 2015-03-27 15:56:45 +09:00
Brian Birtles
f49ade3807 Bug 1109390 part 7 - Rename PendingPlayerTracker's Start* methods to Trigger*; r=jwatt
These methods will soon be used to start animations that are waiting to start
and also to finish pausing animations that are waiting to pause. As a result
we rename them to TriggerXXX since that's a bit more generic.

There are still references to StartXXX within PendingPlayerTracker. These will
be updated in a subsequent patch once we have the appropriate methods available
on AnimationPlayer to call.
2015-03-27 15:56:45 +09:00
Brian Birtles
030dcb3a08 Bug 1109390 part 6 - Generalize PendingPlayerTracker to support pausing as well; r=jwatt
This patch extends the PendingPlayerTracker which is currently used to record
which animations are waiting to play, such that it can also handle animations
which are waiting to complete a pause operation.

It doesn't yet do anything with the pause-pending animations, that will come
in another patch.
2015-03-27 15:56:45 +09:00
Brian Birtles
c9c21cdcde Bug 1109390 part 5 - Adjust tests to better handle asynchronous pausing; r=jwatt
A number of animation tests assume that pausing happens instantaneously. This
patch adjust many of those tests so that they will continue to work when
pausing happens asynchronously. In many cases this is possible because we
know the ready promise on AnimationPlayer (soon to be Animation) objects will
be resolved so we can wait on it and it will resolve immediately now, but when
asynchronous pausing is introduced the test the promise won't resolve until
after the pause operation is complete.

There are some tests that can't be so easily adjusted and we will have to fix
these at the same time as we turn on async pausing. However, taking care of
this set of tests now should reduce the size of subsequent patches in this
series.
2015-03-27 15:56:44 +09:00
Mason Chang
fb9a78d6a7 Bug 1145327 Part 2: Add test to ensure requestAnimationFrame callback timestamps always go forward in time. r=birtles,dholbert 2015-03-24 14:28:34 -07:00
Brian Birtles
66d495ebed Bug 1109390 part 3 - Clear the start time when playing a player; r=jwatt
This brings us into line with the algorithm in:

  https://w3c.github.io/web-animations/#play-an-animation

which makes the other patches in this series easier to compare with
the specification.
2015-03-24 09:21:08 +09:00
Brian Birtles
988502d879 Bug 1109390 part 2 - Remove some unneeded startTime tests; r=jwatt
Now that we have separate tests for checking the initial state of startTime we
can remove these checks from tests for setting the startTime.

Also, while we're at it, we needn't check the playState and animationPlayState
since these should be covered by other tests.
2015-03-24 09:21:08 +09:00
Brian Birtles
1ce079cb8a Bug 1109390 part 1 - Add tests for getting the startTime; r=jwatt 2015-03-24 09:21:07 +09:00
Cameron McCormack
ddd583144e Bug 1145912 - Make single_transition_reversed and multiple_transitions more robust. r=birtles 2015-03-23 13:07:25 +11:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Jonathan Watt
6c6485bc12 Bug 1127380, part 1 - Initial implementation of AnimationPlayer.playbackRate. r=birtles, r=smaug 2015-03-13 20:10:45 +00:00
L. David Baron
1f6efa245f Bug 1125455 patch 5 - Add Animation::GetAnimationOfProperty. r=birtles
This is needed for patch 6.
2015-03-19 21:10:00 -07:00
L. David Baron
8a2f72aac3 Bug 1125455 patch 4 - For main-thread application of transitions, don't apply transitions when animations are also running. r=birtles
I've verified locally that this patch (not others in this series) fixes
the test failures that match the test changes in this patch.
2015-03-19 21:10:00 -07:00
L. David Baron
a5ee40fbdb Bug 1125455 patch 1 - Add boolean for whether an animation of a property wins in the CSS cascade. r=birtles 2015-03-19 21:10:00 -07:00
Boris Zbarsky
54c64f20a9 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Carsten "Tomcat" Book
6e003c58ac Backed out 7 changesets (bug 1125455) for test failures in m1 test_animation-player-ready.html on a CLOSED TREE
Backed out changeset 8a316064caff (bug 1125455)
Backed out changeset ad326dbcbd03 (bug 1125455)
Backed out changeset 83dab9578e23 (bug 1125455)
Backed out changeset 5bd86c20cd02 (bug 1125455)
Backed out changeset 751177025dcb (bug 1125455)
Backed out changeset f60c5b4adf84 (bug 1125455)
Backed out changeset 326ef9a86c85 (bug 1125455)
2015-03-18 16:32:54 +01:00
L. David Baron
3e2494f4df Bug 1125455 patch 5 - Add Animation::GetAnimationOfProperty. r=birtles
This is needed for patch 6.
2015-03-18 07:35:30 -07:00
L. David Baron
5358120a91 Bug 1125455 patch 4 - For main-thread application of transitions, don't apply transitions when animations are also running. r=birtles
I've verified locally that this patch (not others in this series) fixes
the test failures that match the test changes in this patch.
2015-03-18 07:35:30 -07:00
L. David Baron
8e1348b0d3 Bug 1125455 patch 1 - Add boolean for whether an animation of a property wins in the CSS cascade. r=birtles 2015-03-18 07:35:29 -07:00
Brian Birtles
f4eb0d1e0e Bug 1113425 part 4 - Enable test_deferred_start.html on all platforms; r=mattwoodrow 2015-03-17 18:38:12 +09:00
Brian Birtles
7aa293cc60 Bug 1113425 part 3 - Make test_deferred_start.html wait an extra frame; r=mattwoodrow
This is needed to avoid intermittent failures on Mulet and B2G ICS Emulator.
2015-03-17 18:38:12 +09:00
Brian Birtles
53ce82696c Bug 1113425 part 1 - Fix some bad CSS comment syntax in animation tests; r=mattwoodrow 2015-03-17 18:38:12 +09:00
Cameron McCormack
ce5ca47f03 Bug 1143314 - Don't use very short transition/animation durations in test_animation_observers.html. r=birtles 2015-03-17 17:13:20 +11:00
L. David Baron
74fc0a1a2f Bug 1143314 - Temporary disable two tests that are frequently failing intermittently, added about 12 hours ago in bug 1123523, on a CLOSED TREE. 2015-03-14 10:20:27 -07:00
Cameron McCormack
cd30c2a11c Bug 1123523 - Part 10: Tests. r=birtles 2015-03-14 16:34:40 +11:00
Cameron McCormack
b1bdb8cb74 Bug 1123523 - Part 9: Dispatch an nsIAnimationObserver notification when an animation is changed. r=birtles 2015-03-14 16:34:40 +11:00
Cameron McCormack
2a986b6693 Bug 1123523 - Part 8: Dispatch nsIAnimationObserver notifications when an animation is added or removed. r=birtles 2015-03-14 16:34:40 +11:00
Cameron McCormack
f984425c1b Bug 1123523 - Part 3: Store a flag on AnimationPlayer for whether it is exposed by Element.getAnimationPlayers(). r=birtles 2015-03-14 16:34:40 +11:00
Jonathan Griffin
84011a87cc Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown 2015-02-06 16:30:37 -08:00
Jonathan Watt
9d33a8384f Bug 1072037, part 2 - Tests for the effect of setting CSS animation's AnimationPlayer.currentTime. r=birtles 2015-03-09 16:50:39 +00:00
Jonathan Watt
c62d48ac37 Bug 1072037, part 1 - Implement web-animations proceedure to 'set the current time' and make AnimationPlayer.startTime writeable. r=birtles, r=smaug 2015-03-09 16:50:39 +00:00
Jonathan Watt
1822211dce Bug 1070744 - Backout c482c88b0393 and c5d5202c3d72 for being attributed to this bug instead of bug 1072037. r=me, and faking r=smaug since backout 2015-03-11 15:28:07 +00:00
Jonathan Watt
85c49511db Bug 1070744, part 2 - Tests for the effect of setting CSS animation's AnimationPlayer.currentTime. r=birtles 2015-03-09 16:50:39 +00:00
Jonathan Watt
96700a424d Bug 1070744, part 1 - Implement web-animations proceedure to 'set the current time' and make AnimationPlayer.startTime writeable. r=birtles, r=smaug 2015-03-09 16:50:39 +00:00
Jonathan Watt
7e12de63f2 Bug 1073379, part 7 - Tests for the effect of setting a CSS transition's AnimationPlayer.startTime. r=birtles 2015-03-06 15:23:17 +00:00
Jonathan Watt
c7a4a7b9b9 Bug 1141710, part 14 - Get rid of the checks at 90% through the active duration. r=birtles 2015-03-05 13:07:20 +00:00
Jonathan Watt
fcb7af2351 Bug 1141710, part 13 - Wrap all lines at the 80 column mark. r=birtles 2015-03-05 13:07:19 +00:00
Jonathan Watt
3bdf83e922 Bug 1141710, part 12 - Check that the hold time is updated when the startTime is set to null. r=birtles 2015-03-11 07:19:44 +00:00
Jonathan Watt
6d202fc508 Bug 1141710, part 11 - Assert that seeking over the before and active phases worked. r=birtles 2015-03-05 13:07:19 +00:00
Jonathan Watt
7584cf47e1 Bug 1141710, part 10 - Update some assertion text and comments. r=birtles 2015-03-05 13:07:19 +00:00
Jonathan Watt
a6a951afdf Bug 1141710, part 9 - Get the timeline from the player instead of from the document. r=dholbert 2015-03-04 02:49:44 +00:00
Jonathan Watt
0434f76e45 Bug 1141710, part 8 - Create helpers to get the startTime corresponding to various points through the active duration. r=dholbert 2015-03-04 02:49:43 +00:00
Jonathan Watt
90dbf963b4 Bug 1141710, part 7 - Store the generated 'animation' property string in a global constant and reuse that constant. r=dholbert 2015-03-04 02:49:43 +00:00