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

63 Коммитов

Автор SHA1 Сообщение Дата
Xidorn Quan 444ba0fc97 Bug 1340033 - Remove dependency from StyleAnimationValue.h to ServoBindings.h. r=hiro
MozReview-Commit-ID: 79czvLmftmv

--HG--
extra : rebase_source : 57d7a55ed48a0e9475076fa930226b6ea99a4e22
2017-02-16 15:14:06 +11:00
Boris Chiou 62bf2f991d Bug 1338087 - Part 1: Don't apply paced spacing on stylo. r=hiro
To avoid using StyleAnimationValue on stylo, we should skip
ApplySpacing, which means We always fall back to distribute spacing on stylo.

MozReview-Commit-ID: 9DNwhOI8saf

--HG--
extra : rebase_source : c535139a8171bcdc874fef6bc1a12045957de9e1
2017-02-10 16:37:45 +08:00
Hiroyuki Ikezoe 392ed0305b Bug 1331704 - Part 3: Drop all of unused stuff. r=birtles a=abillings
MozReview-Commit-ID: BWAC0iZLw6t
2017-02-11 19:11:45 +09:00
Hiroyuki Ikezoe 06cde8eda0 Bug 1331704 - Part 2: Resolve base styles during UpdateProprties. r=birtles a=abillings
EnsureBaseStyle() requires an already resolved nsStyleContext
and resolves the base style by ResolveStyleByRemovingAnimation().

MozReview-Commit-ID: BHqJiBJspQY
2017-02-11 19:11:45 +09:00
Hiroyuki Ikezoe 8ec82eeec6 Bug 1331704 - Part 1: Store base styles in KeyframeEffectReadOnly instead of EffectSet. r=birtles a=abillings
Now we dropped mNeedsBaseStyleSet bit set.

MozReview-Commit-ID: Gv2rU0jpyk1
2017-02-11 19:11:45 +09:00
Sebastian Hengst 559bd6a3a1 Backed out changeset e2f6d5054e20 (bug 1331704) for build bustage: unused variable hasProperty at KeyframeEffectReadOnly.h:294. r=backout on a CLOSED TREE 2017-02-11 11:37:54 +01:00
Sebastian Hengst 9a8981039c Backed out changeset 6eb3b0501d00 (bug 1331704) 2017-02-11 11:32:14 +01:00
Sebastian Hengst c7040ed466 Backed out changeset 0077d103e862 (bug 1331704) 2017-02-11 11:32:10 +01:00
Hiroyuki Ikezoe 1c96a1ad82 Bug 1331704 - Part 3: Drop all of unused stuff. r=birtles a=abillings
MozReview-Commit-ID: BWAC0iZLw6t
2017-02-11 19:11:45 +09:00
Hiroyuki Ikezoe 14613aa3a3 Bug 1331704 - Part 2: Resolve base styles during UpdateProprties. r=birtles a=abillings
EnsureBaseStyle() requires an already resolved nsStyleContext
and resolves the base style by ResolveStyleByRemovingAnimation().

MozReview-Commit-ID: BHqJiBJspQY
2017-02-11 19:11:45 +09:00
Hiroyuki Ikezoe e7c1543f3e Bug 1331704 - Part 1: Store base styles in KeyframeEffectReadOnly instead of EffectSet. r=birtles a=abillings
Now we dropped mNeedsBaseStyleSet bit set.

MozReview-Commit-ID: Gv2rU0jpyk1
2017-02-11 19:11:45 +09:00
Boris Chiou 606e52ba0f Bug 1337313 - Part 2: Add AnimationValue::SerializeSpecifiedValue. r=hiro
Move the implementation of uncomputing to string into AnimationValue,
and add one more FFI for RawServoAnimationValue.

MozReview-Commit-ID: JFnXnGO3mlp

--HG--
extra : rebase_source : 83c0e084ef4202a5c98c668d68bfe9066196d735
2017-02-09 11:33:17 +08:00
Boris Chiou ac7c271b7f Bug 1337313 - Part 1: Use AnimationValue in CreatePropertyValue. r=hiro
Replace the argument type with AnimationValue.

MozReview-Commit-ID: IeydVOLKTB9

