servo/components/layout_2020
Martin Robinson c3b1c92ac1 layout_2020: Paint hoisted positioned fragments in tree order
Instead of painting hoisted position fragments in the order to which
they are hoisted, paint them in tree order and properly incorporate them
into the stacking context.

We do this by creating a placeholder fragment in the original tree position
of hoisted fragments. The ghost fragment contains an atomic id which
links back to the hoisted fragment in the containing block.

While building the stacking context, we keep track of containing blocks
and their children. When encountering a placeholder fragment we look at
the containing block's hoisted children in order to properly paint the
hoisted fragment.

One notable design modification in this change is that hoisted fragments
no longer need an AnonymousFragment as their parent. Instead they are
now direct children of the fragment that establishes their containing block.
2020-03-11 12:47:06 +01:00
..
display_list layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
flow layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
Cargo.toml layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
context.rs remove option for origin and mirror changes to layout_thread_2020 2020-02-18 00:57:33 +05:30
data.rs Import victor's layout system 🍷 2019-09-11 10:36:30 +02:00
dom_traversal.rs Canvas rendering for layout 2020 2020-03-06 13:23:07 +01:00
element_data.rs Make some of layout_2020 private 2019-10-04 17:51:05 +02:00
formatting_contexts.rs Dump box tree state into json files and display it on layout 2020 viewer 2020-02-21 11:11:00 +01:00
fragments.rs layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
geom.rs Add layout debugger support to layout_2020 2020-02-21 11:11:00 +01:00
layout_debug.rs Minor improvements to layout_debug and associated code 2020-02-21 16:34:32 +01:00
lib.rs layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
opaque_node.rs Remove layout_2020::display_list, use WebRender display lists instead 2019-09-07 19:38:44 +02:00
positioned.rs layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
query.rs Fix rebase issues and run Prettier on layout viewer code 2020-02-21 11:11:00 +01:00
replaced.rs Canvas rendering for layout 2020 2020-03-06 13:23:07 +01:00
sizing.rs Dump box tree state into json files and display it on layout 2020 viewer 2020-02-21 11:11:00 +01:00
style_ext.rs layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
traversal.rs Pass a LayoutContext through box construction 2019-12-02 22:26:49 +01:00
wrapper.rs Remove most of the things in layout 2020 2019-07-31 17:09:17 +02:00