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

714 Коммитов

Автор SHA1 Сообщение Дата
Brian Birtles e82da4fa99 Bug 1265611 - Add tests that we ignore disabled properties when creating animations from the Web Animations API; r=heycam
MozReview-Commit-ID: 81XkkwtyJLt
2016-04-21 17:05:47 +09:00
Brian Birtles 1e1f683439 Bug 1266257 - Revise timing model calculations to use fraction-based approach; r=hiro
As per updates to Web Animations spec:

  https://github.com/w3c/web-animations/compare/10fc97366041%5E...b9a721e6536ae27c37df1e3948b013c6a52d5f4c

MozReview-Commit-ID: 5NHnF56aETJ
2016-04-21 14:51:36 +09:00
Mantaroh Yoshinaga 5abe552c97 Bug 1260084 - Part3.Remove unnecessary css animation mochitest. r=birtles
MozReview-Commit-ID: JgplbS9F57L

--HG--
extra : transplant_source : _%A3K%E65%1A%10%D1%2B%A6%B6%E7%8F%2B%13%A8%B9%21f%9B
2016-04-20 08:26:43 +09:00
Mantaroh Yoshinaga 690b92aa89 Bug 1260084 - Part1.Use promise_test instead of async_test. r=birtles
MozReview-Commit-ID: 9yrccghlUVb

--HG--
extra : transplant_source : %F4%92%D8Z%13%0D%27B%A8%0C%D1%A7%81%8A%E7%CF%C7%99u%BE
2016-04-20 08:21:17 +09:00
Mantaroh Yoshinaga 1a3a4d293d Bug 1259285 - Part1 - Move CSS/Web Animations-specific visibility handling. r=birtles
MozReview-Commit-ID: 5ZYUhvI1cqV

--HG--
extra : transplant_source : %85%01%5C%91%EB%C2%F9%F5a%82%5C%FCZKz%F7%2B%27%F7%9C
2016-04-20 09:05:29 +09:00
Carsten "Tomcat" Book 26acbcad12 Backed out changeset b72de5c5ac33 (bug 1260084) for test failures in reverse.html 2016-04-19 12:36:20 +02:00
Carsten "Tomcat" Book 88c03ed11b Backed out changeset 545b4ff9a8e0 (bug 1260084) 2016-04-19 12:35:58 +02:00
Mantaroh Yoshinaga 003affd9cf Bug 1260084 - Part3 - Remove unnecessary css animation mochitest. r=birtles
MozReview-Commit-ID: 7R5VEyvYxvl

--HG--
extra : transplant_source : %18%60%F0%ED%B1%9E%1D%5B%13%1E%2C%20%F5%00%89.%89Lb%88
2016-04-18 13:15:38 +09:00
Mantaroh Yoshinaga bbb2c948a8 Bug 1260084 - Part1 -Use promise_test instead of async_test. r=birtles
MozReview-Commit-ID: 5GXF1frOdvf

--HG--
extra : transplant_source : %83i%8F%8A%01es%C6%F6%9B%84%98%81v%8Ac%E6%FA/i
2016-04-18 12:53:40 +09:00
ABE Hiroki (hATrayflood) 259010e082 Bug 1244637 - implement AnimationEffectTiming fill. r=hiro
MozReview-Commit-ID: 46kYkxy06Sk

--HG--
extra : rebase_source : b85e4c1d7dfada490a43e18fd6f012553f9045f0
2016-04-10 11:35:52 +09:00
Daisuke Akatsuka 0250695f7d Bug 1244643 - Part 2: Append tests for easing. r=hiro
MozReview-Commit-ID: 3RYWjsViwJZ

--HG--
extra : rebase_source : fd62be7ed619ab846d04691ac2c0a64701e71ff4
2016-04-15 20:55:25 +09:00
Daisuke Akatsuka f9df5acae8 Bug 1244643 - Part 1: Implement AnimationEffectTiming easing. r=hiro
MozReview-Commit-ID: 14H3t787wRy

--HG--
extra : rebase_source : 6ce0e427680becca50d4feeeac6bbcb5f9bbfb30
2016-04-14 09:08:08 +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
Hiroyuki Ikezoe 1b7f619907 Bug 1263063 - Part 5: Introduce TimingParams::EndTime(). r=dholbert
MozReview-Commit-ID: 6dpnb65vndl