--HG--
extra : rebase_source : 9537e40c9ffa16919a08765daa5d12e020e5d17c
2017-02-08 16:15:18 +08:00
Hiroyuki Ikezoe a0e80666fe Bug 1333846 - Part 2: Evaluate scale values for additive or accumulative animations. r=birtles a=abillings
MozReview-Commit-ID: LSKJNH5OJbs
2017-02-09 11:28:47 +09:00
Hiroyuki Ikezoe 4047570520 Bug 1333846 - Part 1: Move ContainsAnimatedScale() codes into dom/animation/. r=birtles a=abillings
MozReview-Commit-ID: 6bWeTfCmjtd
2017-02-09 11:28:47 +09:00
Boris Chiou 155c2acd50 Bug 1335942 - Part 2: Use mozilla::AnimationValue in AnimationPropertySegment. r=hiro,manishearth
MozReview-Commit-ID: L6U1A223jsa

--HG--
extra : rebase_source : 26d8ec4386443d6526fed2f4926c6e4519e6bbd0
2017-02-04 13:57:08 +08:00
Boris Chiou 93204df88d Bug 1317209 - Part 2: Call Servo's Interpolation from Gecko. r=heycam,manishearth
1. Call Servo's interpolation from KeyframeEffectReadOnly::ComposeStyle().
2. Store the results into ServoAnimationRule.

MozReview-Commit-ID: LOp2mbXforg

--HG--
extra : rebase_source : eda5e275e81f2413b2a729e8d06663eae496c15c
2017-01-24 15:21:52 +08:00
Boris Chiou 05b18b1257 Bug 1317209 - Part 1: Introduce ServoAnimationRule and implement uncompute FFI. r=heycam,manishearth
1. Introduce ServoAnimationRule, which is an equivalent of AnimValuesStyleRule.
2. Wrap ServoAnimationRule and AnimValuesStyleRule into a struct, and
   use it as the parameter of Animation::ComposeStyle and
   KeyframeEffectReadOnly::ComposeStyle.
3. Uncompute the RawServoAnimationValues in ServoAnimationRule when we
   need it.

MozReview-Commit-ID: HahXDYBCAhH

--HG--
extra : rebase_source : cd8c6f3a8409abf97f04af888953ff0e77d98348
2017-01-24 15:19:18 +08:00
Hiroyuki Ikezoe f6d1e334f7 Bug 1330190 - Part 6: Add MOZ_DIAGNOSTIC_ASSERT for mIsComposing. r=birtles
Based on the other changesets in this series, we don't expect to be calling
UpdateProperties() and ComposeStyle() from within ComposeStyle() itself.
However, in case there is some scenario where that does still occur, we leave
the mIsComposing check in place and add an equivalent MOZ_DIAGNOSTIC_ASSERT so
that we are alerted if this does occur on debug / Nightly / DevEdition builds,
but handle it gracefully on beta or release builds.

MozReview-Commit-ID: 2cFpyMFR29Q

--HG--
extra : rebase_source : 8d6175b8785dd062bda85eda7f06c01bec42fbee
2017-01-16 17:41:25 +09:00
Hiroyuki Ikezoe fdd11f4f75 Bug 1330190 - Part 5: Get style context without all of animation data for base styles. r=birtles
Test case, 1330190-2.html, is another variant of 1325193-1.html. It's for
animation on a pseudo element, causes timeout without part 3 patch.

MozReview-Commit-ID: KX6FE8mkZY2

--HG--
extra : rebase_source : f5efbae0cc30036a511659eab9b29b5091df7539
2017-01-16 17:41:24 +09:00
Hiroyuki Ikezoe 005409105f Bug 1322291 - Part 3: Ensure base styles if there is an additive or accumulate segment for propertis that can be run on the compositor. r=birtles
MozReview-Commit-ID: JjIQkafUh91
2017-01-12 14:48:42 +09:00
Hiroyuki Ikezoe 5e2100a627 Bug 1325193 - Get underlying style value in the case where the last segment is missing keyframe for accumulation of iteration composite. r=birtles
Both of tests in this patch fail and cause lots of assertions without this fix.

MozReview-Commit-ID: CFrWSlM0Us5
2017-01-12 10:28:46 +09:00
Hiroyuki Ikezoe 7af76a1bc9 Bug 1325193 - Stop processing KeyframeEffectReadOnly::UpdateProperties while composing the same effect's style. r=birtles 2017-01-10 09:49:05 +09:00
Hiroyuki Ikezoe d339d422fb Bug 1311620 - Part 5: Implement effect composite(add). r=birtles
MozReview-Commit-ID: 7t6CD3VibNS

