Граф коммитов

389 Коммитов

Автор SHA1 Сообщение Дата
Mantaroh Yoshinaga cf59836bae Bug 1287983 part 6 - Integrate ElapsedTimeToTimeStamp function to the Animation class. r=birtles
MozReview-Commit-ID: 43AGaTYQoqn

--HG--
extra : rebase_source : 728380db2c6f3e035d05b6c746d2c0f08a1369b7
2016-10-19 15:16:52 +09:00
Mantaroh Yoshinaga ed9cb5c860 Bug 1287983 part 5 - Clarify the function name of creating transition. r=hiro
MozReview-Commit-ID: AW5qD8uBQxf

--HG--
extra : rebase_source : 5cc8b81bec1db0b40b420bc539f03f6307879cb0
2016-10-19 15:16:52 +09:00
Mantaroh Yoshinaga b4aef51ba4 Bug 1287983 part 2 - Add transitionstart/transitionrun event handling. r=birtles
The specification of CSS-Transition event  is as follow:
https://drafts.csswg.org/css-transitions-2/#transition-events

MozReview-Commit-ID: CWgsRRLhnXp

--HG--
extra : rebase_source : 5687d30293c1a5dd2c8dd52b1a77d2b2b3e171a4
2016-10-19 15:16:51 +09:00
Hiroyuki Ikezoe cd7de4361f Bug 1304922 - Part 11: Don't use StyleAnimationValue after moving it. r=birtles
MozReview-Commit-ID: A4h270gOPOR

--HG--
extra : rebase_source : 8a578886f6d97a9811ae5dbc72bb43a5ecbc4473
2016-10-05 14:58:07 +09:00
Nicholas Nethercote b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Boris Chiou 7b026ef179 Bug 1049975 - Part 9: Implement writable Animation effect. r=birtles
MozReview-Commit-ID: 1dwHpcYJto3

--HG--
extra : rebase_source : 0dba49f8e12c5ed9d3214744a186b8fe6923f48e
2016-07-13 18:44:19 +08:00
Boris Chiou 36ebd2df08 Bug 1049975 - Part 7: Add SetEffectNoUpdate. r=birtles
Use SetEffectNoUpdate() for the procedure of setting effect, and let SetEffect()
also calls PostUpdate(), so we can use SetEffectNoUpdate() if we don't want to
call RequestRestyle(RestyleType::layer).

MozReview-Commit-ID: CaWA34UebpH

--HG--
extra : rebase_source : d29f5ddc0b8e069293a4a69f0e821786a2c5a84a
2016-08-24 14:36:14 +08:00
Boris Chiou 623caf07af Bug 1049975 - Part 4: Merge two Animation::SetEffect()s. r=birtles
This is a pre-patch for part 5, which is trying to make our code closer to the
spec. Some methods in KeyframeEffectReadOnly belong to AnimationEffectReadOnly,
so first, use AsKeyframeEffect() to access those keyframe-related methods, and
then add virtual methods for timing-related methods to AnimationEffectReadOnly.

MozReview-Commit-ID: 1srA1f8JYeN

--HG--
extra : rebase_source : 99a06e20a63b9c8b179fa8501690abf01271aaf4
2016-07-25 16:56:34 +08:00
Boris Chiou f4a21de35a Bug 1049975 - Part 3: Handle removed/replaced effect for CSS Transition. r=birtles
Add mTransitionProperty and mTransitionToValue into CSSTransition, so we can
retrieve the original property and ToValue after setting a different effect.

MozReview-Commit-ID: 6sBGHkPAhGX

--HG--
extra : rebase_source : 2b209bb5cd5513899774025e18fc39d5b8268846
2016-07-28 11:20:13 +08:00
Ryan VanderMeulen 01c4e8cc1b Merge inbound to m-c. a=merge 2016-08-19 09:52:53 -04:00
Cameron McCormack d6d90e9bb0 Bug 1295852 - Part 5: Check for generated content containers more precisely in nsTransitionManager assertion. r=boris
MozReview-Commit-ID: 3GNdT8ubKDb

