Commit Graph

216 Commits

Author SHA1 Message Date
Hiroyuki Ikezoe
f0a38025cf Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf
2017-10-10 17:00:28 +09:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Brian Birtles
d870e4abec Bug 1394985 - Synchronize throbber animations; r=jaws
MozReview-Commit-ID: Gxgl8IJX6vZ
2017-09-01 09:32:35 +09:00
Manish Goregaokar
82f2e05017 Bug 1382017 part 4 Gecko piece - Rename ServoComputedValues -> ServoComputedData; r=heycam
ServoComputedValues is confusing because ComputedValues is actually
ServoStyleContext on the C++ side.

MozReview-Commit-ID: IQNVdfREAMt
2017-07-20 21:44:02 -07:00
Cameron McCormack
48d999c0dd Bug 1380133 - Part 1: Minor reformatting and encapsulation. r=emilio
MozReview-Commit-ID: 3hmptLbxxok
---
 dom/animation/KeyframeUtils.h      |  2 +-
 layout/style/ServoBindings.cpp     | 24 +++++++++++++++---------
 layout/style/ServoStyleContext.cpp | 21 ++++++++++++---------
 layout/style/ServoStyleContext.h   | 33 ++++++++++++++-------------------
 layout/style/ServoTypes.h          | 24 ++++++++++++++----------
 layout/style/nsAnimationManager.h  |  7 +++----
 6 files changed, 59 insertions(+), 52 deletions(-)
2017-07-21 11:42:42 +08:00
Sebastian Hengst
436a245ead Backed out changeset 454d7232178d (bug 1380133) for bustage at mozilla/KeyframeUtils.h: no 'object' file generated. r=backout on a CLOSED TREE 2017-07-20 15:41:12 +02:00
Cameron McCormack
c5ceea393e Bug 1380133 - Part 1: Minor reformatting and encapsulation. r=emilio
MozReview-Commit-ID: 3hmptLbxxok
2017-07-19 13:14:53 +08:00
Manish Goregaokar
86e90da5c3 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Nicholas Nethercote
4ce1e9c11f Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString
2017-06-20 19:19:52 +10:00
Hiroyuki Ikezoe
023f9872f2 Bug 1374882 - Encapsulate TimingParams's member variables. r=birtles
MozReview-Commit-ID: 1KhEdCSwpES
2017-06-22 12:12:43 +09:00
Jonathan Hao
fd3d68110a Bug 1217238 - Reduce time precision when privacy.resistFingerprinting is on. r=mystor
This patch is adapted from Tor bug 1517.

To offer some protection against timing attacks by JS content pages, in this
patch we round the various time-exposing APIs (such as Date and
Event.timeStamps) to the nearest 100 ms when the pref "privacy.resistFingerprinting" is on.

MozReview-Commit-ID: eGucM9nGTn
2017-06-06 11:45:14 +08:00
Hiroyuki Ikezoe
11db326869 Bug 1367293 - Don't get parent style for GetComputedKeyframeValuesFor. r=birtles
MozReview-Commit-ID: 7WjsO7P2QGz
2017-06-02 09:38:54 +09:00
Hiroyuki Ikezoe
b2d74d322a Bug 1354947 - Expose FindMatchingKeyframe and make it reusable for nsTimingFunction. r=birtles
MozReview-Commit-ID: Jjcrk5AhtUH
2017-05-13 16:34:38 +09:00
Hiroyuki Ikezoe
57ae304351 Bug 1350754 - Convert pseudo nsIAtom to CSSPseudoElementType in Gecko_UpdateAnimations(). r=heycam
MozReview-Commit-ID: 38ZyRyxB73z
2017-03-27 19:43:13 +09:00
Hiroyuki Ikezoe
1f0798fbb1 Bug 1350754 - Use ServoComputedValuesWithParent for nsAnimationManager::UpdateAnimations(). r=birtles
MozReview-Commit-ID: GkLoACgqVON
2017-03-27 19:43:09 +09:00
Hiroyuki Ikezoe
86a7d15844 Bug 1344603 - Make Stop{Animations|Transitions}ForElement as a member function of CommonAnimationManager. r=boris
MozReview-Commit-ID: LSSpWYjoPn9
2017-03-06 13:19:09 +09:00
Hiroyuki Ikezoe
701883463d Bug 1340322 - Part 12: Add another variant of nsAnimationManager::UpdateAnimations for stylo. r=birtles
This function updates CSS Animations with servo's computed values.

In bug 1341985, this function will be called with null servo's computed values
in the case where the target element is in display:none subtree.

