diff options
author | Patrick Walton <pcwalton@mimiga.net> | 2015-08-19 12:07:14 -0700 |
---|---|---|
committer | Patrick Walton <pcwalton@mimiga.net> | 2015-08-19 12:08:36 -0700 |
commit | 4df4d1a1a9e8fa53c862fc0d42aa43c58eee3fa3 (patch) | |
tree | e29df8fceef46378752a905571fd7e9e8e268553 /components | |
parent | 5c284a546a539ddcc546fc5c00ab06568f352f11 (diff) | |
download | servo-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.rs | 12 |
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) } } |