aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/animation.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Complete animations whether or not cascade is doneMichael Howell2016-07-281-0/+26
| | | | Fixes #12554
* style: Add a new Timer structure to the shared style context, and basic ↵Emilio Cobos Álvarez2016-07-201-9/+12
| | | | infrastructure for controlling animations.
* Have a concrete SelectorImpl type everywhere in the style crate.Simon Sapin2016-07-201-22/+20
| | | | | It is conditionally compiled to one implementation or the other (Gecko or Servo) with `#[cfg(…)]`.
* Rename ComputedValuesStruct to ComputedValues.Simon Sapin2016-07-201-15/+15
| | | | | Doing this in a separate commit avoids mixups with the ComputedValues trait that the previous commit removed.
* Remove the ComputedValue traits and style_struct_traitsSimon Sapin2016-07-201-34/+33
|
* Fix a build warning in animation.rs.Ms2ger2016-07-081-1/+1
|
* style: Fix timing-function overriding from the keyframe declaration list.Emilio Cobos Álvarez2016-07-071-1/+3
| | | | | | The previous behavior is plain wrong, since that array has always at least one element, so we effectively couldn't specify anything else than "ease" in our animations.
* style: Do not re-expire animations.Emilio Cobos Álvarez2016-07-031-2/+2
| | | | | | | | | | | | | | | | | | If we're restyling a page with animations and layout takes too long, we might still have the expired animations from the last restyle, without these being cleared out by layout on `tick_animations`. Unfortunately it's hard (near to impossible?) to make a reduced test case for this, since it heavily depends on the speed of the build and conditions that only happen under heavy loads. Mainly, it depends on how accurately the `TickAllAnimations` message is sent from the constellation. Thus, we can't just re-expire an animation, and we should re-check for it as a previous animation. Fixes #12171
* Auto merge of #11972 - emilio:style-thingies, r=bholleybors-servo2016-07-021-40/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Staticize CASCADE_PROPERTIES, (temporarily) fix stylo path for animations, and introduce the long-term path to follow <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors <!-- Either: --> - [x] These changes do not require tests because refactoring + geckolib <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> @bholley: I was going to do this "the good way", but that involves quite a few properties, so I thought I'd rather unlock stylo before :) r? @bholley <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11972) <!-- Reviewable:end -->
| * style: remove is_servo(), as_servo() and as_servo_mut()Emilio Cobos Álvarez2016-07-011-5/+0
| | | | | | | | | | | | | | | | | | This commit adds a need_index prop to the style system, and autogenerates iterators, and a get_xxx_mod(i) function from a get_xxx_prop() and get_xxx_at(index) functions. This allows us to (finally!) take rid of the as_servo() hack. There are a few unimplemented clones, but I'm just too lazy for that right now.
| * style: Add a generic way to deal with lists of values, ditch all uses of ↵Emilio Cobos Álvarez2016-07-011-40/+23
| | | | | | | | as_servo in style/animations.rs
| * style: Add a temporary workaround for geckolib animations.Emilio Cobos Álvarez2016-07-011-0/+5
| | | | | | | | | | With needs_borrow we will be able to remove this, though we'll have to implement clone_ and borrow_ methods for a bunch of properties.
* | style: Remove the Mutex from new_animations_sender by moving it to the local ↵Emilio Cobos Álvarez2016-07-011-16/+15
|/ | | | | | | | | | StyleContext. As a follow-up, we could move all the data living under a mutex in the SharedLayoutContext only in order to create the local context to the same place. This should increase animation performance when there are multiple animations in one page that happen to be on different threads.
* style: Remove an unsound where clause, and don't reset the iteration count ↵Emilio Cobos Álvarez2016-06-281-2/+11
| | | | on restyle.
* style: Fix parsing and add generated keyframesEmilio Cobos Álvarez2016-06-281-35/+61
|
* style: Allow pausing and unpausing animations.Emilio Cobos Álvarez2016-06-281-43/+134
| | | | | | There's a bit of flickering when unpausing where the node has the original state, but I'm not totally sure where it comes from, posibly from PropertyAnimation returning None due to no styles changing?
* style: WTF I was thinking about when I wrote that?Emilio Cobos Álvarez2016-06-281-8/+2
|
* style: Support animation-direction.Emilio Cobos Álvarez2016-06-281-15/+91
|
* tidy: Clean up warnings and tidy lints.Emilio Cobos Álvarez2016-06-281-24/+34
|
* style: layout: Get actual keyframes working!Emilio Cobos Álvarez2016-06-281-14/+28
| | | | | | | | | | | | | | | | | | | | | There are a few shortcomings, for example: * We don't do the same as other browsers when some properties are not specified in some of the keyframes, though this is easy to work out (though a bit more expensive in the sense that we should apply all the previous keyframes' style instead of just the previous and the next. * To trigger the initial animation, a restyle is necessary. Should be easy to do an initial restyle off-hand or something like that, but for now this is worked-around adding a :hover rule to the node. Also, the animation is resetted when the node is hovered. That's a bug, but is probably not so difficult to test. * A few things, mainly animation-direction, are not supported yet, but shouldn't be that hard to support. Still a lot of work to do, but I think this approach might be ok.
* layout: Make animations work... more or less.Emilio Cobos Álvarez2016-06-281-3/+32
| | | | | | | | There's some maths I've done wrong, but it DOES animate some things, though they're only triggered past the first restyle, and we probably have some duplications where the animations arrive to layout. Anyway, got to go.
* style: Rewrite the animation representation to allow having state in layoutEmilio Cobos Álvarez2016-06-281-109/+225
| | | | | I have to make the appropriate changes in layout, but I'm running out of battery in the bus.
* style: Atomize animation names.Emilio Cobos Álvarez2016-06-281-1/+1
|
* style: Actually animate something!Emilio Cobos Álvarez2016-06-281-2/+110
| | | | | | | So this actually allows some more animations to be triggered. The bad part of this is that they're actually triggered always when the style is recalculated, so we're going to have at least some more state into the node, and the constellation, which would have to keep track of the animations states.
* style: Make animation functions as generic as possible.Emilio Cobos Álvarez2016-06-281-12/+12
|
* style: Refactor all the animated properties to use the style system properlyEmilio Cobos Álvarez2016-06-281-837/+36
|
* style: Refactor to pass animations cleanly, land animation-name parsing as ↵Emilio Cobos Álvarez2016-06-281-1/+1
| | | | experimental
* Add some documentation to the style crate.Ms2ger2016-06-271-9/+35
|
* Report use statements that use {} with only one entryCullen Rhodes2016-05-271-2/+2
|
* Move width and height from Box to Position.Cameron McCormack2016-05-041-4/+4
| | | | This helps with style struct alignment between Servo and Gecko.
* Removed the T prefix for the style traitsPer Lundberg2016-04-121-1/+1
| | | | | | More work as described in #10185. The reason I upgraded lazy_static to 0.1.16 is because it fixes an issue with the Box name (std::boxed::Box was used in an unqualified name, which can cause name clashes when there is another type that exists with the same name).
* Move some CSS properties from Animation to Box and delete AnimationMauricio Collares2016-04-051-9/+9
|
* Move CSS line-height property from InheritedBox to InheritedTextMauricio Collares2016-04-051-2/+2
|
* Move some CSS properties from Box to PositionMauricio Collares2016-04-051-10/+10
|
* Rename PositionOffsets to PositionMauricio Collares2016-04-051-8/+8
|
* Move CSS text-shadow property from Effects to InheritedTextMauricio Collares2016-04-051-3/+3
|
* Renamed TComputedValues to ComputedValuesPer Lundberg2016-03-291-7/+7
| | | | This is a followup to #10210, and a continuation of #10185.
* ComputedValues is now ServoComputedValuesPer Lundberg2016-03-271-6/+6
| | | | This is the first part of #10185. More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.
* Parameterize the rest of the style system on TNode.Bobby Holley2016-03-241-15/+17
|
* Introduce traits for style structs and computed values.Bobby Holley2016-03-241-1/+1
|
* Move util::bezier to styleAnthony Ramine2016-02-141-1/+1
|
* style: Refactor the per_pseudo map from StyleData to avoid having an option ↵Emilio Cobos Álvarez2016-02-131-1/+1
| | | | | | value type. This make the layout code way clearer.
* Hoist the rest of css/matching.rs into style/.Bobby Holley2016-01-041-1/+63
|
* Hoist style-related context bits into style/.Bobby Holley2015-12-291-0/+23
| | | | | | | | We do a few things-here: * Hoist non-layout-dependent fields in SharedLayoutData and LocalLayoutData into style/. * Hoist parts of css/matching.rs into style/. * Hoist parts of layout/animation.rs into style/animation.rs. * Remove the duplicated-but-slightly-different definition of OpaqueNode.
* Fix warnings: Use Vec.extend_from_slice instead of Vec.push_allTetsuharu OHZEKI2015-12-101-1/+1
|
* Implement calc expressions for more value typesDavid Zbarsky2015-11-011-12/+12
|
* Split Au type into separate crate, with minimal dependencies.Glenn Watson2015-10-011-1/+1
|
* Check for Extra pointer dereferencing. Issue #7640.Jaydeep2015-09-261-5/+5
|
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-2/+2
|
* Add transitions for CSS `calc()`.Michael Howell2015-09-191-3/+26
| | | | Closes #7284