[LayoutNG] Deduplicate code in CreateExclusionShapeData().
Change-Id: I6017cfa22dd176e88b6b6e64a3f594173e2851a2
Reviewed-on: https://chromium-review.googlesource.com/c/1326141
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606432}
diff --git a/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc b/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc
index 818ac0b..834c45d 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc
@@ -118,25 +118,15 @@
case CSSBoxType::kBorder:
break;
case CSSBoxType::kPadding:
- shape_insets =
- ComputeBorders(CreateConstraintSpaceForFloat(
- float_available_size, float_percentage_size,
- float_replaced_percentage_size, unpositioned_float,
- parent_space),
- style)
- .ConvertToPhysical(style.GetWritingMode(), style.Direction())
- .ConvertToLogical(parent_space.GetWritingMode(),
- TextDirection::kLtr);
- break;
case CSSBoxType::kContent:
const NGConstraintSpace space = CreateConstraintSpaceForFloat(
float_available_size, float_percentage_size,
float_replaced_percentage_size, unpositioned_float, parent_space);
- NGBoxStrut border_padding =
- ComputeBorders(space, style) + ComputePadding(space, style);
+ NGBoxStrut strut = ComputeBorders(space, style);
+ if (style.ShapeOutside()->CssBox() == CSSBoxType::kContent)
+ strut += ComputePadding(space, style);
shape_insets =
- border_padding
- .ConvertToPhysical(style.GetWritingMode(), style.Direction())
+ strut.ConvertToPhysical(style.GetWritingMode(), style.Direction())
.ConvertToLogical(parent_space.GetWritingMode(),
TextDirection::kLtr);
break;