[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;