MozReview-Commit-ID: GzOYy57hYho
2017-03-06 09:54:06 +09:00
Hiroyuki Ikezoe
0686e44b9e Bug 1340322 - Part 9: Templatize functions that will be used with servo's computed values. r=birtles
MozReview-Commit-ID: 8d5wHBhF4y9
2017-03-06 09:51:16 +09:00
Hiroyuki Ikezoe
5c2e9a691e Bug 1340322 - Part 8: Split off some processes that will be used for servo's computed values in UpdateAnimations(). r=birtles
MozReview-Commit-ID: LkWqhGsMCPf
2017-03-06 09:50:09 +09:00
Hiroyuki Ikezoe
7f99401324 Bug 1340322 - Part 3: Make BuildAnimations static function. r=birtles
This function will be also a template function.

MozReview-Commit-ID: 4SbzEw8YzIZ
2017-03-06 09:48:36 +09:00
Hiroyuki Ikezoe
082667cfb1 Bug 1340322 - Part 2: Use NonOwningAnimationTarget instead of Element and aStyleContext()->GetPseudoType(). r=birtles
MozReview-Commit-ID: JOBBGUs8kJd
2017-03-06 09:47:22 +09:00
Mantaroh Yoshinaga
246a4a50cb Bug 1302648 part 5 - Queue animationcancel when animation status is idle. r=birtles
MozReview-Commit-ID: DRjWboQwR0A
2017-02-10 12:32:44 +09:00
Mantaroh Yoshinaga
1831b55c4b Bug 1302648 part 4 - Call UpdateTiming() after removing the animation from the timeline. r=birtles
We will need to remove animation from timeline before calling Animation::UpdateTiming() in order to fire the cancel event.
In bug 1264125, we request one more tick after calling Animation::Cancel(), however we won't need to call this request if we apply this changeset.

MozReview-Commit-ID: h0dxUdtgkl
2017-02-10 12:32:44 +09:00
Mantaroh Yoshinaga
f9c9debf69 Bug 1302648 part 3 - Change order of releasing owning element when cancel animation. r=birtles
The first step of Animation::Cancel(), it will release owning element.
However we will use owning element for queueing the CSS-Animations event, So we will need to release owning element after calling Animation::Cancel() in order to fire the animationcancel event.

MozReview-Commit-ID: ATqkIGkqREx
2017-02-10 12:32:44 +09:00
Mantaroh Yoshinaga
7cf3d2b8b4 Bug 1308099 part 1 - Rename AnimationPhase::Null to AnimationPhase::Idle. r=hiro
In Web Animations specification, if the animation effect is in none of the any phase, it define as 'Idle' phase. [1]
But, in the gecko, it defined as 'Null' phase.

So we will need to use 'Idle' phase for consistency.

[1] https://w3c.github.io/web-animations/#idle-phase

MozReview-Commit-ID: FlPpYOqdM4X
2017-01-25 15:43:57 +09:00
Mantaroh Yoshinaga
2c4227d412 Bug 1202333 part 2 - Update the CSSTransition::QueueEvents to specification. r=birtles
MozReview-Commit-ID: BxkZ359g7JR
2016-12-20 15:57:20 +09:00
Mantaroh Yoshinaga
0249279370 Bug 1287983 part 6 - Integrate ElapsedTimeToTimeStamp function to the Animation class. r=birtles
MozReview-Commit-ID: 43AGaTYQoqn
2016-10-19 15:16:52 +09:00
Hiroyuki Ikezoe
594310cc53 Bug 1304922 - Part 3: Request restyle for layer when CSS animation's index is changed. r=birtles
In the case when the animation index is changed, we have to update the layer
because the index affects composite order.
Currently UpdateCascadeResult() does it but the function will check
only which cascade level wins in the cascade level and request restyle
only when the winner is changed, e.g. when a CSS animation overrides a
CSS transition, etc. So we should call request restyle respectively when the index
is changed inside each Animation class.

MozReview-Commit-ID: KcEFyBpALDA
2016-10-05 14:26:29 +09:00
Hiroyuki Ikezoe
1d619e9838 Bug 1300701 - Notify changedAnimations to mutation observer when priority of CSS animations on an element is changed. r=birtles
MozReview-Commit-ID: GXv4c2DiRij
2016-09-12 15:04:33 +09:00
Tetsuharu OHZEKI
79f3803c9f Bug 1259676 - part3: rename from 'InternalAnimationEvent.pseudoElement' to 'InternalAnimationEvent.mPseudoElement'. r=masayuki
MozReview-Commit-ID: GBJtFdobipj
2016-03-26 13:37:20 +09:00
Tetsuharu OHZEKI
6b809dbece Bug 1259676 - part2: rename from 'InternalAnimationEvent.elapsedTime' to 'InternalAnimationEvent.mElapsedTime'. r=masayuki
MozReview-Commit-ID: 4n5YQwxLeAx
2016-03-26 13:37:19 +09:00
Tetsuharu OHZEKI
38c6d81740 Bug 1259676 - part1: rename from 'InternalAnimationEvent.animationName' to 'InternalAnimationEvent.mAnimationName'. r=masayuki
MozReview-Commit-ID: DK5Q477WoXu
2016-03-26 13:37:19 +09:00
Brian Birtles
3ad43fba1f 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
bd2759cad0 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
Brian Birtles
2b1e865f3d Bug 1239945 part 1 - Drop a number of animation manager/collection-related methods that are unused (and in some cases undefined); r=dholbert 2016-02-24 13:41:16 +09:00
Hiroyuki Ikezoe
8305721610 Bug 1242872 - Part 7: Eliminate creation of temporary animations. r=dbaron
This patch removes a loop for the new temporary animation collection in
CheckAnimationRule.  The old collection is passed to CSSAnimationBuilder,
and CSSAnimationBuilder removes each animation which matches to new animation
name in it.
:birtles took care of storing animations in AnimationCollection in reverse order.
Thanks so much!