--HG--
extra : rebase_source : b4c0046b893bf78ebec91d3308fcbfccf48a79d1
2016-04-14 19:39:42 +09:00
Hiroyuki Ikezoe ffc5ef3515 Bug 1263063 - Part 4: Move ActiveDuration() into TimingParams. r=dholbert
MozReview-Commit-ID: 4HS8vTJYtDe

--HG--
extra : rebase_source : 5ccdc1aa1ffe0c33a0d334cf2a4736877481cd28
2016-04-14 19:39:39 +09:00
Hiroyuki Ikezoe 6846fc920e Bug 1263063 - Part 3: Change logic in KeyFrameEffect to assume that TimingParams' iteration-count has already been validated as nonnegative & finite. r=dholbert
MozReview-Commit-ID: 9mbBHvyjNZg

--HG--
extra : rebase_source : 8e371d2349095ab924ca0be241eccf28e092bdb7
2016-04-14 19:36:03 +09:00
Hiroyuki Ikezoe 99b87b0281 Bug 1263063 - Part 1: Remove unnecessary clamping of TimingParams::mIterationStart, since it's guaranteed to be nonnegative. r=dholbert
MozReview-Commit-ID: ApQVt39jasa

--HG--
extra : rebase_source : e247683aa727f7e331fc4a559032f7c636ea834c
2016-04-14 19:35:59 +09:00
Brian Birtles 20fffd9955 Bug 1247004 part 2 - Don't throw if easing is the string "function (a){return a}"; r=heycam
MozReview-Commit-ID: CgwsJQKB1qj
2016-04-15 15:26:27 +09:00
Brian Birtles ed5ce2394b Bug 1247004 part 1 - Drop orphaned declaration AnimationUtils::ParseEasing; r=heycam
MozReview-Commit-ID: 6FSXOXeXomG
2016-04-15 15:26:27 +09:00
Boris Chiou 1decf4e780 Bug 1249564 - Part 2: Cycle collect AnimationEffectTimingReadOnly. r=birtles
Add KeyframeEffectReadOnly::mTiming into the list of cycle collection to
avoid any possible memory leak.

MozReview-Commit-ID: C5mFQ7TsqC7

--HG--
extra : rebase_source : 8ee1e58d69a3becb0b8566fa3529154bb66d3064
2016-04-13 18:20:46 +08:00
Boris Chiou c5c62dc083 Bug 1249564 - Part 1: Assign the parent object of AnimationEffectTiming(ReadOnly). r=birtles,bz
Use the current document as the parent object of
AnimationEffectTiming(ReadOnly).

MozReview-Commit-ID: JfPLk95hsJ1

--HG--
extra : rebase_source : ee068d0eb8e26f4c1e83b87049be8060fcd27813
2016-04-10 13:51:32 +08:00
Brian Birtles 1bf99cf79f Bug 1260983 - Allow creating animations with a target element not bound to a document; r=heycam
MozReview-Commit-ID: HHqHWikZ3zp
2016-04-01 09:32:26 +09:00
Brian Birtles 344398e8f8 Bug 1260983 - Update animation properties when the style context changes; r=heycam
MozReview-Commit-ID: L4ugcD7BxNX
2016-04-01 09:31:51 +09:00
Brian Birtles 1a98da1bd9 Bug 1260976 - Remove the old AnimationProperty-based GetFrames; r=heycam
MozReview-Commit-ID: FoEf7DymVDm
2016-04-01 09:29:31 +09:00
Brian Birtles 9552e36446 Bug 1260655 - Drop some no-longer-needed code for setting up CSS animations using AnimationProperty objects; r=heycam
MozReview-Commit-ID: JDzvQIxlsX6
2016-03-30 13:01:20 +09:00
Brian Birtles 8b6a1ba8ad Bug 1260655 - Use CSSAnimationBuilder::BuildAnimationFrames to set up CSS animations using Keyframe objects; r=heycam
MozReview-Commit-ID: BMLvYP8iIIa
2016-03-30 13:01:13 +09:00
Brian Birtles 871add346f Bug 1260655 - Add a copy constructor and copy assignment operator to Keyframe; r=heycam
It turns out that std::stable_sort on Mac and Android use this.

