Commit Graph

837 Commits

Author SHA1 Message Date
Matt Woodrow
b18018a706 Bug 1282312 - Part 3: Add test for disabling of async animations with rendering observers. r=hiro 2016-07-29 17:59:02 +12:00
Matt Woodrow
0a403df2cb Bug 1282312 - Part 2: Disable async animations when we have rendering observers. r=bbirtles 2016-07-29 17:58:32 +12:00
Daisuke Akatsuka
4f153efd27 Bug 1264865 - Part 3: Remove codes that are no longer in use. r=birtles
MozReview-Commit-ID: Dhrco8madlz

--HG--
extra : rebase_source : b26d9d25c2dd54f7ec0e12dd51127229cb085346
2016-07-27 10:13:17 +09:00
Daisuke Akatsuka
92b6c55c8d Bug 1264865 - Part 1: steps(3, end) should serialize using the shorter steps(3) syntax. r=birtles
MozReview-Commit-ID: HBukw3qjyrr

--HG--
extra : rebase_source : 53bdcefc66cffa92c438bb3be794e6537533461c
2016-07-27 10:12:43 +09:00
Hiroyuki Ikezoe
9c3e690c9a Bug 1287725 - Drop KeyframeEffectReadOnly::HasAnimationOfProperties and nsLayoutUtils::HasCurrentAnimationsForProperties. r=birtles
MozReview-Commit-ID: K33ga7KpLIo

--HG--
extra : rebase_source : 57bc8f2edffb7e89ea790f5cc0fa6848770d1873
2016-07-26 06:44:11 +09:00
Boris Chiou
a8ff634f84 Bug 1272475 - Part 2: Add crashtests and mochitests. r=heycam
MozReview-Commit-ID: A8CpiMLfa7Q

--HG--
extra : rebase_source : 5a9b2911c41e4c08249a9d85e95a8bb2fa906493
2016-07-20 16:00:36 +08:00
Carsten "Tomcat" Book
336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Hiroyuki Ikezoe
f8455c2c9a Bug 1288586 - Don't calculate style difference if there are no properties change. r=birtles
We don't actually need to re-calculate if the updated properties are the
same as the old one. This change avoids problematic nested calls of
nsStyleSet::GetContext() in particular cases.

MozReview-Commit-ID: JksiTGX57Fy
2016-07-22 15:17:37 +09:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Brian Birtles
b3d639f650 Bug 1277456 part 6 - Use the composed document of the target effect (if any) when computing keyframe values; r=hiro
Previously, when fetching an nsPresShell, we would look up the current realm
document and get the pres shell for it. This patch makes us call GetPresShell()
which uses GetRenderedDocument() which corresponds to the composed document of
the target effect which seems more consistent since it is the target effect we
will use as context for computing CSS values (as required by [1]).

[1] https://w3c.github.io/web-animations/#calculating-computed-keyframes

MozReview-Commit-ID: 9S55041rfTp

--HG--
extra : rebase_source : c52d4c366d0a2891958c8f7378614a8feb5e7c70
2016-07-13 13:22:25 +09:00
Brian Birtles
7d054e7e89 Bug 1277456 part 5 - Pass the document associated with an AnimationEffectTiming/KeyframeEffect object to KeyframeUtils as the context to use when parsing CSS properties; r=hiro
Note that when we actually compute values, we will use the composed document of
the target element (see the next patch in this series).

MozReview-Commit-ID: 8Pp3y19pltP

--HG--
extra : rebase_source : bb1c21f3fdcf2e831213d2f278d70e4ca2637028
2016-07-13 13:22:25 +09:00
Brian Birtles
dca0a51347 Bug 1277456 part 4 - Use the document associated with an AnimationEffectTiming object as the context for parsing easing rather than the current realm document; r=bz
MozReview-Commit-ID: 4LhbIUIz6Vd

--HG--
extra : rebase_source : 817d59a42876d2c28455fece896e0648fbff551e
2016-07-13 13:22:13 +09:00
Brian Birtles
f0043df530 Bug 1277456 part 3 - Move set easing test to mozilla folder; r=hiro
There doesn't seem to be a need to have a separate 'sandbox' folder just for
this test. It's a Gecko-specific test so it can go in the 'mozilla' folder.

MozReview-Commit-ID: 340knfWtcD7

--HG--
rename : dom/animation/test/sandbox/test_set-easing.html => dom/animation/test/mozilla/test_set-easing.html
extra : rebase_source : 44a03425bbfee97a06d498224dcaa76b51c3b317
2016-07-13 13:02:28 +09:00
Brian Birtles
5998713466 Bug 1277456 part 2 - Store the parent document object of AnimationEffectTiming(ReadOnly) as nsIDocument instead of nsISupports; r=hiro
MozReview-Commit-ID: HOgkXaDVuH5

