[layoutng] Inline the ShapeResultSpacing constructor
Good performance data:
https://pinpoint-dot-chromeperf.appspot.com/job/11a140e8f40000
Change-Id: I171ca316fbd8336576dbc78929bf48d35b1494e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1330077
Auto-Submit: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#640900}
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.cc
index 8e6a111d..128481c 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.cc
@@ -10,21 +10,6 @@
namespace blink {
template <typename TextContainerType>
-ShapeResultSpacing<TextContainerType>::ShapeResultSpacing(
- const TextContainerType& text)
- : text_(text),
- letter_spacing_(0),
- word_spacing_(0),
- expansion_(0),
- expansion_per_opportunity_(0),
- expansion_opportunity_count_(0),
- text_justify_(TextJustify::kAuto),
- has_spacing_(false),
- normalize_space_(false),
- allow_tabs_(false),
- is_after_expansion_(false) {}
-
-template <typename TextContainerType>
bool ShapeResultSpacing<TextContainerType>::SetSpacing(
const FontDescription& font_description) {
if (!font_description.LetterSpacing() && !font_description.WordSpacing()) {
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.h
index 391de422..42a3061 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.h
@@ -20,7 +20,18 @@
STACK_ALLOCATED();
public:
- explicit ShapeResultSpacing(const TextContainerType&);
+ explicit ShapeResultSpacing(const TextContainerType& text)
+ : text_(text),
+ letter_spacing_(0),
+ word_spacing_(0),
+ expansion_(0),
+ expansion_per_opportunity_(0),
+ expansion_opportunity_count_(0),
+ text_justify_(TextJustify::kAuto),
+ has_spacing_(false),
+ normalize_space_(false),
+ allow_tabs_(false),
+ is_after_expansion_(false) {}
const TextContainerType& Text() const { return text_; }
float LetterSpacing() const { return letter_spacing_; }