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

81 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe 8f3df3819f Bug 1291468 - Part 3: Implement effect composite(accumulate). r=birtles
MozReview-Commit-ID: GHowVrDZxvh

--HG--
extra : rebase_source : 26146ddd38f397d14545402b5d347e53a488ce19
2016-12-04 08:07:41 +09:00
Hiroyuki Ikezoe 869c4ead65 Bug 1291468 - Part 2: Implement keyframe composite(accumulate). r=birtles
Test cases in file_composite.html are matching pair of tests in
web-platform-tests.

MozReview-Commit-ID: ApuvVCHKQ8Y

--HG--
extra : rebase_source : 58342389a3eb1ed2a3c1889b5ce974dbde19c32f
2016-12-04 08:07:41 +09:00
Hiroyuki Ikezoe b98aba8d33 Bug 1305325 - Part 14: Compose base values on the compositor. r=birtles
MozReview-Commit-ID: EWumBqQ82RT
2016-12-04 08:07:40 +09:00
Hiroyuki Ikezoe a9ad7c4490 Bug 1305325 - Part 11: Cache non-animated base values. r=birtles
This patch adds a hashtable to store the non-animated base style of each
property in EffectSet class if the following conditions are met.

1) the effect is the lowest priority of the effect
2) the effect is additive or accumulative

The styles are stored as StyleAnimationValue objects since it's handy class to
store a CSS value for different properties.

MozReview-Commit-ID: 1MZV7MnqzfI
2016-12-04 08:07:40 +09:00
Hiroyuki Ikezoe aa35d16aa2 Bug 1305325 - Part 9: Send animations even if it's paused, finished or zero playback rate. r=birtles.
If all of animations on an element are paused, finished or zero playback rate,
we don't send those animations to the compositor.
Also in this change, we send zero active duration animations to the compositor
in the same way as normail animations.

MozReview-Commit-ID: CHjv6Buy5fa
2016-12-02 15:34:13 +09:00
Hiroyuki Ikezoe 1f8b99b847 Bug 1305325 - Part 6: Handle missing keyframe whose offset 0 or 1 on the main thread. r=birtles
MozReview-Commit-ID: 5WMiTJQKfZd

--HG--
rename : dom/animation/test/chrome/test_animation_properties.html => dom/animation/test/chrome/test_simulate_compute_values_failure.html
2016-12-04 08:07:40 +09:00
Hiroyuki Ikezoe 20bc31d6c8 Bug 1305325 - Part 3: Make AnimationPropertyValueDetails::mValue optional. r=birtles,smaug
MozReview-Commit-ID: H2fhRfC0Uoh
2016-12-04 08:07:39 +09:00
Boris Chiou f045a91867 Bug 1317178 - Pass the property name to Servo_DeclarationBlock_SerializeOneValue. r=birtles
In order to use single_value_to_css() in
Servo_DeclarationBlock_SerializeOneValue(), we need to pass the property name
and a flag for custom properties.

MozReview-Commit-ID: 5HfI2qOmPwP

--HG--
extra : rebase_source : 968468b3c9313c4ec3007ee9883075c8fc4ab769
2016-11-22 19:18:18 +08:00
Hiroyuki Ikezoe ae9b44e039 Bug 1304886 - Part 1: Make StyleAnimationValue::Accumulate() infallible. r=birtles
MozReview-Commit-ID: 9ve3k6a3eAg

--HG--
extra : rebase_source : af536ae0bf9dc7ad26003422d971c3cbdb30e390
2016-11-16 20:32:26 +09:00
Boris Chiou da317fa21e Bug 1273784 - Part 6: Factor out BuildProperties. r=hiro
Factor out BuildProperties to have a better readability of UpdateProperties.

MozReview-Commit-ID: A3cIS65STAx

--HG--
extra : rebase_source : a09d935d6ced8f4a6c7311e69e3840e195c575a1
2016-11-07 17:01:39 +08:00
Boris Chiou 1225c6b3fa Bug 1273784 - Part 5: Avoid re-building the animation properties and re-calculating computed offsets. r=hiro
We don't need to rebuild the animation properties and recalculate the
computed offsets of Keyframes while copy-constructing a new
KeyframeEffect(ReadOnly) object, so avoid calling SetKeyframes()
directly. And we also need a customized copy constructor for AnimationProperty
to avoid copy mIsRunningOnCompositor.

MozReview-Commit-ID: CIF3Ibgc1tM

--HG--
extra : rebase_source : 7bbc8c1666451435982651f11af9c00f37708807
2016-11-03 11:36:28 +08:00
Boris Chiou 4560622114 Bug 1273784 - Part 3: Implement KeyframeEffect(ReadOnly) copy constructor API. r=hiro
MozReview-Commit-ID: 9ju9jeJ8cvq

--HG--
extra : rebase_source : eb3aad753c3e4251f8a46db22ec067abd4f259bf
2016-11-01 18:39:06 +08:00
Boris Chiou feefe8bb14 Bug 1273784 - Part 2: Overload ConstructKeyframeEffect for copy constructor. r=hiro
The copy constructors of KeyframeEffectReadOnly and KeyframeEffect are
similar, so we overload ConstructKeyframeEffect<...>(...) for copy
constructors.

MozReview-Commit-ID: 37hClpn9ZUG