--HG--
extra : rebase_source : 7fa63e9ef0003f2dc22eb562dde99e0e927ed32c
2016-07-13 11:32:05 +09:00
Brian Birtles
e58dbec808 Bug 1277456 part 1 - Store the parent document object of AnimationEffectReadOnly as an nsIDocument rather than nsISupports; r=hiro
MozReview-Commit-ID: 2GQvDB1rhoA

--HG--
extra : rebase_source : da96deb6fa82a84e3b4b3761bcebec3a65801ff4
2016-07-13 11:32:01 +09:00
Boris Chiou
c16e36114d Bug 1286196 - Use the new constructor of Range<T> in KeyframeUtils. r=birtles
MozReview-Commit-ID: SRJFZfu7ps

--HG--
extra : rebase_source : 45c30649b575b313a3e1b3de87b483deccb4bcdf
2016-07-13 11:00:43 +08:00
Hiroyuki Ikezoe
cf5206ec40 Bug 1278485 - Part 2: ComputedTimingFunction::GetValue ensures 0 or 1 on both edges. r=birtles
MozReview-Commit-ID: ABkcUhhZdbZ

--HG--
extra : rebase_source : fa55b85515abe54d8ac4387e606039d88d4dbce0
2016-07-12 16:33:45 +09:00
Hiroyuki Ikezoe
123f9c80bd Bug 1278485 - Part 1: Limit y1 and y2 control points for cubic-bezier to avoid overflows. r=birtles
MozReview-Commit-ID: Bls260r7Sqn

--HG--
extra : rebase_source : bd836b8bd0666ce5c387aeb91149587d93db386d
2016-07-12 16:24:42 +09:00
Hiroyuki Ikezoe
044369121c Bug 1285407 - Part 4: Drop EffectCompositor::MaybeUpdateCascadeResults(Element*, CSSPseudoElementType) because it's essentially the same as another one. r=birtles
MozReview-Commit-ID: 2Locox5zmP4

--HG--
extra : rebase_source : 8970da8d3081e959a6ceef84ae6dcaf65718f93e
2016-07-11 17:28:19 +09:00
Hiroyuki Ikezoe
770052aeaa Bug 1285407 - Part 2: We need to call MarkCascadeNeedsUpdate() when the style context is changed. r=birtles
MozReview-Commit-ID: 2z2HgSDzhLd

--HG--
extra : rebase_source : d16e7db0a79d393de63b11927a2bd5c8c97fa19c
2016-07-11 17:28:15 +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
Hiroyuki Ikezoe
d20c596b42 Bug 1279403 - Part 2: Set NS_FRAME_MAY_BE_TRANSFORMED bit if the target nsIFrame has transform when setting target or keyframes. r=birtles
MozReview-Commit-ID: InQyXpENsSY

--HG--
extra : rebase_source : f8eb4c9ea0495d60c92a214ab692df79cf428e85
2016-07-11 08:29:14 +09:00
Hiroyuki Ikezoe
685a35fbc5 Bug 1279403 - Part 1: Force to apply corresponding change hint if there is no corresponding layer to generate display item even if animation's segment is transform:none or 100% opacity. r=birtles
To create a stacking context for animations on transform:none segment,
we need to set NS_FRAME_MAY_BE_TRANSFORMED.  The fix is comming in part 2.

Note that in case of animations which has properties preventing running on
the compositor, e.g., width or height, corresponding layer is not created
at all, but even in such cases, we normally set valid change hint for such
animations in each tick, i.e. restyles in each tick. For example:

div.animate([{ opacity: 1, width: '100px' }, { opacity: 0, width: '200px' }], 1000);

This animation causes restyles in every ticks without this patch, this patch
does not affect such animations at all. The only animations which will be
affected by this patch are animations which has opacity/transform but
did not have those properies. e.g,  setting transform by setKeyframes or
changing target element from other target which prevents running on the
compositor, etc.

MozReview-Commit-ID: 78fYqyX8uDX

--HG--
extra : rebase_source : c4a6ef244f26f3d808fd2c6a5f80c1a15478ae31
2016-07-11 08:27:02 +09:00
Chris Peterson
43c2748f66 Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
Hiroyuki Ikezoe
e5daa34c2a Bug 1278136 - Part 3: Test that animations with fill:backwards consumes the main-thread while it's in delay phase. r=birtles
MozReview-Commit-ID: 3dDGPfgOvJl

