@@ -83,53 +83,51 @@ impl BlockLevelBox {
83
83
let start_margin = pbm. margin . block_start . auto_is ( Length :: zero) ;
84
84
collected_margin. adjoin_assign ( & CollapsedMargin :: new ( start_margin) ) ;
85
85
86
- let contents = match self {
87
- BlockLevelBox :: SameFormattingContextBlock { ref contents, .. } => contents,
86
+ let child_boxes = match self {
87
+ BlockLevelBox :: SameFormattingContextBlock { ref contents, .. } => match contents {
88
+ BlockContainer :: BlockLevelBoxes ( boxes) => boxes,
89
+ BlockContainer :: InlineFormattingContext ( _) => return false ,
90
+ } ,
88
91
_ => return false ,
89
92
} ;
90
93
91
94
if pbm. padding . block_start != Length :: zero ( ) || pbm. border . block_start != Length :: zero ( ) {
92
95
return false ;
93
96
}
94
97
95
- match contents {
96
- BlockContainer :: BlockLevelBoxes ( boxes) => {
97
- let min_inline_size = style
98
- . content_min_box_size ( containing_block, & pbm)
99
- . auto_is ( Length :: zero)
100
- . inline ;
101
- let max_inline_size = style. content_max_box_size ( containing_block, & pbm) . inline ;
102
- let inline_size = style
103
- . content_box_size ( containing_block, & pbm)
104
- . inline
105
- . auto_is ( || {
106
- let margin_inline_start = pbm. margin . inline_start . auto_is ( Length :: zero) ;
107
- let margin_inline_end = pbm. margin . inline_end . auto_is ( Length :: zero) ;
108
- containing_block. inline_size -
109
- pbm. padding_border_sums . inline -
110
- margin_inline_start -
111
- margin_inline_end
112
- } )
113
- . clamp_between_extremums ( min_inline_size, max_inline_size) ;
114
-
115
- // The block size is irrelevant here.
116
- let block_size = LengthOrAuto :: Auto ;
117
-
118
- let containing_block_for_children = ContainingBlock {
119
- inline_size,
120
- block_size,
121
- style,
122
- } ;
98
+ let min_inline_size = style
99
+ . content_min_box_size ( containing_block, & pbm)
100
+ . auto_is ( Length :: zero)
101
+ . inline ;
102
+ let max_inline_size = style. content_max_box_size ( containing_block, & pbm) . inline ;
103
+ let inline_size = style
104
+ . content_box_size ( containing_block, & pbm)
105
+ . inline
106
+ . auto_is ( || {
107
+ let margin_inline_start = pbm. margin . inline_start . auto_is ( Length :: zero) ;
108
+ let margin_inline_end = pbm. margin . inline_end . auto_is ( Length :: zero) ;
109
+ containing_block. inline_size -
110
+ pbm. padding_border_sums . inline -
111
+ margin_inline_start -
112
+ margin_inline_end
113
+ } )
114
+ . clamp_between_extremums ( min_inline_size, max_inline_size) ;
115
+
116
+ // The block size is irrelevant here.
117
+ let block_size = LengthOrAuto :: Auto ;
118
+
119
+ let containing_block_for_children = ContainingBlock {
120
+ inline_size,
121
+ block_size,
122
+ style,
123
+ } ;
123
124
124
- if !Self :: find_block_margin_collapsing_with_parent_from_slice (
125
- & boxes,
126
- collected_margin,
127
- & containing_block_for_children,
128
- ) {
129
- return false ;
130
- }
131
- } ,
132
- BlockContainer :: InlineFormattingContext ( _) => return false ,
125
+ if !Self :: find_block_margin_collapsing_with_parent_from_slice (
126
+ & child_boxes,
127
+ collected_margin,
128
+ & containing_block_for_children,
129
+ ) {
130
+ return false ;
133
131
}
134
132
135
133
let block_size_zero =
0 commit comments