Rename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData
authorantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jan 2015 19:21:28 +0000 (19:21 +0000)
committerantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jan 2015 19:21:28 +0000 (19:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=140124

Reviewed by Anders Carlsson.

The current name is vague and confusing (as AdditionalFontData is not a FontData).

* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::glyphDataForCharacter):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::SimpleFontData):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::fillGlyphPage):
(WebCore::SimpleFontData::createScaledFontData):
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::widthForGlyph):
* rendering/svg/SVGTextLayoutEngineSpacing.cpp:
(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::svgFontAndFontFaceElementForFontData):
* svg/SVGFontData.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177975 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/FontGlyphs.cpp
Source/WebCore/platform/graphics/SimpleFontData.cpp
Source/WebCore/platform/graphics/SimpleFontData.h
Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp
Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp
Source/WebCore/svg/SVGFontData.h

index 27c23b2..e5dff26 100644 (file)
@@ -1,3 +1,27 @@
+2015-01-06  Antti Koivisto  <antti@apple.com>
+
+        Rename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData
+        https://bugs.webkit.org/show_bug.cgi?id=140124
+
+        Reviewed by Anders Carlsson.
+
+        The current name is vague and confusing (as AdditionalFontData is not a FontData).
+
+        * platform/graphics/FontGlyphs.cpp:
+        (WebCore::FontGlyphs::glyphDataForCharacter):
+        * platform/graphics/SimpleFontData.cpp:
+        (WebCore::SimpleFontData::SimpleFontData):
+        (WebCore::SimpleFontData::~SimpleFontData):
+        (WebCore::fillGlyphPage):
+        (WebCore::SimpleFontData::createScaledFontData):
+        * platform/graphics/SimpleFontData.h:
+        (WebCore::SimpleFontData::widthForGlyph):
+        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
+        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
+        * rendering/svg/SVGTextRunRenderingContext.cpp:
+        (WebCore::svgFontAndFontFaceElementForFontData):
+        * svg/SVGFontData.h:
+
 2015-01-06  Timothy Horton  <timothy_horton@apple.com>
 
         Make explicit which TextIndicator animations are driven manually, and which run automatically
index e0225ab..fad6527 100644 (file)
@@ -360,7 +360,7 @@ static RefPtr<GlyphPage> glyphPageFromFontData(unsigned pageNumber, const FontDa
     return const_cast<GlyphPage*>(simpleFontData->glyphPage(pageNumber));
 }
 
-GlyphData FontGlyphs::glyphDataForCharacter( UChar32 c, const FontDescription& description, FontDataVariant variant)
+GlyphData FontGlyphs::glyphDataForCharacter(UChar32 c, const FontDescription& description, FontDataVariant variant)
 {
     ASSERT(isMainThread());
     ASSERT(variant != AutoVariant);
index 5ff847e..973576b 100644 (file)
@@ -76,9 +76,9 @@ SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCust
 #endif
 }
 
-SimpleFontData::SimpleFontData(std::unique_ptr<AdditionalFontData> fontData, float fontSize, bool syntheticBold, bool syntheticItalic)
+SimpleFontData::SimpleFontData(std::unique_ptr<SVGData> svgData, float fontSize, bool syntheticBold, bool syntheticItalic)
     : m_platformData(FontPlatformData(fontSize, syntheticBold, syntheticItalic))
-    , m_fontData(WTF::move(fontData))
+    , m_svgData(WTF::move(svgData))
     , m_treatAsFixedPitch(false)
     , m_isCustomFont(true)
     , m_isLoading(false)