--HG--
extra : rebase_source : b2507e5a084a2a351e78522f64231b63b22ccdf4
2016-08-19 11:46:46 +08:00
Jonathan Chan b35975ec17 Bug 1293739 - Part 2: Rename nsCSSPropertySet to nsCSSPropertyIDSet. r=dholbert
The previous patch in this series renamed nsCSSProperty to nsCSSPropertyID.
This patch renames nsCSSPropertySet to nsCSSPropertyIDSet accordingly.

This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSPropertySet\b/nsCSSPropertyIDSet/g' -i''

Then:

  hg mv layout/style/nsCSSPropertySet.h layout/style/nsCSSPropertyIDSet.h

... and finally, manually renaming nsCSSPropertySet in the include guard in
nsCSSPropertyIDSet.h.

(NOTE: Re-landing this patch on a CLOSED TREE to correctly-address the merge bustage that closed the tree.)

MozReview-Commit-ID: ASUNs7FWbKP

--HG--
rename : layout/style/nsCSSPropertySet.h => layout/style/nsCSSPropertyIDSet.h
2016-08-16 18:46:58 -07:00
Jonathan Chan 4b87f11bd9 Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-16 18:37:48 -07:00
Gregory Szorc 1794619188 Backed out changesets dcdb85fc5517, 702bca0deee2, 9cKX8gC1ATA (bug 1293739) for build bustage; a=bustage
The merge from inbound to central conflicted with the merge from
autoland to central, it appears. Per tree rules, the commit from the
autoland repo wins and the inbound commit gets backed out.

CLOSED TREE

--HG--
extra : amend_source : 927e1cdfa8e55ccbd873d404d905caf6871c8c4f
extra : histedit_source : 07095868c3f767258e1d7d2645193bf4811b13bb%2Ca49ae5a28bf6e67298b6208ee9254c25a2539712
2016-08-16 17:50:40 -07:00
Wes Kocher 48b8d407c8 Merge inbound to central, a=merge
a=release to get around the webidl hook for a comment-only change

--HG--
extra : amend_source : f7e57101e1a25d3cf3536a256898ec2a21c54b38
2016-08-16 17:05:30 -07:00
Daisuke Akatsuka 095d7039ae Bug 1277433 - Part 1: Use discrete animation for appropriate CSS Alignment properties. r=dholbert,heycam
MozReview-Commit-ID: BHtzuwJOuB5

--HG--
extra : rebase_source : 975720e6ce68743ab8915a62f8f8cda48ee69340
2016-08-16 14:29:21 +09:00
Jonathan Chan 4ffd49c097 Bug 1293739 - Part 2: Rename nsCSSPropertySet to nsCSSPropertyIDSet. r=dholbert
The previous patch in this series renamed nsCSSProperty to nsCSSPropertyID.
This patch renames nsCSSPropertySet to nsCSSPropertyIDSet accordingly.

This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSPropertySet\b/nsCSSPropertyIDSet/g' -i''

Then:

  hg mv layout/style/nsCSSPropertySet.h layout/style/nsCSSPropertyIDSet.h

... and finally, manually renaming nsCSSPropertySet in the include guard in
nsCSSPropertyIDSet.h.

MozReview-Commit-ID: ASUNs7FWbKP

--HG--
rename : layout/style/nsCSSPropertySet.h => layout/style/nsCSSPropertyIDSet.h
2016-08-09 16:28:21 -07:00
Jonathan Chan 9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00
Brian Birtles 4bf632c00c Bug 1286476 part 2 - Respect the playback rate when calculating phase boundaries; r=hiro
This implements the spec change in 21de090dac

The spec change refers to a binary 'animation direction' flag. Instead of that,
however, we just pass the playback rate along and use it inside
GetComputedTimingAt since this seems simpler.

Also, this patch moves the implementation of
KeyframeEffectReadOnly::GetComputedTiming from the header file into the .cpp
file. This is because with this change, GetComputedTiming needs to call
mAnimation->PlaybackRate() and so mozilla::dom::Animation needs to be a complete
type. However, simply including Animation.h doesn't work because of a cyclic
dependency between KeyframeEffect.h and Animation.h. We might be able to fix
this later but since yet-to-land bug 1049975 moves this code around a lot, I'd
rather not touch it too much just now.

