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

126 Коммитов

Автор SHA1 Сообщение Дата
Mats Palmgren cddeb03b03 Bug 1374126 - Use LookupForAdd instead of Contains+Put to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: EI6vKlMqG5i
2017-06-19 18:19:14 +02:00
Manish Goregaokar 3188b9bfd6 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA

--HG--
extra : rebase_source : e2f65c316be2c5640150eb5ff5628505ce446535
2017-06-10 22:27:45 -07:00
Manish Goregaokar 02ab46c24d Bug 1373018 - Part 8: stylo: Move nsStyleContext::SetStyle to GeckoStyleContext; r=bholley
MozReview-Commit-ID: ycXu95whnG

--HG--
extra : rebase_source : 852051aa074cc8ed8f11f0d68c26fe4f0a6962b6
2017-06-10 22:27:45 -07:00
Hiroyuki Ikezoe cdde6f6108 Bug 1368889 - Post animation restyle hint againt pseudo element instead of its parent. r=birtles
To traverse pseudo elements in animation-only restyle, the pseudo element
itself needs the animation-only dirty bit.

MozReview-Commit-ID: 11RfVqnPXfJ

--HG--
extra : rebase_source : d048c9a053c03bf3fef46fcbfd9cbd5f60204e1d
2017-06-08 10:22:25 +09:00
Hiroyuki Ikezoe 14e0273b91 Bug 1367293 - Don't get parent style for GetComputedKeyframeValuesFor. r=birtles
MozReview-Commit-ID: 7WjsO7P2QGz

--HG--
extra : rebase_source : b9d2d672dd670f54174a5811c7d28efe268c0c4d
2017-06-02 09:38:54 +09:00
Boris Chiou 9525862a92 Bug 1334036 - Part 12: Enable off-main thread animations. r=birtles
Remove the unconditional return from FindAnimationsForCompositor(), so
we can check if there is any property running on compositor.
Also, enable a reftest and fix the mochitest expectation:
1. The expectation numbers of test_animations_omta.html in e10s and non-e10s
   are different, so skip non-e10s.
2. We pass all tests in test_animations_omta_start.html with e10s;
   however, got 3 test failures with non-e10s, so skip this file with
   non-e10s.

MozReview-Commit-ID: IuOyAsUYguU

--HG--
extra : rebase_source : 8f8549063f2d1907e95d0bab450e1b6f851f8c84
2017-05-08 11:22:13 +08:00
Boris Chiou 38215cedea Bug 1334036 - Part 11: Trigger animation-only restyle when we handle an event with coordinates. r=birtles,heycam
We need to request an animation-only restyle to force flush all throttled
animations on main thread when we handle an event with coordinates
(e.g. mouse event).

MozReview-Commit-ID: KkjeQVsLgTl

--HG--
extra : rebase_source : 314408062e719e9f52df9a6726e2f3dad817bbef
2017-05-19 16:16:41 +08:00
Boris Chiou 5ab8026281 Bug 1334036 - Part 7: Merge two similiar MaybeUpdateCascadeResults functions. r=birtles
MozReview-Commit-ID: 2NDdQRF3DQ8

--HG--
extra : rebase_source : b6b002e19a459acd644024a78532ab7923e3fc82
2017-05-11 13:26:07 +08:00
Boris Chiou 1e2c865691 Bug 1334036 - Part 5: Implement FFI for finding properties overriding animations. r=birtles,emilio
We need to traverse rule tree to get the important rules, so we will not
override them if they have animations running on compositor.

MozReview-Commit-ID: 67NO2nIcUfq

--HG--
extra : rebase_source : 24a4ea4ca10e00f409d94c81acacb3db72248b3f
2017-05-19 15:58:47 +08:00
Boris Chiou c13897d8fe Bug 1334036 - Part 4: Remove unused UpdateCascadeResults function. r=birtles,hiro
We don't use the public UpdateCascadeResults method, so remove it.

MozReview-Commit-ID: A2lWZaHWHTZ

--HG--
extra : rebase_source : 35a1d77fdeba5a1db74d15f523dba78801b0b48e
2017-05-10 13:46:36 +08:00
Boris Chiou f1f6a5d9dc Bug 1334036 - Part 3: Add a flag to represent we are in pre-traversal. r=birtles
We need this flag to avoid assertion in PostRestyleForAnimation(), which
may be called from MaybeUpdateCascadeResults() in pre-traversal.

