diff --git a/components/layout/block.rs b/components/layout/block.rs index 57ebe275502..6355ecea7cc 100644 --- a/components/layout/block.rs +++ b/components/layout/block.rs @@ -1300,7 +1300,12 @@ impl BlockFlow { self.base.position.start.b = solution.block_start + self.fragment.margin.block_start } - let block_size = solution.block_size + self.fragment.border_padding.block_start_end(); + let block_size = if self.fragment.is_replaced() { + solution.block_size + } else { + (solution.block_size + self.fragment.border_padding.block_start_end()) + }; + self.fragment.border_box.size.block = block_size; self.base.position.size.block = block_size; diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 26c3042306c..fa320f79cd2 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -73,6 +73,18 @@ {} ] ], + "css/absolute_div_with_padding.html": [ + [ + "/_mozilla/css/absolute_div_with_padding.html", + [ + [ + "/_mozilla/css/absolute_div_with_padding_ref.html", + "==" + ] + ], + {} + ] + ], "css/absolute_hypothetical_float.html": [ [ "/_mozilla/css/absolute_hypothetical_float.html", @@ -109,6 +121,18 @@ {} ] ], + "css/absolute_img_with_padding.html": [ + [ + "/_mozilla/css/absolute_img_with_padding.html", + [ + [ + "/_mozilla/css/absolute_img_with_padding_ref.html", + "==" + ] + ], + {} + ] + ], "css/absolute_inline_containing_block_a.html": [ [ "/_mozilla/css/absolute_inline_containing_block_a.html", @@ -7906,6 +7930,11 @@ {} ] ], + "css/absolute_img_with_padding_ref.html": [ + [ + {} + ] + ], "css/absolute_inline_containing_block_ref.html": [ [ {} @@ -60876,6 +60905,10 @@ "e38f77f3a7691b11abeece839aba62ce9246ff6a", "support" ], + "css/absolute_div_with_padding.html": [ + "6bfd1ae130e22c3083070a3574f827ded86f6724", + "reftest" + ], "css/absolute_hypothetical_float.html": [ "1abe08648b55df2390cb2b6561923aa576212fbf", "reftest" @@ -60900,6 +60933,14 @@ "400117a1d118ee05db150877aa81bb414f4e7200", "support" ], + "css/absolute_img_with_padding.html": [ + "15896a5c1c77109c26624248d3df213788eb186c", + "reftest" + ], + "css/absolute_img_with_padding_ref.html": [ + "3f949e99ab09c5f8ce352a7987330d99023d7f0d", + "support" + ], "css/absolute_inline_containing_block_a.html": [ "8174a236497815db250a3b11aeb322e0e9c7c74f", "reftest" diff --git a/tests/wpt/mozilla/tests/css/absolute_div_with_padding.html b/tests/wpt/mozilla/tests/css/absolute_div_with_padding.html new file mode 100644 index 00000000000..29c43bcdfce --- /dev/null +++ b/tests/wpt/mozilla/tests/css/absolute_div_with_padding.html @@ -0,0 +1,24 @@ + + +