MozReview-Commit-ID: 1h6XRh4xmfI
2016-08-17 08:28:41 +09:00
Wes Kocher b7ea1393f2 Backed out 3 changesets (bug 1286476) for frequent windows wpt failures in phases-and-states.html CLOSED TREE
Backed out changeset 53bbfa02d45d (bug 1286476)
Backed out changeset 3947ab570883 (bug 1286476)
Backed out changeset ffd8c37eb695 (bug 1286476)
2016-08-17 10:41:46 -07:00
Wes Kocher c84ec3b3f3 Merge m-c to inbound, a=merge 2016-08-16 22:06:58 -07:00
Brian Birtles eac25e3163 Bug 1286476 part 2 - Respect the playback rate when calculating phase boundaries; r=hiro
This implements the spec change in 21de090dac

The spec change refers to a binary 'animation direction' flag. Instead of that,
however, we just pass the playback rate along and use it inside
GetComputedTimingAt since this seems simpler.

Also, this patch moves the implementation of
KeyframeEffectReadOnly::GetComputedTiming from the header file into the .cpp
file. This is because with this change, GetComputedTiming needs to call
mAnimation->PlaybackRate() and so mozilla::dom::Animation needs to be a complete
type. However, simply including Animation.h doesn't work because of a cyclic
dependency between KeyframeEffect.h and Animation.h. We might be able to fix
this later but since yet-to-land bug 1049975 moves this code around a lot, I'd
rather not touch it too much just now.

MozReview-Commit-ID: 1h6XRh4xmfI
2016-08-17 08:28:41 +09:00
Hiroyuki Ikezoe 2b220f490f Bug 1285407 - Part 3: Remove UpdateCascadeResults call because it's called against the same nsStyleContext from MaybeUpdateAnimationRule. r=birtles
MozReview-Commit-ID: FrrFLq9S2f4

--HG--
extra : rebase_source : 20d9329b0b801fa78cf8889f404a6cc0ac011a69
2016-07-11 17:28:17 +09:00
Hiroyuki Ikezoe 495f6aae06 Bug 1285407 - Part 1: Pass a newly created nsStyleContext to GetAnimationRule and MaybeUpdateAnimationRule. r=birtles
While resolving style context, the primary frame of the target element
has previous style context so if we don't pass the newly created nsStyleContext,
UpdateCascadeResults uses the previous style to get overridden properties, it
will result unexpected cascading results.

MozReview-Commit-ID: osqXQlP43X

--HG--
extra : rebase_source : 1b34f9245367c2613807156559f09f5f2943458c
2016-07-11 17:28:14 +09:00
Jonathan Chan 1a5bdaf720 Bug 1285365 - Part 2: Add missing includes and namespace qualifiers. r=dholbert
MozReview-Commit-ID: 5vDmc1yGe1P

--HG--
extra : rebase_source : 32900ffc0d09943f85bbe5c289f2ce6cede20c47
2016-07-07 14:05:28 -07:00
Boris Chiou c55ea50fab Bug 1244590 - Part 1: Introduce KeyframeEffectParams. r=birtles
Add a new file, KeyframeEffectParams.h, and define the basic data
members nsString for the spacing mode.
Also, add one more argument, const KeyframeEffectParams&, to the
constructors of KeyframeEffect(ReadOnly).

MozReview-Commit-ID: I7LYlnv6LLb

--HG--
extra : rebase_source : 9aebb7b9659588674c2a954eb2ce62c827bc9830
2016-05-05 15:41:03 +08:00
Hiroyuki Ikezoe 0fd4b861ca Bug 1278430 - Update the first keyframe value as well as property value when replacing transition. r=birtles
MozReview-Commit-ID: teNZdJdKoy

--HG--
extra : rebase_source : 88589ef8cea26e86c43eb9fa4c403a3cad17f09b
2016-06-08 06:25:46 +09:00
Mantaroh Yoshinaga dc5df46a62 Bug 1178662 part 3 - Separate SetTimeline function in order to call from style. r=birtles
MozReview-Commit-ID: 9KbsbPuAMW7

