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

169 Коммитов

Автор SHA1 Сообщение Дата
Brian Birtles 4a53c81f51 Bug 1343589 - Add a test that reverse() updates animations on the compositor r=hiro
MozReview-Commit-ID: FR8kR7TMl33

--HG--
extra : rebase_source : 8cbe75de11323582567d184373f7025c2f133a74
2017-03-28 14:51:53 +09:00
Brian Birtles 09cda43419 Bug 1343589 - Restore the playbackRate when reverse() throws. r=hiro
MozReview-Commit-ID: FNIZK9yQWyV

--HG--
extra : rebase_source : 32cdcc52ccd8192addc0ed2239f74eb109970597
2017-03-28 14:51:51 +09:00
Hiroyuki Ikezoe cb4ce7109c Bug 1340958 - Drop AnimationRule and ServoAnimationRule. r=boris
MozReview-Commit-ID: ClnvyShHpsN

--HG--
extra : rebase_source : c554550264bfedafbf91ed2ed754603fb5c3e4c6
2017-03-17 13:24:42 +09:00
Hiroyuki Ikezoe 3b9f585232 Bug 1340958 - Put computed values into AnimationValueMap instead of hashtable in gecko. r=heycam
Before this patch, we store each computed values in a hashtable,
nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>, for all
KeyframeEffectReadOnly on an element, and convert the ServoAnimationValues of
the hashtable into an nsTArray<ServoAnimationValue*> and then convert
the ServoAnimationValues of the nsTArray into PropertyDeclarationBlock
in rust.  This way was really inefficient.
In this patch, we store the computed values into AnimationValueMap and
convert all AnimationValue in the map into PropertyDeclarationBlock
after EffectCompositor::GetAnimationRule.

MozReview-Commit-ID: EJ2Kl65fVeF

--HG--
extra : rebase_source : e30a9d440dc9855e21b94501b07a3501d31bc345
2017-03-17 13:23:21 +09:00
Hiroyuki Ikezoe 2511ac5d4e Bug 1340958 - Templatize ComposeStyle. r=birtles
Later in this patch series we will replace ServoAnimationRule with a hashmap.
At that point, we would like to pass the hashmap to ComposeStyle. In order
to achieve that, this patch templatizes the 'animation rule' parameter of
ComposeStyle in both Animation and KeyframeEffectReadOnly so that it can
represent a hashmap instead.

MozReview-Commit-ID: H5bMxjN3W8n

--HG--
extra : rebase_source : 58cd9ee1cda51970d35c52b39d2cdab12055e24a
2017-03-17 13:22:13 +09:00
BharatR123 9747fa7418 Bug 1302637 - Animation::PostUpdate() calls KeyframeEffectReadonly::RequestRestyle() r=hiro
Also removed the function GetPresContext() in KeyframeEffectReadOnly.cpp
and KeyframeEffectReadOnly.h

MozReview-Commit-ID: AJCgxQ05yVQ

--HG--
extra : rebase_source : d85db8bf29079964e4210e5b3a381e8483d92441
2017-03-14 22:03:22 +05:30
Hiroyuki Ikezoe f9b0c33a05 Bug 1344619 - Part 1: Introduce WillCompose() to update various state that we need to update as the result of ComposeStyle(). r=birtles
MozReview-Commit-ID: JznBR3OghKG

--HG--
extra : rebase_source : 95acb5dc8cdfc81d73b8033cb97eb0c95ff69153
2017-03-09 05:20:17 +09:00
Michael Layzell befc7b0924 Bug 1331434 - Part 9: Return after ErrorResult::Throw in /dom, r=ehsan
MozReview-Commit-ID: CWjx4L8LTr9
2017-03-07 19:06:48 -05:00
Mantaroh Yoshinaga fa7dee3362 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

--HG--
extra : rebase_source : ac96209b28fdc781bf3787d348f2ae989e695640
2017-02-10 12:32:44 +09:00
Boris Chiou 05b18b1257 Bug 1317209 - Part 1: Introduce ServoAnimationRule and implement uncompute FFI. r=heycam,manishearth
1. Introduce ServoAnimationRule, which is an equivalent of AnimValuesStyleRule.
2. Wrap ServoAnimationRule and AnimValuesStyleRule into a struct, and
   use it as the parameter of Animation::ComposeStyle and
   KeyframeEffectReadOnly::ComposeStyle.
3. Uncompute the RawServoAnimationValues in ServoAnimationRule when we
   need it.

MozReview-Commit-ID: HahXDYBCAhH

