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

206 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe f98523cf02 Bug 1216843 - Part 2: Implement effect iteration composition. r=birtles, r=smaug
MozReview-Commit-ID: 6u7WtXwL3y3
2016-09-13 11:48:44 +09:00
Mike de Boer 3e295e6280 Bug 1290914 - support Element.animate() on AnonymousContent nodes through the AnonymousContent.setAnimationForElement() method. r=bz
MozReview-Commit-ID: 39QPaCea7Dx
2016-09-08 22:38:53 +02:00
Boris Chiou c15da6fa38 Bug 1274944 - Part 4: Implement mutation observer for setting spacing. r=birtles
MozReview-Commit-ID: LmCO9QyQbBU

--HG--
extra : rebase_source : f078d871b6c5fab565a3ab03fdbf4ac3452704e6
2016-09-05 12:00:12 +08:00
Boris Chiou f31b43fda5 Bug 1274944 - Part 2: Implement SetSpacing(). r=birtles
MozReview-Commit-ID: ASJHVK97gq6

--HG--
extra : rebase_source : 6cdd2118c9aeecd2feb41a794781d85b6ae7ac67
2016-08-31 17:31:10 +08:00
Boris Chiou adeea43b3b Bug 1274944 - Part 1: Add writable spacing attribute. r=smaug
Use [SetterThrows] for KeyframeEffect.spacing because it throws if the input
string is not conformed to the grammar.

MozReview-Commit-ID: CkAnPu8TnV

--HG--
extra : rebase_source : af0960391684323a25ac0b40da28dcbe5c3c2919
2016-08-31 16:58:57 +08:00
Brian Birtles 48f29038db Bug 1300045 part 2 - Split KeyframeEffect.cpp into KeyframeEffect{ReadOnly}.cpp r=hiro,smaug
MozReview-Commit-ID: DdBEicunApv

--HG--
rename : dom/animation/KeyframeEffect.cpp => dom/animation/KeyframeEffectReadOnly.cpp
rename : dom/animation/KeyframeEffect.h => dom/animation/KeyframeEffectReadOnly.h
extra : rebase_source : 70063d8ba09c9c457f22771e9b514ddc9fee1612
2016-09-04 16:34:21 +09:00
Brian Birtles 732a6955f2 Bug 1300045 part 1 - Tidy up some missing includes r=hiro
I came across these while working on a different bug that changed the grouping
in the unified build. Adding these as a separate step will hopefully remove a
little noise from the next patch in the series.

MozReview-Commit-ID: Km7wTcVWG9n

--HG--
extra : rebase_source : 0610add67482c1a5aa7c4f576e151ed9437698c0
2016-09-04 16:33:38 +09:00
Boris Chiou 6e4b0037dd Bug 1298742 - Part 3: Avoid to request a restyle in SetAnimation(). r=birtles
After updating a new animation, I think we don't need to request a restyle for
the new animation because:
1. CSS Animation & CSS Transition: we don't need to request a restyle.
2. Animation constructor: we don't need to request a restyle.
2. Animation.effect: we call PostUpdate() after SetEffectNoUpdate() already.

MozReview-Commit-ID: HrUGBrbt7xi

--HG--
extra : rebase_source : 0c2574be26bade3b17a31da361d24333f6409689
2016-08-30 17:56:21 +08: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
Boris Chiou 8bb94c4499 Bug 1298742 - Part 1: Factor out MarkCascadeUpdate(). r=hiro
We mark the cascade update many times, so it's better to factor it out.

MozReview-Commit-ID: HbE980gOJ9M

