Commit Graph

857 Commits

Author SHA1 Message Date
Boris Chiou
3b4aa2e726 Bug 1049975 - Part 2: Make effect writable in Animation.webidl. r=smaug
MozReview-Commit-ID: HB4iWPXGkou

--HG--
extra : rebase_source : a2c5053aeb25872af66ea9b609b0ac05cdf96c85
2016-07-12 18:05:48 +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
Boris Chiou
1c36938ba6 Bug 1290535 - Part 2: Add test. r=hiro
MozReview-Commit-ID: 8qDnF8RdXFF

--HG--
extra : rebase_source : 7322910400b38120a1ff0dde8bb95cb01affde13
2016-08-19 14:13:00 +08:00
Boris Chiou
3564271f97 Bug 1290535 - Part 1: Sort paced subproperties before calculation. r=hiro
MozReview-Commit-ID: 9sEghbxLlzO

--HG--
extra : rebase_source : 25d738af1bf76f424d83af1ee988cf07c43c41f8
2016-08-19 12:21:22 +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
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
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
b179aa1d62 Bug 1277433 - Part 4: Add CSS Animation tests. r=birtles
MozReview-Commit-ID: 12CdohazBTS

--HG--
extra : rebase_source : 87a6e17b33241d3db230137f4478357df5a8d4f0
2016-08-16 14:30:15 +09: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
Boris Chiou
2721920a34 Bug 1293106 - Ignore 'spacing' if dom.animations-api.core.enabled is false. r=birtles
MozReview-Commit-ID: K7hbCjLP6vB

--HG--
extra : rebase_source : 0e774faec05527c2267ae1df48db55856b6b6c75
2016-08-10 17:58:49 +08: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
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
Brian Birtles
0d8b0d4fda Bug 1291665 - Unregister from refresh driver in DocumentTimeline::Unlink; r=hiro 2016-08-17 09:53:22 +09:00
Cameron McCormack
4a1bd90eff Comment grammar fix; no bug (DONTBUILD). r=sbaratheon
MozReview-Commit-ID: 2pNBAS1oeSN
2016-08-09 15:10:57 +08:00
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