servo/tests/ref/iframe
Patrick Walton c72d0c2ed0 layout: Make the compositor rather than layout determine the position of
each iframe.

The old code that attempted to do this during layout wasn't able to work
for multiple reasons: it couldn't know where the iframe was going to be
on the page (because of nested iframes), and at the time it was building
the display list for a fragment it couldn't know where that fragment was
going to be in page coordinates.

This patch rewrites that code so that both the sizes and positions of
iframes are determined by the compositor. Layout layerizes all iframes
and marks the iframe layers with the appropriate pipeline and subpage
IDs so that the compositor can place them correctly. This approach is
similar in spirit to Gecko's `RefLayer` infrastructure. The logic that
determines when it is time to take the screenshot for reftests has been
significantly revamped to deal with this change in delegation of
responsibility.

Additionally, this code removes the infrastructure that sends layout
data back to the layout task to be destroyed, since it is now all
thread-safe and can be destroyed on the script task.

The failing tests now fail because of a pre-existing bug related to
intrinsic heights and borders on inline replaced elements. They happened
to pass before because we never rendered the iframes at all, which meant
they never had a chance to draw the red border the tests expect to not
render!

Closes #7377.
2015-09-29 09:47:28 -07:00
..
bg_color.html Fixes background-color calculation for iframes. Fixes #1248 2015-02-16 08:16:18 +10:00
bg_color_ref.html Fixes background-color calculation for iframes. Fixes #1248 2015-02-16 08:16:18 +10:00
hide_after_load.html Upgrade to the latest rust-layers 2015-09-01 17:57:57 -07:00
hide_after_load_inner_frame.html Upgrade to the latest rust-layers 2015-09-01 17:57:57 -07:00
hide_after_load_ref.html Upgrade to the latest rust-layers 2015-09-01 17:57:57 -07:00
hide_and_show.html Fix making an iframe visible when it was initially set to display:none. 2015-03-03 07:46:26 +10:00
hide_and_show_ref.html Fix making an iframe visible when it was initially set to display:none. 2015-03-03 07:46:26 +10:00
hide_layers1.html Remove compositor layers when iframes are removed from doc or display:none. 2015-03-04 07:51:46 +10:00
hide_layers2.html Remove compositor layers when iframes are removed from doc or display:none. 2015-03-04 07:51:46 +10:00
hide_layers_ref.html Remove compositor layers when iframes are removed from doc or display:none. 2015-03-04 07:51:46 +10:00
multiple_external.html auto merge of #3645 : gilles-leblanc/servo/issue-3481, r=kmcallister 2014-10-14 14:42:33 -06:00
multiple_external_child.html Update and expand iframe tests 2014-09-12 11:29:14 -07:00
multiple_external_ref.html Make sure reftests aren't passing because nothing == nothing 2014-10-10 20:03:13 -04:00
overflow.html Update reftests for UA stylesheet changes. 2014-10-13 12:38:07 +01:00
overflow_ref.html Mask root layer rectangles to their boundaries 2014-09-29 16:42:26 -07:00
positioning_margin.html Do not compound iframe margins when positioning 2014-10-13 17:28:32 -07:00
positioning_margin_ref.html Do not compound iframe margins when positioning 2014-10-13 17:28:32 -07:00
simple.html Update and expand iframe tests 2014-09-12 11:29:14 -07:00
simple_inline_default.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_default_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_height.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_height_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_max.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_max_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_min.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_min_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_width.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_width_height.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_width_height_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_width_percentage.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_width_percentage_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_inline_width_ref.html Add layout support and tests for inline iframes. Fixes #1697. 2015-01-29 16:36:20 +10:00
simple_ref.html Update and expand iframe tests 2014-09-12 11:29:14 -07:00
size_attributes.html script: Implement the width and height attributes for iframes per 2015-05-20 11:15:25 -07:00
size_attributes_ref.html script: Implement the width and height attributes for iframes per 2015-05-20 11:15:25 -07:00
size_attributes_vertical_writing_mode.html Refactor tests/ref/iframe/size_attributes_vertical_writing_mode.html 2015-08-25 12:39:49 +02:00
size_attributes_vertical_writing_mode_ref.html Refactor tests/ref/iframe/size_attributes_vertical_writing_mode.html 2015-08-25 12:39:49 +02:00
stacking_context.html layout: Put iframes that form stacking contexts in the right place. 2015-08-19 12:08:36 -07:00
stacking_context_position_a.html layout: Make the compositor rather than layout determine the position of 2015-09-29 09:47:28 -07:00
stacking_context_position_ref.html layout: Make the compositor rather than layout determine the position of 2015-09-29 09:47:28 -07:00
stacking_context_ref.html layout: Put iframes that form stacking contexts in the right place. 2015-08-19 12:08:36 -07:00