--HG--
extra : rebase_source : a76dfc489f378c5bd7e711f296d0599ecf2322c5
2016-08-29 18:46:07 +08:00
Ryan VanderMeulen 8880c22504 Merge m-c to autoland. a=merge 2016-08-31 09:55:10 -04:00
Nicholas Nethercote fb96bf1f91 Bug 1298722 - Use MOZ_MUST_USE in StyleAnimationValue. r=birtles.
--HG--
extra : rebase_source : c5b8cca624b9ffa7b3263b1aa7ce4f64dd80f13b
2016-08-30 16:10:59 +10:00
Hiroyuki Ikezoe e1bd66d4f8 Bug 1298755 - Part 2: Drop ResetWinsInCascade in KeyframeEffect::SetTarget() since it has no effect. r=birtles
The purpose of ResetWinsInCascade() in SetTarget() ensures that
RequestRestyle(Layer) is invoked for the new target in the case when
composite order or CSS cascading or order is changed due to chaging target
element, but RequestRestyle(Layer) will be called right after setting
the new target in SetTarget() explicitly.

MozReview-Commit-ID: 1cFJCAEEroP

--HG--
extra : rebase_source : c3008ef15d0328466f77015020c5148ef2ad07c6
2016-08-31 13:58:05 +09:00
Takashi Kawanaka 491499da43 Bug 1291061 - Pass const StyleAnimationValue& to CreateStyleContextForAnimationValue r=birtles
MozReview-Commit-ID: 6PJzBBWSgwQ
2016-08-27 15:27:38 +09: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 302c927139 Bug 1049975 - Part 5: Move timing related code into AnimationEffectReadOnly. r=birtles
Move the mTiming, mAnimation, and the implementaion of timing into
AnimationEffectReadOnly.

MozReview-Commit-ID: EZhlbphVvCo

--HG--
extra : rebase_source : 4aa4821304671a8dfc6feb047ab20b26ef2d6b11
2016-07-25 18:27:33 +08: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
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
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
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
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
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
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 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 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
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
Brian Birtles 3743434413 Backed out changeset f182a6c18d75 (bug 1279819) 2016-07-06 09:09:55 +09:00
Brian Birtles 454f9549c2 Bug 1279819 - Copy keyframes array before iterating over it; r=hiro
MozReview-Commit-ID: KMacnQcFx9f
2016-07-06 08:00:44 +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
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
Hiroyuki Ikezoe fc371e8226 Bug 1166500 - Part 11: Add a preference for offscreen throttling. r=dbaron
MozReview-Commit-ID: AD34RTVZcxy
2016-05-24 12:57:43 +09:00
Hiroyuki Ikezoe b2888c83cd Bug 1166500 - Part 7: Throttle paint-only animations if the presShell is not active. r=dbaron 2016-05-24 12:57:43 +09:00
Hiroyuki Ikezoe f4e8a9f94a Bug 1166500 - Part 6: Throttle paint-only animations on element which is out of view. r=dbaron 2016-05-24 12:57:43 +09:00
Hiroyuki Ikezoe eec4931934 Bug 1166500 - Part 3: Add KeyframeEffectReadOnly::CanIgnoreIfNotVisible(). r=dbaron 2016-05-24 12:57:42 +09:00
Hiroyuki Ikezoe caa5bb7b54 Bug 1166500 - Part 2: Calculate cumulative change hint. r=dbaron
In order to raise an assertion in CanIgnoreIfNotVisible() which will be
introduced in part 3 when the cumulative hint is not properly, we should skip
the calculation when mProperties is empty.
2016-05-24 12:57:42 +09:00
Hiroyuki Ikezoe 00e2f46aeb Bug 1268385 - Clear isRunningOnCompositor for script animations if associated nsIFrame is destroyed. r=birtles
MozReview-Commit-ID: 3tTkDtxkHcT

--HG--
extra : rebase_source : 388f548cb30f5384cceb620a595dd10b5fd22e4e
2016-05-16 16:25:46 +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
Brian Birtles e518a8a1ed Bug 1263488 - Make AnimValuesStyleRule re-use PropertyStyleAnimationValuePair; r=hiro
Rather than defining the same type redundantly but with a name that overlaps
with a struct in KeyframeEffect.h (that has a different type).

MozReview-Commit-ID: 3MbvXWL8XlL
2016-05-11 16:43:32 +09:00