--HG--
extra : rebase_source : 2b3edce74e3a1b60598752c3a1727d77e55b7c8e
2016-07-08 13:02:44 +09:00
Hiroyuki Ikezoe
7cc7e32a9b Bug 1278136 - Part 0: Clean up frame->StyleDisplay()->BackfaceIsHidden() usage. r=mattwoodrow
We already have a wrapper named nsIFrame::BackfaceIsHidden().

MozReview-Commit-ID: 5L49W6wtXs1

--HG--
extra : rebase_source : d3be8d028453e63fb2d3d96b5956262d352385ef
2016-07-08 13:01:31 +09:00
Gregory Szorc
f21ec324a6 Merge mozilla-central to mozilla-inbound 2016-07-06 18:30:58 -07:00
Brian Birtles
e1cbd45efd Bug 1279819 - Copy keyframes array before iterating over it; r=hiro
MozReview-Commit-ID: KMacnQcFx9f
2016-07-06 13:55:30 +09:00
Boris Chiou
ac7404da73 Bug 1283625 - Unlink timing object before nullifying it. r=birtles
MozReview-Commit-ID: 3eIAL77aDLV
2016-07-06 10:57:26 +08:00
Wes Kocher
057b582fd1 Merge inbound to central, a=merge 2016-07-05 17:04:04 -07:00
Hiroyuki Ikezoe
3dfafb3211 Bug 1264107 - Use shorter duration to avoid possibilities of overflow on TimeStamp calculations. r=birtles
If there is a possibility that long duration property causes overflow on
TimeStamp calculations, we should use shorter duration in our tests.

MozReview-Commit-ID: HJThoX80W4Y

--HG--
extra : rebase_source : 8986afa9a58d832e15194b8ea9533af380a127a4
2016-07-05 19:27:20 +09: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
Carsten "Tomcat" Book
fcff88e7a8 Merge mozilla-central to autoland 2016-07-01 11:20:25 +02:00
Mantaroh Yoshinaga
cb3e27e060 Bug 1277272 - Add crashtests in dom/animation/tests/crash. r=birtles
MozReview-Commit-ID: 7Eqbt4qxYQe

--HG--
extra : rebase_source : 0803c934eaa264b4d34ceceb62822aa8281a77ae
2016-07-01 11:17:43 +09:00
Brian Birtles
c42c3acc9a Bug 1283387 part 2 - Implement updated calculation of active time in after phase with negative end delay r=hiro
This implements the changes to the specified behavior from the following
changeset:

  a9ba51338e

It also updates test expectations based on the tests updated in part 1 of this
patch series.

MozReview-Commit-ID: HyJC8tHXLYc

--HG--
extra : rebase_source : 6d0f5eb03a2bb4c3938d79dfae7ee433d33fd2b1
2016-07-01 09:31:02 +09:00
Mantaroh Yoshinaga
e17ee8c69e Bug 1284396 - Change GetParentObject return value. r=birtles
MozReview-Commit-ID: Rw0i2y4cc

--HG--
extra : rebase_source : 384a298b387f568a6854223c0d4fa24fca7ae32d
2016-07-06 09:20:29 +09:00
Mantaroh Yoshinaga
e5f9ec2f98 Bug 1267510 part 6 - Add animation test of gecko dependent. r=birtles
MozReview-Commit-ID: 1ZnXUCECMiH

--HG--
extra : rebase_source : 0ba0ffd392da1eadcf10e22c55dcbf286b218508
2016-06-29 11:14:12 +09:00
Mantaroh Yoshinaga
8bc07a20e3 Bug 1267510 part 3 - Add DocumentTimeline constructor. r=birtles
MozReview-Commit-ID: CqqDlHQsm0p

--HG--
extra : rebase_source : 4495e289009af105b61413526ffd03200b5bee6b
2016-06-29 11:13:45 +09:00
Mantaroh Yoshinaga
943f1fd84b Bug 1267510 part 2 - Add origin time invariant to DocumentTimeline. r=birtles
MozReview-Commit-ID: Kf7PzzAH9Tj

--HG--
extra : rebase_source : 29f8eb0a6f3a624ff9c5af07f558bd5522847844
2016-06-29 10:59:35 +09:00
Boris Chiou
2768dbb547 Bug 1244590 - Part 9: Update spacing in SetTarget. r=birtles
Handle these cases:
1. When creating null-target effect whose spacing mode is "paced":
 - Fall back to distribute spacing. This case is already included by previous
   patches.

2. When setting a target to null:
 - Apply distribute spacing.

3. When style context is null.
 - Fall back to distribute spacing.

4. When setting a new valid target:
 - Use this new target as the context element and re-calculate the computed
   offsets. This case is already included by previous patches.

MozReview-Commit-ID: 1zhSOAylnZb

