diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index 49c140cbedb..d9da32cf69b 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -1594,11 +1594,8 @@ impl BlockFlowDisplayListBuilding for BlockFlow { scroll_policy, StackingContextCreationMode::Normal)) } else { - match self.fragment.style.get_box().position { - position::T::static_ => {} - _ => { - display_list.form_pseudo_stacking_context_for_positioned_content(); - } + if self.fragment.style.get_box().position != position::T::static_ { + display_list.form_pseudo_stacking_context_for_positioned_content(); } DisplayListBuildingResult::Normal(display_list) } @@ -1717,6 +1714,9 @@ impl BlockFlowDisplayListBuilding for BlockFlow { ScrollPolicy::Scrollable, StackingContextCreationMode::Normal)) } else { + if self.fragment.style.get_box().position != position::T::static_ { + display_list.form_pseudo_stacking_context_for_positioned_content(); + } DisplayListBuildingResult::Normal(display_list) } } diff --git a/tests/ref/basic.list b/tests/ref/basic.list index c9067f5569d..174a7a645b8 100644 --- a/tests/ref/basic.list +++ b/tests/ref/basic.list @@ -113,6 +113,7 @@ prefs:"layout.flex.enabled" == flex_row_direction.html flex_row_direction_ref.ht == float_intrinsic_height.html float_intrinsic_height_ref.html == float_intrinsic_width_a.html float_intrinsic_width_ref.html == float_overflow_area_a.html float_overflow_area_ref.html +== float_positioned_pseudo_stacking_context.html float_positioned_pseudo_stacking_context_ref.html == float_right_intrinsic_width_a.html float_right_intrinsic_width_ref.html == float_table_a.html float_table_ref.html == float_under_top_margin_a.html float_under_top_margin_ref.html diff --git a/tests/ref/float_positioned_pseudo_stacking_context.html b/tests/ref/float_positioned_pseudo_stacking_context.html new file mode 100644 index 00000000000..567608dee9a --- /dev/null +++ b/tests/ref/float_positioned_pseudo_stacking_context.html @@ -0,0 +1,29 @@ + + + + +
+
+ + diff --git a/tests/ref/float_positioned_pseudo_stacking_context_ref.html b/tests/ref/float_positioned_pseudo_stacking_context_ref.html new file mode 100644 index 00000000000..ca58764705c --- /dev/null +++ b/tests/ref/float_positioned_pseudo_stacking_context_ref.html @@ -0,0 +1,28 @@ + + + + +
+
+ + diff --git a/tests/wpt/metadata-css/css21_dev/html4/anonymous-boxes-001.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/anonymous-boxes-001.htm.ini deleted file mode 100644 index 9b3d62e725c..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/anonymous-boxes-001.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[anonymous-boxes-001.htm] - type: reftest - expected: FAIL