--HG--
extra : rebase_source : 873b35cf4dccc4d7fd604894dd2b97ad40b8a1fa
2016-05-31 09:42:37 +09:00
Hiroyuki Ikezoe 46a6c883c6 Bug 1167519 - Part 1: Calculate plausible starting value on compositor with TimeStamp::Now() when replacing an old transtion. r=birtles
Transitions on the compositor sometimes go further ahead while the
main-thread is busy.  When the transition on the compositor is replaced by a
new one, until now we calculate the current position of the old one with the
most recent refresh time.  But if the replace is done on a busy frame, the
calculated position will be far from the real position on the compositor.
As a result, we can see jumping transitions after busy frames.
To mitigate this issue, we should calculate a plausible current position of
the old one with the current time just before sending the new transition to
the compositor, i.e., after all JS callback works have done.
The plausible value is stored into KeyframeEffectReadOnly::mProperties, not
into mKeyframes.  If we store the value into keyframes,
KeyframeEffectReadOnly::GetKeyframes() will return a different values after
busy frames.
Note that with this patch getComputedStyle() does not return the plausible
value because this patch does not affect styling process. getComputedStyle
issue will be fixed in bug 1273834.

MozReview-Commit-ID: B85kIx6qeyy

--HG--
extra : rebase_source : d19fd18a78bc1ce7820301f2b98832f0ba3dcd8e
2016-05-25 05:51:57 +09:00
Hiroyuki Ikezoe e5147036e7 Bug 1166500 - Part 5: Remove some AreAsyncAnimationsEnabled checks. r=dbaron
Now we can throttle some sort of animations which run on the main thread
as well as animations on the compositor. So, AreAsyncAnimationsEnabled checks
should be removed.

The check in PresShell::HandleEvent might be replaced with checking
nsIDocument::mNeedStyleFlush, but I am not sure.
2016-05-24 12:57:42 +09:00
Brian Birtles 90fb66a530 Bug 1271904 - Rename KeyframeEffectReadOnly.getFrames() and KeyframeEffect.setFrames() to getKeyframes()/setKeyframes(); r=hiro, r=smaug
MozReview-Commit-ID: GwLLY39l1KE

--HG--
rename : dom/animation/test/css-animations/file_keyframeeffect-getframes.html => dom/animation/test/css-animations/file_keyframeeffect-getkeyframes.html
rename : dom/animation/test/css-animations/test_keyframeeffect-getframes.html => dom/animation/test/css-animations/test_keyframeeffect-getkeyframes.html
rename : dom/animation/test/css-transitions/file_keyframeeffect-getframes.html => dom/animation/test/css-transitions/file_keyframeeffect-getkeyframes.html
rename : dom/animation/test/css-transitions/test_keyframeeffect-getframes.html => dom/animation/test/css-transitions/test_keyframeeffect-getkeyframes.html
rename : testing/web-platform/meta/web-animations/keyframe-effect/setFrames.html.ini => testing/web-platform/meta/web-animations/keyframe-effect/setKeyframes.html.ini
rename : testing/web-platform/tests/web-animations/keyframe-effect/setFrames.html => testing/web-platform/tests/web-animations/keyframe-effect/setKeyframes.html
2016-05-13 09:40:52 +09:00
Hiroyuki Ikezoe 64599f507d Bug 1223658 - Part 1: Drop ExtractComputedValueForTransition. r=birtles,dholbert
MozReview-Commit-ID: I4SMwcv30YL
2016-05-10 18:39:37 +09:00
Xidorn Quan fa7ba2cb82 Bug 1269975 part 1 - Move nsCSSProps::EnabledState to a top level enum class mozilla::CSSEnabledState. r=heycam
MozReview-Commit-ID: 3KH5cqDFzUI