--HG--
extra : rebase_source : 3d683f945db1eac4c208daecc92750710df6c3d0
2016-12-24 19:54:42 +09:00
Hiroyuki Ikezoe 5201cc33f3 Bug 1311620 - Part 4: Implement keyframe composite(add). r=birtles
This patch also fixes expected computed offset values in frame at 0.5 offset for
add composite.

MozReview-Commit-ID: 8PNp237NoV4

--HG--
extra : rebase_source : 7bdf83741198fb81c6721cad1764e6464033c240
2016-12-24 19:54:27 +09:00
Hiroyuki Ikezoe 603fea3c36 Bug 1322291 - Part 2: Make sure that the base style is set even if additive or accumulates animations are in the delay phase. r=birtles
Before this patch we skipped KeyframeEffectReadOnly::ComposeStyle() for
animations that are not in effect.
After this patch we call KeyframeEffectReadOnly::ComposeStyle() even if the
animation is not in-effect state in order to prepare the base style for
properties that can be run on the compositor because the in-effect animation
will be sent to the compositor and might be composed onto the base style on the
compositor after the animation gets out of its delay phase.

MozReview-Commit-ID: FuAZv4jqVMJ

--HG--
extra : rebase_source : 9ef2f078e5ee18735fb8cd3086f20774fe8b1fd0
2016-12-21 13:52:21 +09:00
Hiroyuki Ikezoe bb044df0ec Bug 1322291 - Part 1: Block nested calls of KeyframeEffectReadOnly::ComposeStyle(). r=birtles
KeyframeEffectReadOnly::ComposeStyle() might call nsStyleSet::ResolveStyleFor(),
and KeyframeEffectReadOnly::ComposeStyle() itself is called from
nsStyleSet::ResolveStyleFor(). So we have to carefully avoid nested calls of ComposeStyle.

MozReview-Commit-ID: IRM99bGUFLa

--HG--
extra : rebase_source : 05dfab033b738bae92706588708bd7b7a29ec7de
2016-12-21 13:52:19 +09:00
Xidorn Quan 200763a985 Bug 1323147 part 1 - Pass string and nsCSSPropertyID for property names across FFI. r=heycam,SimonSapin
MozReview-Commit-ID: 9m39cqaFfx

--HG--
extra : source : fda47b4012965e9e767bad8a87e9b0b1a165d13a
2016-12-16 10:02:48 +11:00
Boris Zbarsky 59f74104a6 Bug 1321879 part 2. Stop using IsCallerChrome() in animations API. r=birtles 2016-12-06 23:47:23 -10:00
Brian Birtles fab887e2db Bug 1301305 - Factor out check for main-thread synchronization to a method on Animation; r=hiro
This should be easier to read and provide us a convenient place to check for
other cases where we need to synchronize with the main thread (such as the
change introduced in this bug where we synchronize with other animations
started at the same time).

MozReview-Commit-ID: 8iuA7P4ycwM

--HG--
extra : rebase_source : 60a706d51897a0522794cd140734ad7158f4ccd6
extra : histedit_source : cbd0849fcb9077afaf3d2cd3f168201ddb2bf7a4
2016-12-02 10:13:06 +09:00
Brian Birtles 33786b40e1 Bug 1301305 - Add AnimationEffectReadOnly::AffectsGeometry() helper to identify effects that animate geometric properties; r=hiro
MozReview-Commit-ID: 7Q6wvm7ddxy

--HG--
extra : rebase_source : 6b2a719c0c9d744d6204b8cff50efe21f5940e2d
extra : histedit_source : 1cfbe1585c76aa500f8066b99c0d1d438018d400
2016-12-02 10:04:08 +09:00
Brian Birtles 005433850d Bug 1301305 - Expand the set of geometric properties to include margin and padding properties; r=hiro
If margin or padding is being animated then we should synchronize with transform
animations.

Originally I included the border-*-width properties in this set. However
I removed them because:

1. Generally animations of border-width are more subtle and it won't be
   noticeable if they are not synchronized with transform animations.

2. If authors animate the border shorthand (e.g. border: 1px blue -> 1px black)
   we will end up interpolating each of the longhands (including the widths
   despite there being no change) and yet such an animation does not really need
   to be synchronized with transform animations. Until we add code to workaround
   that it seems best to ignore border properties.

I have verified that the tests added in this patch fail without the code changes
in this patch.

MozReview-Commit-ID: AJiDAvTpFuN

--HG--
extra : rebase_source : 58462ab48acc0b1298915d0d3572915b6973ac82
extra : histedit_source : d293cfc68ff59483b4f9543a7a63b140d627a4fa
2016-12-02 09:00:05 +09:00
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