servo/components/layout
bors-servo aba500a698 Auto merge of #9858 - glennw:anim-smoothness, r=pcwalton
Fix animation smoothness when using requestAnimationFrame.

Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9858)
<!-- Reviewable:end -->
2016-03-04 05:50:50 +05:30
..
animation.rs Move AnimationState to script_traits 2016-01-13 18:14:12 -05:00
block.rs layout: Remove the validate_display_list_geometry debugging tool. 2016-03-03 13:09:55 -08:00
Cargo.toml Indicate components should not be published to crates.io. 2016-03-03 15:04:44 -05:00
construct.rs Remove unused fixed_descendants: AbsoluteDescendants 2016-01-28 09:43:14 +01:00
context.rs Don't use image metadata for layout when rendering to a file 2016-02-25 13:47:27 -08:00
data.rs Refactor style to be completely backend-independent 2016-02-13 16:05:14 +01:00
display_list_builder.rs layout: Minor whitespace cleanup. 2016-03-03 13:09:57 -08:00
flex.rs layout: Remove the validate_display_list_geometry debugging tool. 2016-03-03 13:09:55 -08:00
floats.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
flow.rs layout: Switch display list building from bottom-up to top-down. 2016-03-03 13:09:56 -08:00
flow_list.rs Add Multicolumn support block fragmentation. 2016-01-28 09:43:14 +01:00
flow_ref.rs Remove explicit lifetimes which can be elided. 2015-10-21 01:27:48 +02:00
fragment.rs Flatten display list structure 2016-03-01 14:50:07 -08:00
generated_content.rs Introduce a concept of restyle damage to the style system. 2016-01-04 09:38:04 -08:00
incremental.rs style: Refactor the per_pseudo map from StyleData to avoid having an option value type. 2016-02-13 16:05:17 +01:00
inline.rs gfx: Stop cloning clipping regions so much. 2016-03-03 13:09:50 -08:00
layout_debug.rs Update to rustc 1.7.0-nightly (b4707ebca 2015-12-27) 2016-01-14 14:56:18 -06:00
layout_thread.rs Auto merge of #9858 - glennw:anim-smoothness, r=pcwalton 2016-03-04 05:50:50 +05:30
lib.rs Move util::range into its own crate 2016-02-25 21:06:10 -05:00
list_item.rs layout: Remove the validate_display_list_geometry debugging tool. 2016-03-03 13:09:55 -08:00
model.rs Move util::logical_geometry to style 2016-02-18 10:17:13 +01:00
multicol.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
opaque_node.rs Replace OpaqueNodeMethods::from_{threadsafe_,}layout_node by opaque methods. 2015-06-24 14:55:43 +02:00
parallel.rs Remove parallel display list construction 2016-02-19 15:53:12 -08:00
persistent_list.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
query.rs Suppress reflows before RefreshTick or FirstLoad 2016-03-03 15:17:46 -07:00
sequential.rs layout: Switch display list building from bottom-up to top-down. 2016-03-03 13:09:56 -08:00
table.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_caption.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_cell.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_colgroup.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_row.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_rowgroup.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_wrapper.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
text.rs Move util::range into its own crate 2016-02-25 21:06:10 -05:00
traversal.rs layout: Switch display list building from bottom-up to top-down. 2016-03-03 13:09:56 -08:00
webrender_helpers.rs Flatten display list structure 2016-03-01 14:50:07 -08:00
wrapper.rs Dirty elements whose selectors are affected by sibling changes 2016-02-23 17:31:38 -08:00