MozReview-Commit-ID: 46AfoIUb9o3

--HG--
extra : rebase_source : 3290d9954be43ffaeb94b501ac346622651c452a
2017-05-11 13:08:35 +08:00
Boris Chiou 5561a71847 Bug 1334036 - Part 2: Restyle all elements with animations if there are non-animation restyles. r=birtles
We restyle elements with non-animation restyles even if the animations
are throttled.

MozReview-Commit-ID: Exhd4qVx7su

--HG--
extra : rebase_source : 1632bf949bb60a894372a425fd9173e1b718452d
2017-05-17 11:41:43 +08:00
Boris Chiou 3f5f72a1eb Bug 1334036 - Part 1: Avoid mutating mElementsToRestyle during pre-traversal. r=birtles
During pre-traversal of EffectCompositor, we call MaybeUpdateCascadeResult(),
which may add new element into mElementsToRestyle, as a result, we may
iterate a mutated mElementsToRestyle. In this patch, we copy the element
which needs update cascade results into another set and traverse this new set
to call MaybeUpdateCascadeResult(). After that, do normal pre-traversal on
mElementsToRestyle.

MozReview-Commit-ID: 3uo6Ec5JNjp

--HG--
extra : rebase_source : 3cdc3c3147f011074a884d85da2655e0ed4a3730
2017-04-28 14:00:13 +08:00
Emilio Cobos Álvarez 8b2a66ab16 Bug 1364412: Convert pseudo-elements to an enum. r=hiro,xidorn
This allows us to access metadata using `match` instead of comparison with
atoms, which makes it doable to get the pseudo-element flags in the future.

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: KgGjFePmhyS
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 57614aed13d2c088fe129ecf3fabf9869d5a6d50
2017-05-14 18:39:22 +02:00
Hiroyuki Ikezoe d8fafebff7 Bug 1360776 - Pass AnimationValueMap raw pointer instead of Arc to Gecko_GetAnimationRule(). r=emilio
MozReview-Commit-ID: 5o8NuJolG2R

--HG--
extra : rebase_source : 13d732112dfe5614a83657c7bf7703944050c0f4
2017-05-01 18:45:41 +09:00
Brian Birtles ba8b99bbb7 Bug 1355348 - Move IsFlattenedTreeDescendantOf helper to nsContentUtils; r=heycam
In the next patch in this series we would like to use this functionality in
nsSMILController as well so this patch moves it to somewhere we can share it.

MozReview-Commit-ID: 1IzWoCCw4aD

--HG--
extra : rebase_source : 9f2b230f774135c0c5bf60ebdff358ce0a6bc087
2017-04-26 13:00:10 +09:00
Emilio Cobos Álvarez 6fe2b3e89d Bug 1355351: Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos. r=heycam
This also happens to fix other bugs, like making display: contents pseudos
animatable, which weren't before.

MozReview-Commit-ID: LhwTPNbFvSZ

--HG--
extra : rebase_source : 785105b08d6bfa15ad257e61b769a263c6810ad0
2017-04-19 12:53:57 +02:00
Boris Chiou 600fb7770f Bug 1341372 - Part 1: Let animation-only restyle include css-transition. r=heycam,hiro
Animation-only restyle should include both Animation and Transition
cascade levels.

MozReview-Commit-ID: Jo1sb5fGUC0

--HG--
extra : rebase_source : ddd7d796b93f9e7ced912ec4fa2eb79e7ba58784
2017-04-17 14:22:28 +08:00
Boris Chiou 2317c8957e Bug 1343753 - Part 6: Move mAnimationGeneration into RestyleManager. r=birtles
So stylo can also use mAnimationGeneration.

MozReview-Commit-ID: KTc8vs2RKMm

--HG--
extra : rebase_source : 52aeb3bf91fa849cbddbedff28418736f96086bb
2017-03-09 17:15:08 +08:00
Cameron McCormack 73701ced74 Bug 1351535 - Part 5: Add EffectCompositor method to pre-traverse within a specific subtree. r=hiro
It's not great that we traverse up the tree looking for the subtree root for
each animating element that is in mElementsToRestyle.  An alternative could
be to traverse the entire subtree and build a hash set of the elements
within it, so that each test in the mElementsToRestyle loop can be done
quickly.  I suspect that most of the time looking up the tree for
each animation will be quicker, but it does have worse worst case behavior.

