aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2015-08-19 12:07:14 -0700
committerPatrick Walton <pcwalton@mimiga.net>2015-08-19 12:08:36 -0700
commit4df4d1a1a9e8fa53c862fc0d42aa43c58eee3fa3 (patch)
treee29df8fceef46378752a905571fd7e9e8e268553 /components
parent5c284a546a539ddcc546fc5c00ab06568f352f11 (diff)
downloadservo-4df4d1a1a9e8fa53c862fc0d42aa43c58eee3fa3.tar.gz
servo-4df4d1a1a9e8fa53c862fc0d42aa43c58eee3fa3.zip
layout: Put iframes that form stacking contexts in the right place.
Improves eBay. Closes #7282.
Diffstat (limited to 'components')
-rw-r--r--components/layout/display_list_builder.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs
index 8710c519de0..59264e24a8f 100644
--- a/components/layout/display_list_builder.rs
+++ b/components/layout/display_list_builder.rs
@@ -1011,9 +1011,15 @@ impl FragmentDisplayListBuilding for Fragment {
// because layout for the iframe only needs to know size, and origin is only relevant if
// the iframe is actually going to be displayed.
if let SpecificFragmentInfo::Iframe(ref iframe_fragment) = self.specific {
- self.finalize_position_and_size_of_iframe(&**iframe_fragment,
- stacking_relative_border_box.origin,
- layout_context)
+ let stacking_relative_border_box_in_parent_coordinate_system =
+ self.stacking_relative_border_box(stacking_relative_flow_origin,
+ relative_containing_block_size,
+ relative_containing_block_mode,
+ CoordinateSystem::Parent);
+ self.finalize_position_and_size_of_iframe(
+ &**iframe_fragment,
+ stacking_relative_border_box_in_parent_coordinate_system.origin,
+ layout_context)
}
}