Bug 1263500 tracks doing something more efficient on those platforms.

MozReview-Commit-ID: 3tGbnoW67QP
2016-03-31 16:26:52 +09:00
Brian Birtles 56ab406ea8 Bug 1260655 - Add an assignment operator to Keyframe that takes an rvalue reference; r=heycam
This is needed in order to use std::stable_sort with this type since some
implementations of std::stable_sort require this (as opposed to simply a move
constructor).

MozReview-Commit-ID: 5QmcIxkC4aB
2016-03-29 11:29:20 +09:00
Brian Birtles 87d20ddd2f Bug 1260655 - Return the stored Keyframe objects from GetFrames, when available ; r=heycam
Before switching CSS animations over to using KeyframeEffectReadOnly::SetFrames
we update the getFrames() API to return the set frame objects (when available)
so that we can test that we are setting the correct frames.

MozReview-Commit-ID: 4SpBRM7Ykyv
2016-03-30 08:59:08 +09:00
Brian Birtles bdacb97d48 Bug 1260655 - Add KeyframeEffectReadOnly::SetFrames; r=heycam
Earlier in this patch series we divided keyframe processing into two stages:

  (1) Turning javascript objects into an array of Keyframe objects
  (2) Calculating AnimationProperty arrays from the Keyframe objects

This patch creates a SetFrames method so that CSS animations and
CSS transitions can skip (1) and pass the frames constructed from CSS syntax
into (2).

It also adds the following additional processing:

a. Notifying animation mutation observers when the set of frames has changed.

   This is currently performed by nsAnimationManager but ultimately we should
   encapsulate this logic inside the effect itself. Furthermore, it will be
   needed when we implement effect.setFrames() (i.e. the Javascript-facing
   wrapper for this method).

b. Preserving the mWinsInCascade and mIsRunningOnCompositor state on properties
   when updating them.

   This is currently performed by:

      bool KeyframeEffectReadOnly::UpdateProperties(
          const InfallibleTArray<AnimationProperty>& aProperties)

   which is what nsAnimationManager currently uses. We will ultimately remove
   the above method and here we are just moving this code to the new version
   of UpdateProperties.

c. Requesting a restyle when the set of AnimationProperty objects has changed.

   Again, this is currently performed by the existing UpdateProperties method
   so we are just moving it here. This behavior will also be required when
   we implement effect.setFrames() and when we call UpdateProperties from
   elsewhere in restyling code.

   This is bug 1235002 but we fix it here and leave that bug to just do further
   cleanup work (e.g. re-instating the check for an empty property set before
   requesting a restyle in NotifyAnimationTimingUpdated).

d. Marking the cascade as needing an update when the set of AnimationProperty
   objects has changed.

   This is in preparation for calling UpdateProperties from elsewhere in
   restyling (e.g. when the nsStyleContext is updated).


MozReview-Commit-ID: 2ll26lsWZTm
2016-03-30 08:59:08 +09:00
Brian Birtles 99a1a632e3 Bug 1260572 - Use 50% switch behavior if StyleAnimationValue::Interpolate fails; r=heycam
In KeyframeEffectReadOnly::ComposeStyle we call StyleAnimationValue::Interpolate
but assume that it always passes. That was true when that code was only used for
CSS animations and CSS transitions since they check that their animation values
can be interpolated before setting up segments.

However, when we set up animations using the Web Animations API we don't perform
that check so it is possible for this call to fail.

In that case, we could just bail, but, according to CSS Transitions we should
apply a 50% switch in this case:

  https://drafts.csswg.org/css-transitions/#step-types