MozReview-Commit-ID: FWoQ7fD9YZC

--HG--
extra : rebase_source : 688a19f61e3eda9e84228b6f18913e1f4bb09f13
2017-04-04 19:12:54 +08:00
Hiroyuki Ikezoe 3183fa83ee Bug 1350754 - Templatize EffectCompositor::UpdateEffectProperties. r=birtles
We will use this function for stylo computed values as well.

MozReview-Commit-ID: IxDg4EZARi3

--HG--
extra : rebase_source : dc6445ab0c836393913d64313c8151f31cd7b523
2017-03-27 19:43:04 +09:00
Hiroyuki Ikezoe 0ec76c29e2 Bug 1344966 - Post eRestyle_CSSAnimations instead of eRestyle_Self and eRestyle_Subtree. r=heycam
MozReview-Commit-ID: 7azwzIPc45X

--HG--
extra : rebase_source : 5943ab5db1a0a7ca4e77f9373151a5d1387ab25f
2017-03-27 06:17:08 +09:00
Hiroyuki Ikezoe cb4ce7109c Bug 1340958 - Drop AnimationRule and ServoAnimationRule. r=boris
MozReview-Commit-ID: ClnvyShHpsN

--HG--
extra : rebase_source : c554550264bfedafbf91ed2ed754603fb5c3e4c6
2017-03-17 13:24:42 +09:00
Hiroyuki Ikezoe 3b9f585232 Bug 1340958 - Put computed values into AnimationValueMap instead of hashtable in gecko. r=heycam
Before this patch, we store each computed values in a hashtable,
nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>, for all
KeyframeEffectReadOnly on an element, and convert the ServoAnimationValues of
the hashtable into an nsTArray<ServoAnimationValue*> and then convert
the ServoAnimationValues of the nsTArray into PropertyDeclarationBlock
in rust.  This way was really inefficient.
In this patch, we store the computed values into AnimationValueMap and
convert all AnimationValue in the map into PropertyDeclarationBlock
after EffectCompositor::GetAnimationRule.

MozReview-Commit-ID: EJ2Kl65fVeF

--HG--
extra : rebase_source : e30a9d440dc9855e21b94501b07a3501d31bc345
2017-03-17 13:23:21 +09:00
Hiroyuki Ikezoe 2511ac5d4e Bug 1340958 - Templatize ComposeStyle. r=birtles
Later in this patch series we will replace ServoAnimationRule with a hashmap.
At that point, we would like to pass the hashmap to ComposeStyle. In order
to achieve that, this patch templatizes the 'animation rule' parameter of
ComposeStyle in both Animation and KeyframeEffectReadOnly so that it can
represent a hashmap instead.

MozReview-Commit-ID: H5bMxjN3W8n

--HG--
extra : rebase_source : 58cd9ee1cda51970d35c52b39d2cdab12055e24a
2017-03-17 13:22:13 +09:00
Hiroyuki Ikezoe a3c9c5051e Bug 1340958 - Do not call EffectCompositor::GetServoAnimationRule for print preview. r=heycam
The only one caller of GetServoAnimationRule is Gecko_GetAnimationRule.
There is no risk that pres context is destroyed in Gecko_GetAnimationRule.

MozReview-Commit-ID: 52pxbCiCNoJ

--HG--
extra : rebase_source : 8000e267d1d5706c709f807e11396dda3579c4dc
2017-03-17 12:48:34 +09:00
Hiroyuki Ikezoe a9a15a1807 Bug 1347806 - Fix pseudo nsIAtom for ::before and ::after. r=birtles
cssPseudoElementBeforeProperty and cssPseudoElementAfterProperty are for
CSSPseudoElement.

MozReview-Commit-ID: 3WETv4QeC5

--HG--
extra : rebase_source : b7e902786ca9ebe7c92a573604e15d868c6067a7
2017-03-16 14:01:44 +09:00
Boris Chiou 2e1fa78918 Bug 1339704 - Part 2 - Filter out unwanted CascadeLevel::Transitions. r=birtles,hiro
We always call TElement::get_animation_rules() for both cascade levels while
there are animations or transitions, so we want to handle the following cases:
1. Have both CascadeLevel::Animations and CascadeLevel::Transitions:
  * We use EffectSet::mPropertiesForAnimationsLevel to filter out
    CascadeLevel::Transitions because transitions are suppressed when both
    are presented.