--HG--
extra : rebase_source : e2988f433f395a398090dc08f262b0154de3dc50
2016-05-11 15:34:58 +08:00
Boris Chiou
0a3a365c73 Bug 1244590 - Part 8: Rewrite GetStyleContext code. r=birtles
Do a simple refactor, so we can reuse the getter of nsStyleContext.

MozReview-Commit-ID: 4BQ7f8HuFns

--HG--
extra : rebase_source : 37bbf6af795484c5d80d308683e4fcdfe23c7a1a
2016-05-11 11:41:20 +08:00
Boris Chiou
34e916b2cb Bug 1244590 - Part 7: Calculate paced spacing. r=birtles
Calculate the paced spacing for each Keyframes by the context element. Use the
algorithm in the spec.

MozReview-Commit-ID: HFWQwoKhKWt

--HG--
extra : rebase_source : 40112eb1f722179cfc0a4ccbd188e22bc7af9b9b
2016-05-27 18:09:06 +08:00
Boris Chiou
95267f5a26 Bug 1244590 - Part 6: Refactor the calculation of StyleAnimationValue. r=birtles
We want to reuse the StyleAnimationValues of properties of each keyframe when
applying spacing and building animation property segments, so refactor this
part.

MozReview-Commit-ID: 8G56C3BU3FR

--HG--
extra : rebase_source : 73b6d374ac8bd25645d1b1b2f15f4e778b3ec949
2016-05-25 17:10:53 +08:00
Boris Chiou
10a18165f4 Bug 1244590 - Part 5: Make the default value of computed offsets be -1. r=birtles
When we apply paced spacing, we have to check if there are still null computed
offsets after applying paced spacing to paceable Keyframes because the
calculation of distance may be failed or some Keyframes are not paceable in
the specific range. Therefore, using -1 would be easier to check it.
Also, add a const, kComputedOffsetNotSet, to represent this invalid value.

MozReview-Commit-ID: GPhj7cdiX2W

--HG--
extra : rebase_source : 8c4e7769c454fe50eb1cc08db63866dcc4ed62e5
2016-05-12 16:00:47 +08:00
Boris Chiou
8c0079ef08 Bug 1244590 - Part 4: Rewrite ApplyDistributeSpacing. r=birtles
Rename it to ApplySpacing, and let it handle both distribute and paced mode.

MozReview-Commit-ID: 2kGA6LMHUsz

--HG--
extra : rebase_source : ebd5566392b1ea6a4a445ff7c3ed81cdc94bdded
2016-05-10 17:40:53 +08:00
Boris Chiou
03d90dd78b Bug 1244590 - Part 3: Parse spacing. r=birtles
We only support spacing mode from Web Animations API, so add a simple parser and
use it only from the API. In this patch, parse spacing mode from the constructor
and throw TypeError if we have any parse error.

MozReview-Commit-ID: 9H7g80IcZfZ

--HG--
extra : rebase_source : e1bc781ff0f20a1a38c04e672832ec013edc549d
2016-05-13 16:38:25 +08:00
Boris Chiou
09edce9d1d Bug 1244590 - Part 2: Retrieve KeyframeEffectOptions from constructor. r=birtles
MozReview-Commit-ID: DtkJ6eLj4tl

--HG--
extra : rebase_source : 77d4fc6a22d2504191c81bba0bbc72387e65ba2a
2016-05-05 18:50:16 +08: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
Brian Birtles
7dbb4e5cf3 Bug 1276688 part 2 - Add tests for entries array handling when ComputeValues fails; r=heycam, r=smaug
MozReview-Commit-ID: DIQyt7f91an
2016-06-28 16:10:10 +09:00
Wes Kocher
cd463132d8 Backed out 8 changesets (bug 1267510) for causing unacceptably frequent failures in animation mochitests a=backout
Backed out changeset 2a2c42608ff0 (bug 1267510)
Backed out changeset 4cdb7f5b6f7c (bug 1267510)
Backed out changeset e89ec30077a0 (bug 1267510)
Backed out changeset 884243ce4287 (bug 1267510)
Backed out changeset 130a231c5acc (bug 1267510)
Backed out changeset 1ace442f6123 (bug 1267510)
Backed out changeset 058ad3199edb (bug 1267510)
Backed out changeset a7d18185f28d (bug 1267510)

--HG--
rename : testing/web-platform/tests/web-animations/timing-model/timelines/default-document-timeline.html => testing/web-platform/tests/web-animations/interfaces/AnimationTimeline/document-timeline.html
rename : testing/web-platform/tests/web-animations/interfaces/DocumentTimeline/idlharness.html => testing/web-platform/tests/web-animations/interfaces/AnimationTimeline/idlharness.html
2016-06-27 11:49:06 -07:00