servo/components/layout
Martin Robinson ef82d772c1 Don't promote all scrollable regions to stacking contexts
Instead annotate all flows with their owning ScrollRoots. When
processing the display list items into a flattened display list, we add
PushScrollRoot and PopScrollRoot to signal when scrolling regions start
and end. It is possible for content from different scrolling regions to
intersect and when they do, the stack of scrolling regions is
duplicated.  When these duplicated scrolling regions stacks reach
WebRender, it will scroll them in tandem.

The PushScrollRoot and PopScrollRoot items are currently represented as
StackingContexts in WebRender, but eventually these will be replaced
with special WebRender display items.

Fixes #13529.
Fixed #13298.
2016-11-05 18:36:45 +01:00
..
animation.rs Emit TransitionEnd events in the layout thread and process it in the script thread 2016-10-11 19:36:06 -07:00
block.rs Don't promote all scrollable regions to stacking contexts 2016-11-05 18:36:45 +01:00
Cargo.toml Remove the direct azure dependencies from gfx, layout and layout_thread. 2016-11-04 12:14:42 +01:00
construct.rs Make FlowRef a newtype 2016-11-04 13:36:04 -07:00
context.rs Auto merge of #14048 - antrik:nosync-ipc_sender, r=mbrubeck 2016-11-03 21:37:17 -05:00
data.rs Move children_to_process to layout. 2016-10-08 18:20:45 -07:00
display_list_builder.rs Don't promote all scrollable regions to stacking contexts 2016-11-05 18:36:45 +01:00
flex.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
floats.rs layout: Take margins in the inline direction into account when 2016-05-10 17:11:28 -07:00
flow.rs Make FlowRef a newtype 2016-11-04 13:36:04 -07:00
flow_list.rs Make FlowRef a newtype 2016-11-04 13:36:04 -07:00
flow_ref.rs Make FlowRef a newtype 2016-11-04 13:36:04 -07:00
fragment.rs Don't promote all scrollable regions to stacking contexts 2016-11-05 18:36:45 +01: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 Make FlowRef a newtype 2016-11-04 13:36:04 -07:00
layout_debug.rs Create separate layout trace file for each reflow 2016-09-09 17:38:19 +08:00
lib.rs Remove the direct azure dependencies from gfx, layout and layout_thread. 2016-11-04 12:14:42 +01:00
linked_list.rs Move util::linked_list to layout 2016-06-29 17:23:04 +02:00
list_item.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01: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 Make FlowRef a newtype 2016-11-04 13:36:04 -07: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 Update to string-cache 0.3 2016-11-03 16:23:05 +01:00
sequential.rs Fold some DisplayList methods into DisplayListBuildState 2016-11-02 11:18:17 +01:00
table.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
table_caption.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
table_cell.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
table_colgroup.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
table_row.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
table_rowgroup.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
table_wrapper.rs Use a new id type for tracking scrolling areas 2016-10-30 21:10:04 +01:00
text.rs Use word-break to decide how glyph runs should be created 2016-09-27 11:25:21 +02:00
traversal.rs Don't promote all scrollable regions to stacking contexts 2016-11-05 18:36:45 +01:00
webrender_helpers.rs Don't promote all scrollable regions to stacking contexts 2016-11-05 18:36:45 +01:00
wrapper.rs Drop style data from descendants on display:none. 2016-11-01 11:03:04 -07:00