2. Have CascadeLevel::Animations, but don't have CascadeLevel::Transitions:
  * We also use EffectSet::mPropertiesForAnimationsLevel to filter out
    the unwanted CascadeLevel::Transitions.
3. Don't Have CascadeLevel::Animations, but have CascadeLevel::Transitions:
  * EffectSet::mPropertiesForAnimationsLevel doesn't work for this case.
    In Gecko, mElementsToRestyle can help us to filter out the unwanted
    CascadeLevel::Animations, However, mElementsToRestyle is cleared in
    Pre-Traversal, so now we rely on the cascade ordering of transitions to
    override animations. I think we still need to optimize this eventually.
4. No animations:
  * EffectSet helps us to check if there is any animations/transitions.

Therefore, we need to call MaybeUpdateCascadeResults(), which updates
mPropertiesForAnimationsLevel, in Pre-Traversal.

MozReview-Commit-ID: IHYw56EX7Ta

--HG--
extra : rebase_source : 4d5eb1335cdce9bf54c9646db1fba72ca3f2c70b
2017-03-13 21:09:50 +08:00
Boris Chiou a4aedd5a93 Bug 1339704 - Part 1 - Rename nsCSSPropertyIDSet::Invert as Inverse. r=hiro
This makes it more obvious that the object is not being modified but a
new object is being returned.

MozReview-Commit-ID: A6dH8f12h5A

--HG--
extra : rebase_source : b2f8de2e685129552c598a4be499d703e1a73b6b
2017-03-14 11:30:20 +08:00
BharatR123 c57b3be37c Bug 1302888 - Replace GetPresContext() with nsContentUtils::GetContextForContent() to obtain nsPresContext* in dom/animation r=hiro
Edited all function calls in KeyFrameEffectReadOnly.cpp and one function call in EffectCompositor.cpp

MozReview-Commit-ID: BzSHLZna4xX

--HG--
extra : rebase_source : ee5a8196ce73e67308974b7fb5be19f61982320b
2017-03-13 20:39:49 +05:30
Hiroyuki Ikezoe 11184fb1e8 Bug 1341985 - Trigger the second traversal for updating CSS animations in the case of Servo_ResolveStyleLazily. r=heycam
MozReview-Commit-ID: 7E4unP9M7FQ

--HG--
extra : rebase_source : ee43d00ab84bcd6071ee7bb4cc1de4438229ea1b
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe 843466ec0d Bug 1341985 - Trigger the second traversal for updating CSS animations. r=birtles,heycam
The restyle request during restyling is a result of creating/updating/removing
CSS animations that will come from a SequentialTask which will be implemented
in a subsequent patch.

MozReview-Commit-ID: JoAqvcN3y51

--HG--
extra : rebase_source : fdff59771b81518509dfd52e73d3f63ddb82390d
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe 11c8680e9d Bug 1344619 - Part 7: Drop EffectCompositor::ClearElementsToRestyle. r=birtles
MozReview-Commit-ID: DlTj2OR0wI0

--HG--
extra : rebase_source : 33307226315e6fb3facb000214e27d5582279dd6
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe 9d7c539837 Bug 1344619 - Part 5: Introduce EffectCompositor::PreTraverse() for an element. r=birtles
MozReview-Commit-ID: KCLkwIE8LTM

--HG--
extra : rebase_source : 71aa7d27ad4c3fc59898b97e494e2d7ea43044ad
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe 90d73a1135 Bug 1344619 - Part 2: Introduce EffectCompositor::PreTraverse(). r=birtles
MozReview-Commit-ID: 6ijDJttB9eo

--HG--
extra : rebase_source : 451601b1daf37e7b36d0b8ecda71c34388b78412
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe f9b0c33a05 Bug 1344619 - Part 1: Introduce WillCompose() to update various state that we need to update as the result of ComposeStyle(). r=birtles
MozReview-Commit-ID: JznBR3OghKG

--HG--
extra : rebase_source : 95acb5dc8cdfc81d73b8033cb97eb0c95ff69153
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe feb893ec07 Bug 1341987 - Part 3: Update the last refresh time for transform only when we send transform animations to the compositor. r=birtles
We don't need to update the time during composing style, we just need to
update when transform animations are sent to the compositor. The most
recent refresh time of nsRefreshDriver should be the same in either side.
If the time is skewed, that means we skip composing style, if it happened
that's another bug.