--HG--
extra : rebase_source : 3c8355f7807982152a16a913b31cbcdd6ef78030
extra : source : 73e89d25a34ca5587f306b848b0b801342f9432f
2016-05-10 18:44:05 +10:00
Ryan VanderMeulen f514ed495c Backed out 4 changesets (bug 1269975) for bustage.
Backed out changeset a55ecedea260 (bug 1269975)
Backed out changeset 5321545b938c (bug 1269975)
Backed out changeset 7e4a2ee61ef3 (bug 1269975)
Backed out changeset d181f8e7e4c3 (bug 1269975)
2016-05-10 00:08:54 -04:00
Xidorn Quan 30a6d76b26 Bug 1269975 part 1 - Move nsCSSProps::EnabledState to a top level enum class mozilla::CSSEnabledState. r=heycam
MozReview-Commit-ID: 3KH5cqDFzUI

--HG--
extra : source : 73e89d25a34ca5587f306b848b0b801342f9432f
2016-05-10 13:36:25 +10:00
Boris Chiou 44367b12f2 Bug 1067769 - Part 12: Use Maybe<OwningAnimationTarget> in KeyframeEffect(ReadOnly) constructors. r=birtles
MozReview-Commit-ID: Euv76D6sIFX

--HG--
extra : rebase_source : 7ef6e5d70104942b21671e2143c107e678f400a7
2016-04-28 23:22:44 +08:00
Brian Birtles 825d83d3fc Bug 1265611 - Don't trigger transitions for properties that are disabled; r=heycam
Currently if we have transition-property: 'all' and trigger a transition
on the 'color' property we will end up generating a transition on
-webkit-text-fill-color even if that property is disabled.

However, when we later call StyleAnimationValue::ToValue() in
nsTransitionManager::UpdateTransitions() to see if there are any transitions we
need to cancel, the comparison for currentValue != anim->ToValue() will pass
(since, as of the first patch in this patch series, ToValue() returns a null
value) so we end up cancelling the transition as soon as we create it).

Nevertheless, we will still trigger the warning introduced in the first patch
in this series when we call ToValue().

This patch stops us from creating transitions in the first place (and hence
triggering the warning). It also removes the code that suppresses transition
events for transitions on disabled properties since we should no longer be
generating such transitions in the first place (unless the pref is switched
while the transition is in motion which is probably not worth worrying about).

Note that we only test if the property is enabled for all content. This is
consistent with what we do throughout animation code including the existing
code in nsTransitionManager which iterates through shorthand sub-properties
using CSSPROPS_FOR_SHORTHAND_SUBPROPERTIES with the flag
nsCSSProps::eEnabledForAllContent.

The test case in this patch doesn't actually fail without this change, all it
does it trigger the warning in StyleAnimationValue::ToValue() introduced
in the first patch in this series. It's still a useful regression test however,
particularly if we later upgrade the warning in StyleAnimationValue::ToValue()
to a fatal assertion.

MozReview-Commit-ID: H9swDKLyiOf
2016-04-21 17:05:46 +09:00
Boris Chiou 91b7c6e313 Bug 1182856 - Part 5: Avoid unnecessary transition update if display:none. r=heycam
--HG--
extra : rebase_source : 044ab18d5e26e56179bebe1721f19125f6167b3d
2016-04-12 01:55:00 +02:00
Boris Chiou 2224c763ce Bug 1182856 - Part 4: Refactor code in nsTransitionManager::StyleContextChanged(). r=heycam
--HG--
extra : rebase_source : 259dd969ce8b1629536c600994e368805643e735
2016-04-12 01:53:00 +02:00
Boris Chiou 2215896161 Bug 1182856 - Part 1: Add StopTransitionsForElement. r=heycam
Add a new API in nsTransitionManager, so we can cancel transitions for a
specific element easily. The purpose of this API is for cancelling transitions
without dispatching the event.

