| Index: third_party/WebKit/Source/platform/fonts/SimpleFontData.h
|
| diff --git a/third_party/WebKit/Source/platform/fonts/SimpleFontData.h b/third_party/WebKit/Source/platform/fonts/SimpleFontData.h
|
| index 6d81bfc6f2d3d1f1f12a5e2b7010728d59d8e216..5b1749043521e77eae16ab957c264b963a2d0788 100644
|
| --- a/third_party/WebKit/Source/platform/fonts/SimpleFontData.h
|
| +++ b/third_party/WebKit/Source/platform/fonts/SimpleFontData.h
|
| @@ -118,6 +118,11 @@ class PLATFORM_EXPORT SimpleFontData : public FontData {
|
| return GetFontMetrics().FloatHeight() - PlatformData().size();
|
| }
|
|
|
| + // "em height" metrics.
|
| + // https://drafts.css-houdini.org/font-metrics-api-1/#fontmetrics
|
| + LayoutUnit EmHeightAscent(FontBaseline = kAlphabeticBaseline) const;
|
| + LayoutUnit EmHeightDescent(FontBaseline = kAlphabeticBaseline) const;
|
| +
|
| float MaxCharWidth() const { return max_char_width_; }
|
| void SetMaxCharWidth(float max_char_width) {
|
| max_char_width_ = max_char_width;
|
| @@ -187,6 +192,9 @@ class PLATFORM_EXPORT SimpleFontData : public FontData {
|
| PassRefPtr<SimpleFontData> CreateScaledFontData(const FontDescription&,
|
| float scale_factor) const;
|
|
|
| + void ComputeEmHeightMetrics() const;
|
| + bool NormalizeEmHeightMetrics(float, float) const;
|
| +
|
| FontMetrics font_metrics_;
|
| float max_char_width_;
|
| float avg_char_width_;
|
| @@ -231,6 +239,9 @@ class PLATFORM_EXPORT SimpleFontData : public FontData {
|
| unsigned visual_overflow_inflation_for_ascent_ : 2;
|
| unsigned visual_overflow_inflation_for_descent_ : 2;
|
|
|
| + mutable LayoutUnit em_height_ascent_;
|
| + mutable LayoutUnit em_height_descent_;
|
| +
|
| // See discussion on crbug.com/631032 and Skiaissue
|
| // https://bugs.chromium.org/p/skia/issues/detail?id=5328 :
|
| // On Mac we're still using path based glyph metrics, and they seem to be
|
|
|