MozReview-Commit-ID: Dxtuocf1ml1

--HG--
extra : rebase_source : 93e8fad24948b1c0b89fa7946639154a82f4a3ae
2017-02-27 11:34:46 +09:00
Hiroyuki Ikezoe 821747a2d1 Bug 1341987 - Part 2: Drop cascade level from last refresh time for transform. r=birtles
We no longer need separate time for cascade levels respectively since we do
send all type of animations on the same element to the compositor regardless
of cascade level.

MozReview-Commit-ID: 7cGQGE3yHvm

--HG--
extra : rebase_source : 009e0cc510faea2b83760c141da545e87de8aeaf
2017-02-27 11:30:56 +09:00
Hiroyuki Ikezoe 0911fca845 Bug 1341987 - Part 1: Rename AnimationRuleRefreshTime to LastTransformSyncTime. r=birtles
It's just for transform animations on the compositor.

MozReview-Commit-ID: 288CcG4kko4

--HG--
extra : rebase_source : 943f67beeecd3c05b7ae2c6608b7a725c47f2b23
2017-02-27 11:29:27 +09:00
Cameron McCormack f63cdecde2 Bug 1297899 - Part 6: Move RestyleManagerHandle functionality into RestyleManager. r=bholley
MozReview-Commit-ID: 7lsti0bGzNr

--HG--
extra : rebase_source : 13c64026190afe5de25f540adb6deea9f518149f
2017-02-13 11:21:33 +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
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
Cameron McCormack 71d4bbc431 Bug 1334735 - Part 2: Add separate flag to track need to flush throttled animations. r=bz,birtles
MozReview-Commit-ID: 6Vi3laKcbmG
2017-02-10 10:42:28 +08:00
Cameron McCormack b2ee81223c Bug 1334735 - Part 1: Move need style/flush flags from document to pres shell. r=bz
MozReview-Commit-ID: 2Amf9yGRiJA
2017-02-10 10:42:27 +08:00
Hiroyuki Ikezoe 97a3868830 Bug 1334982 - Convert animation restyle hints only if we are not in process of restyling. r=heycam
MozReview-Commit-ID: 4pWeWhGaTJv
2017-01-31 16:37:39 +09:00
Boris Chiou dd957f850b Bug 1324691 - Part 1: Use warnings instead of assertions for unsupported OMTA. r=heycam
Make FindAnimationsForCompositor return false because we don't support
OMTA, and use warnings, instead of assertions, because animations sill
work.

We call RequestRestyle(Layer) not only for OMTA but also for
non-compositor-driven animations, so just skip the animation generation part,
and use warnings, instead of assertions.

MozReview-Commit-ID: LNw5aC8jOvh

--HG--
extra : rebase_source : e573c2ec8ef4b32796764e869dc3e1fd58cfa6cb
2017-01-26 15:27:44 +08:00
Boris Chiou f338c9e47d Bug 1317209 - Part 5: Trigger composeStyle if there is an animation. r=heycam
1. Add one new FFI, Gecko_GetAnimationRule, which will try
   to update the animation rule and retrieve a ServoAnimationRule
   from EffectSet.
2. Add GetServoAnimationRule, which calls Animation::ComposeStyle and updates
   mElementsToRestyle.
3. There is no eRestyle_{CSSAnimations|CSSTransitions}, so we use
   eRestyle_Self and eRestyle_Subtree for stylo.

MozReview-Commit-ID: 9RpJurPSFMk

--HG--
extra : rebase_source : 6f1246b73a920aee86faeeaccc42b7f51ed2a6c8
2017-01-24 15:27:56 +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 37f87086c5 Bug 1330190 - Part 2: Add a new function named ResolveStyleWithoutAnimation. r=heycam
Unlike the other one this function does not need an old nsStyleContext.
This function just resolves style without all animation data in the first place.
The existing ResolveStyleWithoutAnimation is renamed to
ResolveStyleByRemovingAnimation.

MozReview-Commit-ID: 1RmCQNw0MmW

--HG--
extra : rebase_source : eaf55ecac77f6bb803b1f9508444bf34106d6da3
2017-01-16 16:57:13 +09:00