--HG--
extra : rebase_source : 07483aebb8513dcd39c5e1805480dcbe6d3945b3
2016-04-10 21:25:00 +02:00
Brian Birtles 0daeae8037 Bug 1260976 - Remove some references to properties within nsTransitionManager; r=heycam
Although we know that the animation properties will always be filled in for
a transition in the cases where we need to query them (going forward we will
have a situation where an animation may only have frames, not properties, but
that will only happen when the animation isn't attached to an element or the
element is not attached to a document, but we don't run animations in that case
and cancel existing ones when we enter that state so although they *can* enter
that state, we'll never run these methods on them when they do), we still want
to move towards making frames the primary unit for interacting with animation
values since frames always exist and represent the public interface.

Ultimately it would be good to make the properties array on
a KeyframeEffect(ReadOnly) an encapsulated detail so that we can freely change
their structure (e.g. segments might not be the best setup, it might be better
to just have arrays of free-standing values to avoid the duplication of
values when segments are continuous).

This patch removes or encapsulates a few references to properties and
simplifies the code at the same time.


MozReview-Commit-ID: 3II36SYVoRE
2016-04-01 09:28:35 +09:00
Brian Birtles 093147a402 Bug 1260976 - Make nsTransitionManager use Keyframe objects to set up transitions; r=heycam
MozReview-Commit-ID: KHqoMELYyzQ
2016-04-01 09:27:57 +09:00
Daisuke Akatsuka 6c89bdf21b Bug 1248532 - Part 1: steps-start does not produce correct value at the beginning of the interval. r=birtles
MozReview-Commit-ID: F9b1HCfEqU6

--HG--
extra : transplant_source : %22xJ1%EBa%D6%7D%87%03%B84%2A5%CA9%93N%8A%16
2016-04-01 14:00:57 +09:00
Daisuke Akatsuka cb51780a6e Bug 1237173 - Part2: Change type of duration to Maybe<StickyTimeDuration>. r=birtles 2016-03-09 14:14:20 +09:00
Brian Birtles c9d3c84ee0 Bug 1239945 part 8 - Add GetOrCreateAnimationCollection; r=dholbert
Rather than passing around a bool flag to indicate if we should be creating
an AnimationCollection when none is found, it would be a lot easier to read
if we simply introduce a separate method for this.

MozReview-Commit-ID: 6bg8jGoH5pL
2016-03-09 12:55:39 +09:00
Brian Birtles 065446fdcd Bug 1239945 part 7 - Move GetAnimationCollection to AnimationCollection; r=dholbert
By moving GetAnimationCollection to AnimationCollection itself, we can remove
a bunch of virtual methods on the animation managers, simplify call sites,
and provide better type safety by ensuring a correspondence between element
property names and concrete animation types.

One change in behavior, however, is that in doing this we can no longer
add any newly-created AnimationCollection to the corresponding manager's linked
list of collections inside GetAnimationCollection. Instead we take a bool
outparam to indicate if a new collection was created and leave managing the
linked list to the manager. This is just a temporary measure, however, since
by the end of this patch series will will eliminate this linked list altogether
along with this flag.

MozReview-Commit-ID: 1jsc4QcmVDg
2016-03-09 12:55:39 +09:00
Brian Birtles dd4f27f03e Bug 1239945 part 6 - Templatize AnimationCollection based on the concrete type of Animation stored; r=dholbert
This patch templatizes the type of Animation stored in an AnimationCollection.
This allows us to remove a number AsCSSAnimation() calls in nsAnimationManager.

This patch also removes the AnimationPtrArray typedef. In its place we
introduce OwningCSSAnimationPtrArray and OwningCSSTransitionPtrArray but we
don't use these as widely. There was some comment previously that the typedefs
in animation code make it hard to read, particularly when these typedefs don't
make it clear if the data type is an owning reference or not.

In doing this we need to templatize CommonAnimationManager as well and move the
implementation of its (few) methods to the header file. We may be able to
remove the need for templatizing CommonAnimationManager later in this patch
series depending on how we ultimately decide to handle the lifetime of
AnimationCollection objects.

CommonAnimationManager::GetAnimationCollection is a bit messy but this will be
significantly tidied up in subsequent patches in this series.

MozReview-Commit-ID: 3ywatY53pRR
2016-03-09 12:55:39 +09:00
Hiroyuki Ikezoe 8f7f1cc1b7 Bug 1242872 - Part 8: ElementPropertyTransition::ToValue(). r=birtles
MozReview-Commit-ID: 2zSAG6zcoYc
2016-02-19 16:43:06 +09:00
Cameron McCormack 89cac5abd1 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack 736a5f47e7 Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11:00