--HG--
extra : rebase_source : cd8c6f3a8409abf97f04af888953ff0e77d98348
2017-01-24 15:19:18 +08:00
Cameron McCormack babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Hiroyuki Ikezoe 603fea3c36 Bug 1322291 - Part 2: Make sure that the base style is set even if additive or accumulates animations are in the delay phase. r=birtles
Before this patch we skipped KeyframeEffectReadOnly::ComposeStyle() for
animations that are not in effect.
After this patch we call KeyframeEffectReadOnly::ComposeStyle() even if the
animation is not in-effect state in order to prepare the base style for
properties that can be run on the compositor because the in-effect animation
will be sent to the compositor and might be composed onto the base style on the
compositor after the animation gets out of its delay phase.

MozReview-Commit-ID: FuAZv4jqVMJ

--HG--
extra : rebase_source : 9ef2f078e5ee18735fb8cd3086f20774fe8b1fd0
2016-12-21 13:52:21 +09:00
Mantaroh Yoshinaga 5dec1d98b2 Bug 1264125 part 6 - Queue CSS related event when setting null target effect. r=birtles
MozReview-Commit-ID: 6KILkmNInbm

--HG--
extra : rebase_source : 261818498c1aa57ff04781f22be246852f59efe3
2016-12-20 16:03:29 +09:00
Mantaroh Yoshinaga c0862bc6f3 Bug 1264125 part 5 - Call the queueing events when canceling transition via Style or Script. r=birtles
MozReview-Commit-ID: 5qWef4xCZXX

--HG--
extra : rebase_source : bda04eabf912d7ebc554f06b3a4109f7a3afbf9f
2016-12-20 16:03:29 +09:00
Brian Birtles ca512d3518 Bug 1301305 - Add a member to track if an animation needs to be synchronized with geometric animations or not; r=hiro
Note that in this patch, the mSyncWithGeometricAnimations member is never set
to true since no one calls NotifyGeometricAnimationsStartingThisFrame yet.

MozReview-Commit-ID: GSTQmfkSdoy

--HG--
extra : rebase_source : 1304cdf678095f2eeaa32588b92c0531e8c64fcd
extra : histedit_source : bc25fc10a2451121a2b9fec247db3f92965e9b5b
2016-12-02 10:19:10 +09:00
Brian Birtles fab887e2db Bug 1301305 - Factor out check for main-thread synchronization to a method on Animation; r=hiro
This should be easier to read and provide us a convenient place to check for
other cases where we need to synchronize with the main thread (such as the
change introduced in this bug where we synchronize with other animations
started at the same time).

MozReview-Commit-ID: 8iuA7P4ycwM

--HG--
extra : rebase_source : 60a706d51897a0522794cd140734ad7158f4ccd6
extra : histedit_source : cbd0849fcb9077afaf3d2cd3f168201ddb2bf7a4
2016-12-02 10:13:06 +09:00
Brian Birtles 33786b40e1 Bug 1301305 - Add AnimationEffectReadOnly::AffectsGeometry() helper to identify effects that animate geometric properties; r=hiro
MozReview-Commit-ID: 7Q6wvm7ddxy

--HG--
extra : rebase_source : 6b2a719c0c9d744d6204b8cff50efe21f5940e2d
extra : histedit_source : 1cfbe1585c76aa500f8066b99c0d1d438018d400
2016-12-02 10:04:08 +09:00
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
Hiroyuki Ikezoe d8ec730df8 Bug 1223658 - Part 2: Pass delay property to compositor. r=birtles
The check of negative elapsedDuration is basically no longer valid since
animation delay is not factored into start time any more.  But still we have
somtimes met negative elapsedDuration sice we use a previous vsync time stamp
for async animations to make the animations more sync.  This is not a problem
in most cases but makes two reftests intermitent failure because both of them
used steps(1, start), the steps(1, start) composed different results in the
before phase and in the active phase. To avoid this difference this patch
replace the steps(1, start) with steps(1, end).

Once we incorpolate playbackRate into GetCurrentOrPendingStartTime, we don't
need to call AnimationTimeToTimeStamp for deviding delay by playbackRate since
the time passed to AnimationTimeToTimeStamp does not contain delay any more.

MozReview-Commit-ID: IVE2IFfNgm0

--HG--
extra : rebase_source : 7cb42e57067c21451706bd89284016d996dc8b12
2016-10-14 19:14:01 +09:00
Hiroyuki Ikezoe c354bf91e5 Bug 1304922 - Part 6: Introduce mPropertiesWithImportantRules and mPropertiesForAnimationsLevel and use it to detect conditions that we need to update layers. r=birtles
This patch also makes composite order lowest to highest, as a result we also
need to replace mWinsInCascade checks with the the properties.
The mWinsInCascade membed itself will be removed in a subsequent patch.