--HG--
extra : rebase_source : 48de18c190dd8cbc61e0363e999960f2e823f2ea
2016-11-01 17:38:15 +08:00
Boris Chiou ab45c606ea Bug 1273784 - Part 1: Add the copy constructor of KeyframeEffect(ReadOnly) in webidl. r=smaug
MozReview-Commit-ID: Fkddf8axUrU

--HG--
extra : rebase_source : 85e78c8a7fcebfbd5feb75950d5da34c2c05d255
2016-10-28 15:41:08 +08:00
Boris Chiou 304026cd9d Bug 1272549 - Part 9: Compute distance for mismatched transform lists. r=birtles
MozReview-Commit-ID: JJWcMgj88GX

--HG--
extra : rebase_source : 3f1c314a2bf9c7c12991fb3873738c79b0152ea9
2016-10-05 15:36:16 +08:00
Xidorn Quan d5b39f0e15 Bug 1311598 part 1 - Move PropertyValuePair::operator== into cpp file. r=birtles
MozReview-Commit-ID: 3TC11FtqDsu

--HG--
extra : rebase_source : 9b2f8abe575b14368b8962c5a51c776fcb9ad3d1
extra : source : 8a45444e157137455409e639ddd743b079ed9b0f
2016-10-24 20:16:46 +11:00
Hiroyuki Ikezoe ca0f6e0ff5 Bug 1223658 - Part 5: Send animations to compositor even though it's in delay phase. r=birtles
To send animations to compositor in the delay phase we need to
modify Animation::IsPlaying returning true in the delay phase.

Note about background-position-in-delay.html:
After this patch, background-position animation also creates an active layer
from its delay phase.

Also note about test cases in test_animations_omta.html:
After landing bug 1279071, getOMTAStyle() returns the style value only
specified by animations, also in this patch we don't apply any opacity or
transform values in the delay phase, as a result we can't tell animating
value during delay phase on the compositor.

MozReview-Commit-ID: ILYKig3c08d

--HG--
extra : rebase_source : 5715c1f9ec43da3c8374f08cdca82e2ca29fe474
2016-10-14 19:14:12 +09:00
Hiroyuki Ikezoe ff84f76fce Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

Note about no-stacking-context-(opacity|transform)-removing-animation-in-delay.html
Before this patch we don't create any stacking context for animations overridden
by !important rules, but after this patch we do create a stacking context for
such animations.  As a result, in the test case we did paint a stacking context
in the first rAF callback and then in the second rAF callback we did clear the
painted stacking context. Unfortunately sometimes the second rAF callback was
called prior to clear the stacking context on the compositor because of
compositor delay. To avoid this situation, we have to wait for MozAfterPaint
instead of rAF callback.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-13 16:54:25 +09:00
Phil Ringnalda 6182caa3b9 Backed out 2 changesets (bug 1278136) for failures in no-stacking-context-opacity-removing-animation-in-delay.html
Backed out changeset 62cf4a7d6007 (bug 1278136)
Backed out changeset 5f2db29e67ca (bug 1278136)

MozReview-Commit-ID: K9WcZFjL2XB
2016-10-11 20:40:36 -07:00
Hiroyuki Ikezoe d7f92dae54 Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-12 09:59:03 +09:00
Sebastian Hengst 256c9cf9ff Merge mozilla-central to autoland 2016-10-05 17:15:26 +02:00
Brian Birtles d70d0c2bd5 Bug 1302949 - Skip calling CalculateCumulativeChangeHint; r=heycam
There are a few pieces missing before we can do this with Servo. Since this
only enables an optimization for off-screen animations we should skip this
for now so it doesn't block animations from running.

MozReview-Commit-ID: GecHWQZYxpK

--HG--
extra : rebase_source : c0330b104afb4b970569c0cb650315e633b7e796
extra : histedit_source : db91b37d3370c9b766976b42b0701f6e0ec56159
2016-09-16 11:35:59 +09:00
Brian Birtles a803b5ac49 Bug 1302949 - Serialize specified keyframe values; r=heycam
MozReview-Commit-ID: 9BSkci1kqU6

--HG--
extra : rebase_source : b0532e144b3208d79e1e26ce3bff9a20c896abad
2016-09-16 09:26:48 +09:00
Hiroyuki Ikezoe f5b0e6e0b3 Bug 1304922 - Part 7: Drop mWinsInCascade. r=birtles
MozReview-Commit-ID: 1q4glZenZNa

--HG--
extra : rebase_source : 7855710197758505a195f1cf7063e74cb5493534
2016-10-05 14:48:05 +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
Boris Chiou cd6c2e6bff Bug 1304805 - Make spacing, iteration composite and effect composite work if the caller is chrome. r=hiro
MozReview-Commit-ID: 30BOUA8QPh8

--HG--
extra : rebase_source : 21af58ad6f27f47404affe2f87fb9a426f01b496
2016-09-23 14:31:34 +08:00
Hiroyuki Ikezoe 7de848f9c8 Bug 1294651 - Don't apply iterationComposite value if the preference for Web Animations API is not enabled. r=boris
MozReview-Commit-ID: 5ckKyDSBv3S

--HG--
extra : rebase_source : 5bf069db17cecac17035bd2c9c925abc4c4e5f2c
2016-09-21 19:17:18 +09:00
Hiroyuki Ikezoe 5f5f888c4b Bug 1216843 - Part 15: Update styles when current iteration changed. r=birtles
MozReview-Commit-ID: 33JtZplxiAz
2016-09-13 11:48:45 +09:00
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
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