(In Web Animations, specifying this is an open issue. See:
https://w3c.github.io/web-animations/#specific-animation-behaviors).

Bug 1064937 tracks doing this in general (we'll likely need to mark various
properties as being no longer unanimatable but instead as supporting discrete
animation) but we can start to introduce it now.

Later in bug 1245748, CSS animations and transitions will likely start using
the same code path as the Web Animations API for setting up keyframes.
As a result, unless we take care to add checks that the values we set are
interpolable, the 50% switch behavior will begin to apply to CSS animations and
transitions too at that point.

Some concerns have been raised about possible web compatibility issues around
the 50% switch behavior (see [1] and [2]). For CSS animations, Chrome already
supports this behavior so it should be ok at least for CSS animations.
When we switch CSS transitions over to the same code path, however, we will need
to be careful to add checks that the transition endpoints are interpolable
(we can investigate introducing this behavior to transitions as a separate bug
that can be easily backed out / preffed off).

Regarding the naming of the test added here, going forward we would like to
restructure the tests under web-platform-tests to better match the structure of
the Web Animations since that seems to be the convention there.

However, this doesn't *quite* match the structure of the spec since there are
upcoming changes to the spec in this area (e.g. renaming animation behaviors to
animation types). However, it should be close enough that we don't have to move
it around too much in future.

[1] https://drafts.csswg.org/css-transitions/#step-types
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1064937#c0

MozReview-Commit-ID: KcxILrckJg9
2016-03-30 08:59:08 +09:00
Brian Birtles a9d4b99d8d Bug 1260572 - Replace AnimValuesStyleRule::AddEmptyValue with an overload of AddValue that takes an rvalue reference; r=heycam
In the next patch in this series, we would like to update the error handling of
the call to StyleAnimationValue::Interpolate in
KeyframeEffectReadOnly::ComposeStyle. Using AnimValuesStyleRule::AddEmptyValue
there, however, makes handling the error case difficult because we need a means
of clearing the allocated StyleAnimationValue.

However, simply using AnimationValuesStyleRule::AddValue means we will end up
doing needless allocations for StyleAnimationValue objects (the copy
constructor for which can result in performing potentially expensive heap
allocations, such as when lists are deep-copied).

Instead, we add a Move constructor to StyleAnimationValue and add an overload
of AnimValuesStyleRule::AddValue that takes an rvalue reference. This
provides a more consistent interface to AnimValuesStyleRule and avoids the
unnecessary allocations from copying StyleAnimationValue objects.

MozReview-Commit-ID: CaP1uPAgNnm
2016-03-30 08:59:01 +09:00
Ryo Kato 39e1d58e52 Bug 1255682 - Remove unnecessary t.step_func() from a chrome test r=hiro
In promise chains, we don't have to use t.step_func. However, when there
are callbacks in promise chains, assertions in the callbacks need wrapped
in either t.step or t.step_func.

If we use t.step_func, a variable scope might be divided. This can be a
problem when an assertion uses local-scope variable (e.g. the callback
in MutationObserver uses an assertion which take `changedAnimation`).

Therefore, t.step is helpful in this case.

(There no t.step_func we should remove in web-platform tests.)

MozReview-Commit-ID: IiSizgCQjpG

--HG--
extra : rebase_source : bfe314c20763d0ea26127dd561c64388d6431bf3
2016-04-03 16:20:20 +09:00
Mantaroh Yoshinaga ce5de9f521 Bug 1259344 - Use promise_test instead of async_test in css-animation mochi tests. r=birtles 2016-04-04 16:39:00 +02:00
Mantaroh Yoshinaga bbda165351 Bug 1259344 - Move play()/cancel()/playstate tests to web platform tests. r=birtles 2016-04-04 21:57:00 +02:00
Chris Manchester f7a1b3fb60 Bug 1242051 - Add inter-directory test support file dependencies to ini manifests. r=gps
Previously, every test and support file would be synced to the objdir
when running any test. Now that only those support files and tests requested
are synced, we note support files required beyond those in a test's
directory in ini manifests.

MozReview-Commit-ID: EmlDz9d4lqt
2016-04-04 14:56:52 -07:00
Daisuke Akatsuka 586de6eae6 Bug 1244633 - Part 2: append tests for delay. r=birtles
MozReview-Commit-ID: 7jldzmXrqfj
2016-04-02 18:33:54 +09:00
Daisuke Akatsuka 8493af39ec Bug 1244633 - Part 1: implement AnimationEffectTiming delay. r=birtles
MozReview-Commit-ID: atZbBx3dTd
2016-04-02 18:25:02 +09:00
Daisuke Akatsuka 6c89bdf21b Bug 1248532 - Part 1: steps-start does not produce correct value at the beginning of the interval. r=birtles
MozReview-Commit-ID: F9b1HCfEqU6

--HG--
extra : transplant_source : %22xJ1%EBa%D6%7D%87%03%B84%2A5%CA9%93N%8A%16
2016-04-01 14:00:57 +09:00
Mantaroh Yoshinaga 0c861db219 Bug 1258972 - Move finish and playbackrate mochitest to web platform tests. r=birtles. 2016-03-31 18:30:00 +02:00
Daisuke Akatsuka fe1ca49a35 Bug 1260933 - Part 2: For invalid duration values, print the invalid value. r=birtles
MozReview-Commit-ID: 1vg3M3yY19Z

--HG--
extra : rebase_source : 6b994da55078bce5f5db788f8fce483da883ac41
2016-03-31 19:20:59 +09:00
Daisuke Akatsuka 7c788ee98a Bug 1260933 - Part 1: For invalid easing values, print the invalid value. r=birtles
MozReview-Commit-ID: HJEjvGyUnCN

--HG--
extra : rebase_source : e640bcf99d1cf05cad9fe937db92ef80794cb6d6
2016-03-31 19:20:42 +09:00
Hiroyuki Ikezoe c6555da9ca Bug 1256503 - Part 3: Introduce addDivAndAnimate function checking animation duration is longer than 100s to avoid intermittent test failures. r=dholbert
MozReview-Commit-ID: 2zIKFNPBjoK

--HG--
extra : rebase_source : 518f973863484e7f1b2947962b569956b170ced4
2016-04-01 06:03:30 +09:00
Hiroyuki Ikezoe d15dbe558c Bug 1256503 - Part 2: Increase some test animation durations to be at least 100 seconds. r=dholbert
In some of these cases, this increase isn't strictly necessary, because we only
check state immediately after creating the animation, before it could have
completed (regardless of its duration). Still: we should consistently use long
durations for any animations that aren't expected to complete during the test
run, because short durations might accidentally get copypasted into new tests
where they might cause intermittent failures.

MozReview-Commit-ID: 8wSRqHMI12L

--HG--
extra : rebase_source : 12e6a054dce047351b06e064bcedd9cdec58150f
2016-04-01 06:03:25 +09:00
Hiroyuki Ikezoe 75228bfa24 Bug 1256503 - Part 1: Use MS_PER_SEC instead of human-misreadable digits in animation tests. r=dholbert
MozReview-Commit-ID: CtMF84ExBLa

--HG--
extra : rebase_source : 116e9a14d5fb77c6d24ccb1e3dcdf69a7d4ce2d0
2016-04-01 06:03:21 +09:00
Ryo Kato b3baf9a794 Bug 1260353 - Remove unnecessary method AnimValuesStyleRule::AddPropertiesToSet() r=hiro
MozReview-Commit-ID: 3rRvYLNCvXE

--HG--
extra : rebase_source : 9997d72733affd869a09a382820d349f5493b732
2016-03-29 16:12:33 +09:00
Hiroyuki Ikezoe 4be774af37 Bug 1255710 - Part 2: Enable tests for 'transform-style: preserve-3d'. r=birtles
MozReview-Commit-ID: HzmFJErruwp

--HG--
extra : rebase_source : 6a821c2060ee63a4d3ccce70fb88f981274bb17d
2016-03-29 12:50:50 +09:00
Hiroyuki Ikezoe eff0b8badf Bug 1255710 - Part 1: Remove all unnecessary t.step_func. r=birtles
MozReview-Commit-ID: BNBRYLpHjLy

--HG--
extra : rebase_source : 329e448a109052eb450ce17a018c3c27e39d655e
2016-03-29 12:50:35 +09:00
Hiroyuki Ikezoe 156cb0a8ca Bug 1255710 - Part 0: Rename test_animation_property_state.html to test_animation_performance_warning.html. r=birtles
MozReview-Commit-ID: EZxWc2uRVX2

--HG--
rename : dom/animation/test/chrome/test_animation_property_state.html => dom/animation/test/chrome/test_animation_performance_warning.html
extra : rebase_source : 8d0113f359237a7df102f1e3430b8eca28823142
2016-03-29 12:50:23 +09:00
Ryo Kato 7218d5dee1 Bug 1244642 - Implement AnimationEffectTiming.direction r=hiro
MozReview-Commit-ID: I8t011JVGBb

--HG--
extra : rebase_source : 15baf67ea204d55e047405c7cd9c20cfdaa12bce
2016-03-26 16:20:25 +09:00