Changeset 133362 in webkit


Ignore:
Timestamp:
Nov 2, 2012 3:30:14 PM (11 years ago)
Author:
schenney@chromium.org
Message:

Reduce redundant code in SimpleFontData[platform]
https://bugs.webkit.org/show_bug.cgi?id=97245

Reviewed by Eric Seidel.

Move duplicated code out of platform specific files and into the common file.
This represents all of the methods in SimpleFontData that do not have genuine
platform specific code.

No new tests because there is no change at all in the functionality.

  • platform/graphics/SimpleFontData.cpp:

(WebCore):
(WebCore::SimpleFontData::smallCapsFontData): Implementation from platform files.
(WebCore::SimpleFontData::emphasisMarkFontData): Implementation from platform files.

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

(WebCore): Removed common code.

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore): Removed common code.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore): Removed common code.

  • platform/graphics/pango/SimpleFontDataPango.cpp:

(WebCore): Removed common code.

  • platform/graphics/qt/SimpleFontDataQt.cpp:

(WebCore): Removed common code.

  • platform/graphics/skia/SimpleFontDataSkia.cpp:

(WebCore): Removed common code.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore): Removed common code.

  • platform/graphics/wince/SimpleFontDataWinCE.cpp:

(WebCore): Removed common code.

  • platform/graphics/wx/SimpleFontDataWx.cpp:

(WebCore): Removed common code.