@@ -93,7 +93,7 @@ SimpleFontData::SimpleFontData(std::unique_ptr<AdditionalFontData> fontData, flo
     , m_shouldNotBeUsedForArabic(false)
 #endif
 {
-    m_fontData->initializeFontData(this, fontSize);
+    m_svgData->initializeFontData(this, fontSize);
 }
 
 // Estimates of avgCharWidth and maxCharWidth for platforms that don't support accessing these values from the font.
@@ -154,7 +154,7 @@ void SimpleFontData::platformGlyphInit()
 
 SimpleFontData::~SimpleFontData()
 {
-    if (!m_fontData)
+    if (!isSVGFont())
         platformDestroy();
 }
 
@@ -171,8 +171,8 @@ const SimpleFontData& SimpleFontData::simpleFontDataForFirstRange() const
 static bool fillGlyphPage(GlyphPage& pageToFill, unsigned offset, unsigned length, UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)
 {
 #if ENABLE(SVG_FONTS)
-    if (SimpleFontData::AdditionalFontData* additionalFontData = fontData->fontData())
-        return additionalFontData->fillSVGGlyphPage(&pageToFill, offset, length, buffer, bufferLength, fontData);
+    if (auto* svgData = fontData->svgData())
+        return svgData->fillSVGGlyphPage(&pageToFill, offset, length, buffer, bufferLength, fontData);
 #endif
     bool hasGlyphs = pageToFill.fill(offset, length, buffer, bufferLength, fontData);
 #if ENABLE(OPENTYPE_VERTICAL)
@@ -405,9 +405,8 @@ SimpleFontData::DerivedFontData::~DerivedFontData()
 
 PassRefPtr<SimpleFontData> SimpleFontData::createScaledFontData(const FontDescription& fontDescription, float scaleFactor) const
 {
-    // FIXME: Support scaled fonts that used AdditionalFontData.
-    if (m_fontData)
-        return 0;
+    if (isSVGFont())
+        return nullptr;
 
     return platformCreateScaledFontData(fontDescription, scaleFactor);
 }
index 1e1a841..1641fd7 100644 (file)
@@ -70,15 +70,14 @@ enum Pitch { UnknownPitch, FixedPitch, VariablePitch };
 
 class SimpleFontData final : public FontData {
 public:
-    class AdditionalFontData {
+    class SVGData {
         WTF_MAKE_FAST_ALLOCATED;
     public:
-        virtual ~AdditionalFontData() { }
+        virtual ~SVGData() { }
 
         virtual void initializeFontData(SimpleFontData*, float fontSize) = 0;
         virtual float widthForSVGGlyph(Glyph, float fontSize) const = 0;
         virtual bool fillSVGGlyphPage(GlyphPage*, unsigned offset, unsigned length, UChar* buffer, unsigned bufferLength, const SimpleFontData*) const = 0;
-        virtual bool applySVGGlyphSelection(WidthIterator&, GlyphData&, bool mirror, int currentCharacter, unsigned& advanceLength, String& normalizedSpacesStringCache) const = 0;
     };
 
     // Used to create platform fonts.
@@ -88,9 +87,9 @@ public:
     }
 
     // Used to create SVG Fonts.
-    static PassRefPtr<SimpleFontData> create(std::unique_ptr<AdditionalFontData> fontData, float fontSize, bool syntheticBold, bool syntheticItalic)
+    static PassRefPtr<SimpleFontData> create(std::unique_ptr<SVGData> svgData, float fontSize, bool syntheticBold, bool syntheticItalic)
     {
-        return adoptRef(new SimpleFontData(WTF::move(fontData), fontSize, syntheticBold, syntheticItalic));
+        return adoptRef(new SimpleFontData(WTF::move(svgData), fontSize, syntheticBold, syntheticItalic));
     }
 
     virtual ~SimpleFontData();
@@ -176,8 +175,8 @@ public:
     void determinePitch();
     Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitch; }
 
-    AdditionalFontData* fontData() const { return m_fontData.get(); }
-    bool isSVGFont() const { return m_fontData != nullptr; }
+    const SVGData* svgData() const { return m_svgData.get(); }
+    bool isSVGFont() const { return !!m_svgData; }
 
     virtual bool isCustomFont() const override { return m_isCustomFont; }
     virtual bool isLoading() const override { return m_isLoading; }
@@ -218,7 +217,7 @@ public:
 private:
     SimpleFontData(const FontPlatformData&, bool isCustomFont = false, bool isLoading = false, bool isTextOrientationFallback = false);
 
-    SimpleFontData(std::unique_ptr<AdditionalFontData>, float fontSize, bool syntheticBold, bool syntheticItalic);
+    SimpleFontData(std::unique_ptr<SVGData>, float fontSize, bool syntheticBold, bool syntheticItalic);
 
     void platformInit();
     void platformGlyphInit();
@@ -251,7 +250,7 @@ private:
     float m_avgCharWidth;
 
     FontPlatformData m_platformData;
-    std::unique_ptr<AdditionalFontData> m_fontData;
+    std::unique_ptr<SVGData> m_svgData;
 
     mutable RefPtr<GlyphPage> m_glyphPageZero;
     mutable HashMap<unsigned, RefPtr<GlyphPage>> m_glyphPages;
@@ -348,8 +347,8 @@ ALWAYS_INLINE float SimpleFontData::widthForGlyph(Glyph glyph) const
     if (width != cGlyphSizeUnknown)
         return width;
 
-    if (m_fontData)
-        width = m_fontData->widthForSVGGlyph(glyph, m_platformData.size());
+    if (isSVGFont())
+        width = m_svgData->widthForSVGGlyph(glyph, m_platformData.size());
 #if ENABLE(OPENTYPE_VERTICAL)
     else if (m_verticalData)
 #if USE(CG) || USE(CAIRO)
index 2132e22..a5c1db5 100644 (file)
@@ -50,7 +50,7 @@ float SVGTextLayoutEngineSpacing::calculateSVGKerning(bool isVerticalText, const
     ASSERT(fontData.isCustomFont());
     ASSERT(fontData.isSVGFont());
 
-    const SVGFontData* svgFontData = static_cast<const SVGFontData*>(fontData.fontData());
+    auto* svgFontData = static_cast<const SVGFontData*>(fontData.svgData());
     SVGFontFaceElement* svgFontFace = svgFontData->svgFontFaceElement();
     ASSERT(svgFontFace);
 
index 3e87b72..0abb885 100644 (file)
@@ -43,7 +43,7 @@ static inline const SVGFontData* svgFontAndFontFaceElementForFontData(const Simp
     ASSERT(fontData->isCustomFont());
     ASSERT(fontData->isSVGFont());
 
-    const SVGFontData* svgFontData = static_cast<const SVGFontData*>(fontData->fontData());
+    auto* svgFontData = static_cast<const SVGFontData*>(fontData->svgData());
 
     fontFace = svgFontData->svgFontFaceElement();
     ASSERT(fontFace);
index 2e2e804..d509d65 100644 (file)
@@ -28,7 +28,7 @@ namespace WebCore {
 class SVGFontElement;
 class SVGFontFaceElement;
 
-class SVGFontData : public SimpleFontData::AdditionalFontData {
+class SVGFontData : public SimpleFontData::SVGData {
 public:
     explicit SVGFontData(SVGFontFaceElement*);
     virtual ~SVGFontData() { }
@@ -36,7 +36,8 @@ public:
     virtual void initializeFontData(SimpleFontData*, float fontSize) override;
     virtual float widthForSVGGlyph(Glyph, float fontSize) const override;
     virtual bool fillSVGGlyphPage(GlyphPage*, unsigned offset, unsigned length, UChar* buffer, unsigned bufferLength, const SimpleFontData*) const override;
-    virtual bool applySVGGlyphSelection(WidthIterator&, GlyphData&, bool mirror, int currentCharacter, unsigned& advanceLength, String& normalizedSpacesStringCache) const override;
+
+    bool applySVGGlyphSelection(WidthIterator&, GlyphData&, bool mirror, int currentCharacter, unsigned& advanceLength, String& normalizedSpacesStringCache) const;
 
     SVGFontFaceElement* svgFontFaceElement() const { return m_svgFontFaceElement; }