servo/components/layout
Martin Robinson ac5525aeeb Integrate iframes into the display list
Instead of always promoting iframes to StackingContexts, integrate them
into the display list. This prevents stacking bugs when
non-stacking-context elements should be drawn on top of iframes.

To accomplish this, we add another step to ordering layer creation,
where LayeredItems in the DisplayList are added to layers described by
the LayerInfo structures collected at the end of the DisplayList.
Unlayered items that follow these layered items are added to
synthesized layers.

Another result of this change is that iframe layers can be positioned
directly at the location of the iframe fragment, eliminating the need
for the SubpageLayerInfo struct entirely.

Iframes are the first type of content treated this way, but this change
opens up the possibility to properly order canvas and all other layered
content that does not create a stacking context.

Fixes #7566.
Fixes #7796.
2015-10-20 07:29:06 -07:00
..
css Generate the TypeId enums in codegen 2015-10-14 18:45:35 +02:00
animation.rs layout: Do a couple of minor style cleanups. 2015-09-27 15:38:22 -07:00
block.rs Auto merge of #7825 - eefriedman:div-align, r=mbrubeck 2015-10-08 12:20:55 -06:00
Cargo.toml Update servo to use published app units crate 2015-10-01 11:45:35 +10:00
construct.rs Generate the TypeId enums in codegen 2015-10-14 18:45:35 +02:00
context.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
data.rs layout: Make the compositor rather than layout determine the position of 2015-09-29 09:47:28 -07:00
display_list_builder.rs Integrate iframes into the display list 2015-10-20 07:29:06 -07:00
flex.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
floats.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
flow.rs Auto merge of #7825 - eefriedman:div-align, r=mbrubeck 2015-10-08 12:20:55 -06:00
flow_list.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
flow_ref.rs Don’t mark flow_ref::deref_mut as unsafe. 2015-08-21 21:16:25 +02:00
fragment.rs Integrate iframes into the display list 2015-10-20 07:29:06 -07:00
generated_content.rs Fix issues found by rust-clippy 2015-10-12 20:21:49 -04:00
incremental.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
inline.rs Integrate iframes into the display list 2015-10-20 07:29:06 -07:00
layout_debug.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
layout_task.rs Fix issues found by rust-clippy 2015-10-12 20:21:49 -04:00
lib.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
list_item.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
model.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
multicol.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
opaque_node.rs Replace OpaqueNodeMethods::from_{threadsafe_,}layout_node by opaque methods. 2015-06-24 14:55:43 +02:00
parallel.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
query.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
sequential.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
table.rs Cleanup code that was warned by rust-clippy 2015-10-11 20:47:45 -04:00
table_caption.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
table_cell.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
table_colgroup.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
table_row.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
table_rowgroup.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
table_wrapper.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
text.rs Split Au type into separate crate, with minimal dependencies. 2015-10-01 07:16:11 +10:00
traversal.rs Remove unused PostorderDomTraversal::should_prune 2015-10-01 10:01:07 -07:00
wrapper.rs Generate the TypeId enums in codegen 2015-10-14 18:45:35 +02:00