MozReview-Commit-ID: KmlnjFptKdv
2016-02-19 14:10:43 +09:00
Hiroyuki Ikezoe
190519c209 Bug 1242872 - Part 2: Set timeline in CSSAnimationBuilder::Build. r=dbaron
MozReview-Commit-ID: 6bisME1VK0d
2016-02-19 09:16:15 +09:00
Hiroyuki Ikezoe
c0b29736ae Bug 1242872 - Part 1: Introduce CSSAnimationBuilder to factor a bunch of stuff in BuildAnimations and CheckAnimationRule out. r=dbaron
MozReview-Commit-ID: 7921De3IVA6
2016-02-19 09:16:15 +09:00
Boris Chiou
32cdf253b7 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;
2016-02-17 21:37:00 +01:00
Brian Birtles
19070757e2 Bug 1246046 part 1 - Get the animation rule in nsStyleSet::GetContext even if there are no CSS animations; r=heycam
Without this patch, when we have script-generated animations but *no* CSS
animations, nsStyleSet::GetContext will not use the updated animation rule.
2016-02-15 16:08:33 +09:00
Carsten "Tomcat" Book
b2ebb90866 Bug 1244250 - r=mats 2016-02-10 14:17:05 +01:00
Brian Birtles
0cc26e3047 Bug 1235112 - Move animation style rule processors to EffectCompositor; r=heycam 2016-01-15 15:15:47 +09:00
Boris Chiou
427e00a9b4 Bug 1214536 - Part 7: Rename AnimationTiming as TimingParams. r=birtles, r=smaug
1. struct AnimationTiming -> struct TimingParams
2. AnimationEffectReadOnly::TimingAsObject() -> AnimationEffectReadOnly::Timing()
3. KeyframeEffectReadOnly::Timing() -> KeyframeEffectReadOnly::SpecifiedTiming()
2016-01-13 18:41:00 +01:00
Boris Chiou
83ce6bf5ce Bug 1214536 - Part 5: Add AnimationEffectTimingReadOnly interface. r=birtles, r=smaug
1. Add AnimationEffectTimingReadOnly.webidl.
2. Add AnimationEffectTimingReadOnly cpp files.
3. Use AnimationEffectTimingReadOnly as KeyframeEffectReadOnly::mTiming.
2016-01-13 18:37:00 +01:00
Nigel Babu
517be4569b Backed out 5 changesets (bug 1235112, bug 1237467) for nsRuleNode::Transition crashes
Backed out changeset ac21baf87df2 (bug 1235112)
Backed out changeset c47a6e0a6d95 (bug 1237467)
Backed out changeset 7609ca218902 (bug 1237467)
Backed out changeset d63ca2677bd5 (bug 1237467)
Backed out changeset 5a3d7e16b1e0 (bug 1237467)
2016-01-14 11:35:06 +05:30
Brian Birtles
a189b22f06 Bug 1234095 - Rework sorting to handle to script-generated animations; r=heycam 2016-01-14 10:24:24 +09:00
Brian Birtles
c904a0daa8 Bug 1235112 - Move animation style rule processors to EffectCompositor; r=heycam 2016-01-14 08:02:39 +09:00
Brian Birtles
a1de676a86 Bug 1238660 part 2 - Preserve "wins in cascade" state when updating animations; r=hiro
When updating animations, we shouldn't unnecessarily clobber the "wins in
cascade" state of their properties since this can lead to unnecessary restyles
when we then decide we need to update the cascade.
2016-01-13 13:38:16 +09:00
Brian Birtles
d7c3a1756f Bug 1232577 part 12 - Move the remainder of RequestRestyle from AnimationCollection to EffectCompositor; r=heycam
This also allows us to remove all references to AnimationCollection and the
animation managers from Animation.
2016-01-13 07:54:54 +09:00
Brian Birtles
73d9bd2996 Bug 1228229 part 10 - Remove no-longer-used cascade functions; r=dbaron 2016-01-06 11:04:05 +09:00