Now we call RequestRestyle(Layer) respectively for transition and animation,
so a test case in test_restyles.html works as expected.

And now lower-priority animations are also sent to the compositor so this patch
fixed some tests in test_running_on_compositor.html and
test_animation_performance_warning.html

MozReview-Commit-ID: BchUsJbmatg

--HG--
extra : rebase_source : ff295aecb08bb672ac5f02e26e37a4ea4f3eb7c0
2016-10-05 14:42:56 +09:00
Jan de Mooij a53986bf29 Bug 1302448 part 1 - Rename CycleCollectedJSRuntime to CycleCollectedJSContext. r=mccr8
--HG--
rename : xpcom/base/CycleCollectedJSRuntime.cpp => xpcom/base/CycleCollectedJSContext.cpp
rename : xpcom/base/CycleCollectedJSRuntime.h => xpcom/base/CycleCollectedJSContext.h
extra : rebase_source : 075214b5057f151520926715b6154e99ae80a0b3
2016-09-14 15:47:32 +02:00
Michael Layzell c47fca1cd7 Bug 1018486 - Part 1: Changes in dom/, r=baku
MozReview-Commit-ID: 4tCUM4KRe81
2016-09-07 10:50:35 -04:00
Boris Chiou f736a7f384 Bug 1298742 - Part 2: Make sure UpdateRelevance() is called before NotifyAnimationTimingUpdated. r=hiro
MozReview-Commit-ID: Ki0Aqhgl1dO

--HG--
extra : rebase_source : 5dbfa13c63390364d581b649b18e25ceea8e7a15
2016-08-29 16:22:46 +08:00
Yusuke Endho 0f4c1508cb Bug 1297000 - Modify comparison of zero TimeDuration to use TimeDuration object rather than converting to milliseconds; r=birtles
MozReview-Commit-ID: DIccqtDb91u
2016-08-27 16:53:33 +09:00
Boris Chiou 9ca8c808df Bug 1049975 - Part 11: Fix mutation observer when setting effects. r=birtles
MozReview-Commit-ID: 3td2343LFxX

--HG--
extra : rebase_source : 5bef088200975a09663803d2616adb7bd3fe2e2b
2016-08-16 20:00:35 +08: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 4ce153a3de Bug 1049975 - Part 8: Use AnimationEffectReadOnly as the argument type of Animation constructor. r=birtles,smaug
MozReview-Commit-ID: 2qoZQuQAweF

--HG--
extra : rebase_source : d6b925bc0ccb93ff7e342ce10627368f8def3d88
2016-08-16 16:48:55 +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 89374c49c6 Bug 1049975 - Part 6: Factor out the procedure of resetting an animation's pending tasks. r=birtles
Both Cancel() and SetEffect() need the procedure of "Reset an animation's
pending tasks", so factor it out and then we can reuse it.

MozReview-Commit-ID: C7Q5kF9aPrV

--HG--
extra : rebase_source : b3d98a739d51db91f8c45139e9add651af4adeae
2016-07-15 17:17:25 +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 238f6f1f58 Bug 1049975 - Part 1: Support null effect. r=birtles
MozReview-Commit-ID: 7ougqvbIVuD

--HG--
extra : rebase_source : 92f4095c7fb5ebcd555a2c2305a7db06024e2984
2016-07-12 11:42:49 +08:00
Brian Birtles 335980d902 Bug 1295842 part 2 - Don't overwrite the hold time when the previous current time is less than zero; r=hiro
This implements the spec change here: ee1577c959

MozReview-Commit-ID: 8XKaocLbrmL

--HG--
extra : rebase_source : 18c402b0af7c21b8721ca796c054a3f58eb21a72
2016-08-19 11:35:16 +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
Nathan Froyd 2c2b9296bc Bug 1283616 - part 2 - micro-optimize inserting microtask runnables into the queue; r=khuey
We can save an AddRef/Release pair by passing in the reference to the queue.
2016-07-05 18:49:06 -04:00
Mantaroh Yoshinaga 714d7d715a Bug 1178662 part 7 - Remove relationship of timeline and animation when setting new timeline. r=birtles
If we run following code, content process will crash.
------
anim1.timeline = timeline;
anim2.timeline = document.timeline;
anim2.timeline = timeline;
------

