Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Unified Diff: third_party/WebKit/Source/platform/fonts/SimpleFontData.h

Issue 1931393002: Introduce typeface cache in blink::FontCache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wip: others Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 03a087c1cb1609b24553f7fed44f2d9c3ba68c6b..4342cf3fa93458013740143b09dd10774243455f 100644
--- a/third_party/WebKit/Source/platform/fonts/SimpleFontData.h
+++ b/third_party/WebKit/Source/platform/fonts/SimpleFontData.h
@@ -48,14 +48,17 @@ enum FontDataVariant { AutoVariant, NormalVariant, SmallCapsVariant, EmphasisMar
class PLATFORM_EXPORT SimpleFontData : public FontData {
public:
// Used to create platform fonts.
- static PassRefPtr<SimpleFontData> create(const FontPlatformData& platformData, PassRefPtr<CustomFontData> customData = nullptr, bool isTextOrientationFallback = false)
+ static PassRefPtr<SimpleFontData> create(const FontPlatformData& platformData, float fontSize, PassRefPtr<CustomFontData> customData = nullptr, bool isTextOrientationFallback = false)
{
- return adoptRef(new SimpleFontData(platformData, customData, isTextOrientationFallback));
+ return adoptRef(new SimpleFontData(platformData, fontSize, customData, isTextOrientationFallback));
}
~SimpleFontData() override;
const FontPlatformData& platformData() const { return m_platformData; }
+ float size() const { return m_fontSize; }
+ const FontRenderStyle& style() const { return m_style; }
+
const OpenTypeVerticalData* verticalData() const { return m_verticalData.get(); }
PassRefPtr<SimpleFontData> smallCapsFontData(const FontDescription&) const;
@@ -85,8 +88,8 @@ public:
FontMetrics& getFontMetrics() { return m_fontMetrics; }
const FontMetrics& getFontMetrics() const { return m_fontMetrics; }
- float sizePerUnit() const { return platformData().size() / (getFontMetrics().unitsPerEm() ? getFontMetrics().unitsPerEm() : 1); }
- float internalLeading() const { return getFontMetrics().floatHeight() - platformData().size(); }
+ float sizePerUnit() const { return m_fontSize / (getFontMetrics().unitsPerEm() ? getFontMetrics().unitsPerEm() : 1); }
+ float internalLeading() const { return getFontMetrics().floatHeight() - m_fontSize; }
float maxCharWidth() const { return m_maxCharWidth; }
void setMaxCharWidth(float maxCharWidth) { m_maxCharWidth = maxCharWidth; }
@@ -128,7 +131,7 @@ public:
virtual bool fillGlyphPage(GlyphPage* pageToFill, unsigned offset, unsigned length, UChar* buffer, unsigned bufferLength) const;
protected:
- SimpleFontData(const FontPlatformData&, PassRefPtr<CustomFontData> customData, bool isTextOrientationFallback = false);
+ SimpleFontData(const FontPlatformData&, float fontSize, PassRefPtr<CustomFontData> customData, bool isTextOrientationFallback = false);
SimpleFontData(PassRefPtr<CustomFontData> customData, float fontSize, bool syntheticBold, bool syntheticItalic);
@@ -144,6 +147,8 @@ private:
float m_avgCharWidth;
FontPlatformData m_platformData;
+ float m_fontSize;
+ FontRenderStyle m_style;
mutable OwnPtr<GlyphMetricsMap<FloatRect>> m_glyphToBoundsMap;
mutable GlyphMetricsMap<float> m_glyphToWidthMap;

Powered by Google App Engine
This is Rietveld 408576698