servo/components/layout
Martin Robinson be62ad7117 Integrate stacking contexts into the display list
Integrate stacking contexts into the display list by adding two new
entry types, PushStackingContext and PopStackingContext. This allows us
to eliminate the ugly offsets map that DisplayList used to contain
and seems to speed up display list construction. With this approach
we are able to also completely prune pseudo-stacking contexts from the
final display list and remove their (minimal) overhead from display
list traversal Traversing the display list is also a bit simpler now.

Additionally, this will allow easier editing of the DisplayList to
properly support scrolling roots. The push/pop entries can be
duplicated to clone complex StackingContext trees between layers.
2016-10-13 09:50:45 +02:00
..
animation.rs Make RestyleDamage::compute take no optional argument, delegate the handling to the caller. 2016-08-10 18:26:24 -07:00
block.rs add SVG fragment (SpecificFragmentInfo::Svg) 2016-10-07 21:41:02 +03:00
Cargo.toml Update to Rust 1.14.0-nightly (19ac57926 2016-10-08) 2016-10-09 18:53:47 +02:00
construct.rs Move children_to_process to layout. 2016-10-08 18:20:45 -07:00
context.rs Move image fetching methods to SharedLayoutContext. 2016-08-23 16:13:23 +02:00
data.rs Move children_to_process to layout. 2016-10-08 18:20:45 -07:00
display_list_builder.rs Integrate stacking contexts into the display list 2016-10-13 09:50:45 +02:00
flex.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
floats.rs layout: Take margins in the inline direction into account when 2016-05-10 17:11:28 -07:00
flow.rs Stop using Ref::map for selected_style and resolved_style. 2016-10-02 19:19:52 -07:00
flow_list.rs Use impl DoubleEndedIterator for two flow_list iterators 2016-08-14 19:06:18 +02:00
flow_ref.rs Correct the signature of flow_ref::deref_mut. 2016-06-06 15:14:23 +02:00
fragment.rs Auto merge of #13589 - splav:SVGElement#12974, r=pcwalton,Ms2ger 2016-10-07 17:40:13 -05:00
generated_content.rs Reorder use statements 2016-09-09 04:55:19 +02:00
incremental.rs Introduce a script_layout_interface crate and move RestyleDamage to it. 2016-06-20 19:02:36 +02:00
inline.rs layout: Place inline absolute hypothetical boxes properly during block 2016-10-04 18:40:40 -07:00
layout_debug.rs Create separate layout trace file for each reflow 2016-09-09 17:38:19 +08:00
lib.rs #13262 Add a unit test verifying that SpecificFragmentInfo size 2016-09-25 10:35:39 +02:00
linked_list.rs Move util::linked_list to layout 2016-06-29 17:23:04 +02:00
list_item.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
model.rs layout: Use the fragment's writing mode when computing sizes relevant to that fragment. 2016-10-02 17:57:07 +02:00
multicol.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
opaque_node.rs Introduce LayoutJS<Node>::opaque() to replace OpaqueNodeMethods::from_jsmanaged(). 2016-06-20 19:08:02 +02:00
parallel.rs Reorder use statements 2016-09-09 04:55:19 +02:00
persistent_list.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
query.rs Pass &mut Flow to query functions. 2016-08-25 09:40:20 +02:00
sequential.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
table.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
table_caption.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
table_cell.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
table_colgroup.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
table_row.rs Auto merge of #13401 - notriddle:master, r=pcwalton 2016-09-29 13:16:24 -05:00
table_rowgroup.rs Simplify stacking context collection 2016-09-27 10:48:44 +02:00
table_wrapper.rs Auto merge of #13401 - notriddle:master, r=pcwalton 2016-09-29 13:16:24 -05:00
text.rs Use word-break to decide how glyph runs should be created 2016-09-27 11:25:21 +02:00
traversal.rs Reorder use statements 2016-09-09 04:55:19 +02:00
webrender_helpers.rs Integrate stacking contexts into the display list 2016-10-13 09:50:45 +02:00
wrapper.rs Rename PrivateStyleData to PersistentStyleData and use AtomicRefCell instead of RefCell as a container. 2016-10-02 19:19:52 -07:00