The AnimationTimeline has LinkedList variant. (called mAnimationOrder) And Animation is sub-class of LinkedListElement.
We will create the relationship of AnimationTimeline and Animation when calling the AnimationTimeline::NotifyAnimationUpdated. However we didn't remove these relation ship when setting new timeline.
So we should remove these relationship when setting new timeline object.

MozReview-Commit-ID: RDyranduTA

--HG--
extra : rebase_source : 1f080ad80f258162e94f80470a7464e2a9bb033b
2016-05-31 09:42:38 +09:00
Mantaroh Yoshinaga 1ef08e6b64 Bug 1178662 part 4 - Implement the setting timeline procedure. r=birtles
This is implementation of 'Setting the timeline of an animation'.[1]

[1] https://w3c.github.io/web-animations/#setting-the-timeline

MozReview-Commit-ID: A5YMXhkxHjr

--HG--
extra : rebase_source : 73e4fdc9ee98bf756267a05a2336a2c51517cf34
2016-05-31 09:42:37 +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
Mantaroh Yoshinaga 9bd12e4b64 Bug 1178662 part 2 - Rename *NoUpdate function in Animation. r=birtles
MozReview-Commit-ID: 6P8pze62IYq

--HG--
extra : rebase_source : 16c1e3cf0fcbf93a46b05ea83ad7af40bdcf5741
2016-05-31 09:42:37 +09:00
Daisuke Akatsuka 4f6eba3af3 Bug 1272211 - Part 1: Make timeline argument of Animation constructor default to the document timeline of the active document. r=birtles, r=smaug
MozReview-Commit-ID: KUsQF5bryg8

--HG--
extra : rebase_source : 5adf35011db8a64a30fc782ef29707f7070f207e
2016-05-30 09:01:11 +09:00
Mantaroh Yoshinaga 15ce3c0751 Bug 1096776 part 2 - Modify animation in order to support null timeline. r=birtles
MozReview-Commit-ID: 5iKUtNuqKeX

--HG--
extra : rebase_source : 1c228c136140e1b08355a467578ba6d2ea9c850e
2016-05-23 08:23:14 +09:00
Mantaroh Yoshinaga ce9c375596 Bug 1271515 - Remove unnecessary #include from Animation.cpp. r=birtles
MozReview-Commit-ID: GMPuMboBUJu

--HG--
extra : transplant_source : %B6Lf.LK12Fr%D9%9A%86%E3%08%40%C6P%D5L
2016-05-10 12:24:35 +09:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Boris Chiou 22e871661b Bug 1067769 - Part 6: Rename NonOwningAnimationTarget.h to AnimationTarget.h. r=birtles
MozReview-Commit-ID: ErAaPe6ttjc

--HG--
rename : dom/animation/NonOwningAnimationTarget.h => dom/animation/AnimationTarget.h
extra : rebase_source : 79b52ece67f16bd32ac8c07d698a9aae076fe5fe
2016-04-28 23:22:43 +08:00
Brian Birtles 5b507cd9d6 Bug 1267893 part 4 - Make setting the start time set 'did seek' to true; r=hiro
Based on changes to the spec: 8bf2b102de

MozReview-Commit-ID: GXllrLuyh8

--HG--
extra : rebase_source : cc979b43e46632aefdd3262299f4d810b13f6015
2016-04-27 11:34:05 +09:00
Brian Birtles 14ae45c97e Bug 1245000 part 4 - Enable the Animation constructor when Element.animate is enabled; r=bz
This also makes the constructor slightly more presentable with regards to its
current limitations.
2016-04-22 13:41:59 +09:00
Hiroyuki Ikezoe c96975eec9 Bug 1263063 - Part 6: Use TimingParams::EndTime() instead of re-calculation ComputedTiming each time. r=dholbert
MozReview-Commit-ID: 9pT06LXoU4V

--HG--
extra : rebase_source : acf75c64ca884eebe86e23f81e56ab1824484cfa
2016-04-14 19:39:44 +09:00
Eddy Bruel 3e2cb55980 Bug 1229769 - We should be able to use DOM promises in the worker debugger;r=khuey 2016-03-24 16:12:00 +01:00
Boris Chiou 0fab3e5678 Bug 1249219 - Part 4: Use NonOwningAnimationTarget as the returned value of some animation target getters. r=birtles
Use NonOwningAnimationTarget as the returned type of
1. KeyframeEffectReadOnly::GetTarget()
2. nsNodeUtils::GetTargetForAnimation(...)

--HG--
extra : rebase_source : 3b0e117528035329fdf4bdbee127f095b710805a
2016-03-21 16:49:50 +08:00