Location:
trunk/Source/WebCore
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r133354 r133362  
     12012-11-02  Stephen Chenney  <schenney@chromium.org>
     2
     3        Reduce redundant code in SimpleFontData[platform]
     4        https://bugs.webkit.org/show_bug.cgi?id=97245
     5
     6        Reviewed by Eric Seidel.
     7
     8        Move duplicated code out of platform specific files and into the common file.
     9        This represents all of the methods in SimpleFontData that do not have genuine
     10        platform specific code.
     11
     12        No new tests because there is no change at all in the functionality.
     13
     14        * platform/graphics/SimpleFontData.cpp:
     15        (WebCore):
     16        (WebCore::SimpleFontData::smallCapsFontData): Implementation from platform files.
     17        (WebCore::SimpleFontData::emphasisMarkFontData): Implementation from platform files.
     18        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
     19        (WebCore): Removed common code.
     20        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
     21        (WebCore): Removed common code.
     22        * platform/graphics/mac/SimpleFontDataMac.mm:
     23        (WebCore): Removed common code.
     24        * platform/graphics/pango/SimpleFontDataPango.cpp:
     25        (WebCore): Removed common code.
     26        * platform/graphics/qt/SimpleFontDataQt.cpp:
     27        (WebCore): Removed common code.
     28        * platform/graphics/skia/SimpleFontDataSkia.cpp:
     29        (WebCore): Removed common code.
     30        * platform/graphics/win/SimpleFontDataWin.cpp:
     31        (WebCore): Removed common code.
     32        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
     33        (WebCore): Removed common code.
     34        * platform/graphics/wx/SimpleFontDataWx.cpp:
     35        (WebCore): Removed common code.
     36
    1372012-11-02  Adam Barth  <abarth@webkit.org>
    238
  • trunk/Source/WebCore/platform/graphics/SimpleFontData.cpp

    r130319 r133362  
    4242namespace WebCore {
    4343
     44const float smallCapsFontSizeMultiplier = 0.7f;
     45const float emphasisMarkFontSizeMultiplier = 0.5f;
     46
    4447SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback)
    4548    : m_maxCharWidth(-1)
     
    192195        m_derivedFontData->uprightOrientation = create(m_platformData, isCustomFont(), false, true);
    193196    return m_derivedFontData->uprightOrientation;
     197}
     198
     199PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
     200{
     201    if (!m_derivedFontData)
     202        m_derivedFontData = DerivedFontData::create(isCustomFont());
     203    if (!m_derivedFontData->smallCaps)
     204        m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFontSizeMultiplier);
     205
     206    return m_derivedFontData->smallCaps;
     207}
     208
     209PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
     210{
     211    if (!m_derivedFontData)
     212        m_derivedFontData = DerivedFontData::create(isCustomFont());
     213    if (!m_derivedFontData->emphasisMark)
     214        m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFontSizeMultiplier);
     215
     216    return m_derivedFontData->emphasisMark;
    194217}
    195218
  • trunk/Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp

    r130160 r133362  
    120120}
    121121
    122 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    123 {
    124     if (!m_derivedFontData)
    125         m_derivedFontData = DerivedFontData::create(isCustomFont());
    126     if (!m_derivedFontData->smallCaps)
    127         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);
    128 
    129     return m_derivedFontData->smallCaps;
    130 }
    131 
    132 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    133 {
    134     if (!m_derivedFontData)
    135         m_derivedFontData = DerivedFontData::create(isCustomFont());
    136     if (!m_derivedFontData->emphasisMark)
    137         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);
    138 
    139     return m_derivedFontData->emphasisMark;
    140 }
    141 
    142122bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    143123{
  • trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp

    r131073 r133362  
    9999}
    100100
    101 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    102 {
    103     if (!m_derivedFontData)
    104         m_derivedFontData = DerivedFontData::create(isCustomFont());
    105     // FIXME: I think we want to ask FontConfig for the right font again.
    106     if (!m_derivedFontData->smallCaps)
    107         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);
    108 
    109     return m_derivedFontData->smallCaps;
    110 }
    111 
    112 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    113 {
    114     if (!m_derivedFontData)
    115         m_derivedFontData = DerivedFontData::create(isCustomFont());
    116     if (!m_derivedFontData->emphasisMark)
    117         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);
    118 
    119     return m_derivedFontData->emphasisMark;
    120 }
    121 
    122101bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    123102{
  • trunk/Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm

    r130612 r133362  
    5353namespace WebCore {
    5454 
    55 const float smallCapsFontSizeMultiplier = 0.7f;
    56 
    5755static bool fontHasVerticalGlyphs(CTFontRef ctFont)
    5856{
     
    353351}
    354352
    355 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    356 {
    357     if (!m_derivedFontData)
    358         m_derivedFontData = DerivedFontData::create(isCustomFont());
    359     if (!m_derivedFontData->smallCaps)
    360         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFontSizeMultiplier);
    361 
    362     return m_derivedFontData->smallCaps;
    363 }
    364 
    365 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    366 {
    367     if (!m_derivedFontData)
    368         m_derivedFontData = DerivedFontData::create(isCustomFont());
    369     if (!m_derivedFontData->emphasisMark)
    370         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5f);
    371 
    372     return m_derivedFontData->emphasisMark;
    373 }
    374 
    375353bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    376354{
  • trunk/Source/WebCore/platform/graphics/pango/SimpleFontDataPango.cpp

    r130160 r133362  
    9393}
    9494
    95 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    96 {
    97     if (!m_derivedFontData)
    98         m_derivedFontData = DerivedFontData::create(isCustomFont());
    99     if (!m_derivedFontData->smallCaps)
    100         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);
    101 
    102     return m_derivedFontData->smallCaps;
    103 }
    104 
    105 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    106 {
    107     if (!m_derivedFontData)
    108         m_derivedFontData = DerivedFontData::create(isCustomFont());
    109     if (!m_derivedFontData->emphasisMark)
    110         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);
    111 
    112     return m_derivedFontData->emphasisMark;
    113 }
    114 
    11595bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    11696{
  • trunk/Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp

    r130160 r133362  
    3535}
    3636
    37 static const float smallCapsFraction = 0.7;
    38 static const float emphasisMarkFraction = 0.5;
    39 
    4037bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    4138{
     
    6663    const float scaledSize = lroundf(fontDescription.computedSize() * scaleFactor);
    6764    return SimpleFontData::create(FontPlatformData(m_platformData, scaledSize), isCustomFont(), false);
    68 }
    69 
    70 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    71 {
    72     if (!m_derivedFontData)
    73         m_derivedFontData = DerivedFontData::create(isCustomFont());
    74     if (!m_derivedFontData->smallCaps)
    75         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction);
    76 
    77     return m_derivedFontData->smallCaps;
    78 }
    79 
    80 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    81 {
    82     if (!m_derivedFontData)
    83         m_derivedFontData = DerivedFontData::create(isCustomFont());
    84     if (!m_derivedFontData->emphasisMark)
    85         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction);
    86 
    87     return m_derivedFontData->emphasisMark;
    8865}
    8966
  • trunk/Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp

    r130854 r133362  
    4848namespace WebCore {
    4949
    50 // Smallcaps versions of fonts are 70% the size of the normal font.
    51 static const float smallCapsFraction = 0.7f;
    52 static const float emphasisMarkFraction = .5;
    5350// This is the largest VDMX table which we'll try to load and parse.
    5451static const size_t maxVDMXTableSize = 1024 * 1024; // 1 MB
     
    184181}
    185182
    186 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    187 {
    188     if (!m_derivedFontData)
    189         m_derivedFontData = DerivedFontData::create(isCustomFont());
    190     if (!m_derivedFontData->smallCaps)
    191         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction);
    192 
    193     return m_derivedFontData->smallCaps;
    194 }
    195 
    196 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    197 {
    198     if (!m_derivedFontData)
    199         m_derivedFontData = DerivedFontData::create(isCustomFont());
    200     if (!m_derivedFontData->emphasisMark)
    201         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction);
    202 
    203     return m_derivedFontData->emphasisMark;
    204 }
    205 
    206183bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    207184{
  • trunk/Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp

    r130160 r133362  
    149149}
    150150
    151 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    152 {
    153     if (!m_derivedFontData)
    154         m_derivedFontData = DerivedFontData::create(isCustomFont());
    155     if (!m_derivedFontData->smallCaps)
    156         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, cSmallCapsFontSizeMultiplier);
    157 
    158     return m_derivedFontData->smallCaps;
    159 }
    160 
    161 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    162 {
    163     if (!m_derivedFontData)
    164         m_derivedFontData = DerivedFontData::create(isCustomFont());
    165     if (!m_derivedFontData->emphasisMark)
    166         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);
    167 
    168     return m_derivedFontData->emphasisMark;
    169 }
    170 
    171151bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    172152{
  • trunk/Source/WebCore/platform/graphics/wince/SimpleFontDataWinCE.cpp

    r130160 r133362  
    7474        return 0;
    7575    return SimpleFontData::create(*result);
    76 }
    77 
    78 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    79 {
    80     if (!m_derivedFontData)
    81         m_derivedFontData = DerivedFontData::create(isCustomFont());
    82     if (!m_derivedFontData->smallCaps)
    83         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);
    84 
    85     return m_derivedFontData->smallCaps;
    86 }
    87 
    88 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    89 {
    90     if (!m_derivedFontData)
    91         m_derivedFontData = DerivedFontData::create(isCustomFont());
    92     if (!m_derivedFontData->emphasisMark)
    93         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);
    94 
    95     return m_derivedFontData->emphasisMark;
    9676}
    9777
  • trunk/Source/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp

    r130160 r133362  
    9999}
    100100
    101 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
    102 {
    103     if (!m_derivedFontData)
    104         m_derivedFontData = DerivedFontData::create(isCustomFont());
    105     if (!m_derivedFontData->smallCaps)
    106         m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);
    107 
    108     return m_derivedFontData->smallCaps;
    109 }
    110 
    111 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const
    112 {
    113     if (!m_derivedFontData)
    114         m_derivedFontData = DerivedFontData::create(isCustomFont());
    115     if (!m_derivedFontData->emphasisMark)
    116         m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);
    117 
    118     return m_derivedFontData->emphasisMark;
    119 }
    120 
    121101bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    122102{
Note: See TracChangeset for help on using the changeset viewer.