WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-97245-20121102115633.patch (text/plain), 16.75 KB, created by
Stephen Chenney
on 2012-11-02 08:58:14 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Stephen Chenney
Created:
2012-11-02 08:58:14 PDT
Size:
16.75 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 133302) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,39 @@ >+2012-11-02 Stephen Chenney <schenney@chromium.org> >+ >+ Reduce redundant code in SimpleFontData[platform] >+ https://bugs.webkit.org/show_bug.cgi?id=97245 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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. >+ > 2012-11-02 Kent Tamura <tkent@chromium.org> > > Optimize DateTimeFormat::quoteAndAppendLiteral output >Index: Source/WebCore/platform/graphics/SimpleFontData.cpp >=================================================================== >--- Source/WebCore/platform/graphics/SimpleFontData.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/SimpleFontData.cpp (working copy) >@@ -41,6 +41,9 @@ using namespace std; > > namespace WebCore { > >+const float smallCapsFontSizeMultiplier = 0.7f; >+const float emphasisMarkFontSizeMultiplier = 0.5f; >+ > SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback) > : m_maxCharWidth(-1) > , m_avgCharWidth(-1) >@@ -193,6 +196,26 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return m_derivedFontData->uprightOrientation; > } > >+PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >+{ >+ if (!m_derivedFontData) >+ m_derivedFontData = DerivedFontData::create(isCustomFont()); >+ if (!m_derivedFontData->smallCaps) >+ m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFontSizeMultiplier); >+ >+ return m_derivedFontData->smallCaps; >+} >+ >+PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >+{ >+ if (!m_derivedFontData) >+ m_derivedFontData = DerivedFontData::create(isCustomFont()); >+ if (!m_derivedFontData->emphasisMark) >+ m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFontSizeMultiplier); >+ >+ return m_derivedFontData->emphasisMark; >+} >+ > PassRefPtr<SimpleFontData> SimpleFontData::brokenIdeographFontData() const > { > if (!m_derivedFontData) >Index: Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp >=================================================================== >--- Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp (working copy) >@@ -119,26 +119,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(FontPlatformData(hfont, scaledSize, m_platformData.orientation()), isCustomFont(), false); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > // This used to be implemented with IMLangFontLink2, but since that code has >Index: Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp >=================================================================== >--- Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp (working copy) >@@ -98,27 +98,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > m_platformData.syntheticOblique()), isCustomFont(), false); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- // FIXME: I think we want to ask FontConfig for the right font again. >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > ASSERT(m_platformData.scaledFont()); >Index: Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm >=================================================================== >--- Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm (revision 133302) >+++ Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm (working copy) >@@ -52,8 +52,6 @@ using namespace std; > > namespace WebCore { > >-const float smallCapsFontSizeMultiplier = 0.7f; >- > static bool fontHasVerticalGlyphs(CTFontRef ctFont) > { > // The check doesn't look neat but this is what AppKit does for vertical writing... >@@ -352,26 +350,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return 0; > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFontSizeMultiplier); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5f); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > NSString *string = [[NSString alloc] initWithCharactersNoCopy:const_cast<unichar*>(characters) length:length freeWhenDone:NO]; >Index: Source/WebCore/platform/graphics/pango/SimpleFontDataPango.cpp >=================================================================== >--- Source/WebCore/platform/graphics/pango/SimpleFontDataPango.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/pango/SimpleFontDataPango.cpp (working copy) >@@ -92,26 +92,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(platformData); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > bool result = true; >Index: Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp >=================================================================== >--- Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp (working copy) >@@ -34,9 +34,6 @@ void SimpleFontData::determinePitch() > m_treatAsFixedPitch = false; > } > >-static const float smallCapsFraction = 0.7; >-static const float emphasisMarkFraction = 0.5; >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > QRawFont rawFont(m_platformData.rawFont()); >@@ -67,26 +64,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(FontPlatformData(m_platformData, scaledSize), isCustomFont(), false); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction); >- >- return m_derivedFontData->emphasisMark; >-} >- > FloatRect SimpleFontData::platformBoundsForGlyph(Glyph) const > { > notImplemented(); >Index: Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp >=================================================================== >--- Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp (working copy) >@@ -47,9 +47,6 @@ > > namespace WebCore { > >-// Smallcaps versions of fonts are 70% the size of the normal font. >-static const float smallCapsFraction = 0.7f; >-static const float emphasisMarkFraction = .5; > // This is the largest VDMX table which we'll try to load and parse. > static const size_t maxVDMXTableSize = 1024 * 1024; // 1 MB > >@@ -183,26 +180,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(FontPlatformData(m_platformData, scaledSize), isCustomFont(), false); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > SkPaint paint; >Index: Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp >=================================================================== >--- Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp (working copy) >@@ -148,26 +148,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(FontPlatformData(hfont, scaledSize, m_platformData.syntheticBold(), m_platformData.syntheticOblique(), m_platformData.useGDI()), isCustomFont(), false); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, cSmallCapsFontSizeMultiplier); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > // FIXME: Support custom fonts. >Index: Source/WebCore/platform/graphics/wince/SimpleFontDataWinCE.cpp >=================================================================== >--- Source/WebCore/platform/graphics/wince/SimpleFontDataWinCE.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/wince/SimpleFontDataWinCE.cpp (working copy) >@@ -75,26 +75,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(*result); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5); >- >- return m_derivedFontData->emphasisMark; >-} >- > DWORD getKnownFontCodePages(const wchar_t* family); > > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const >Index: Source/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp >=================================================================== >--- Source/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp (revision 133302) >+++ Source/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp (working copy) >@@ -98,26 +98,6 @@ PassRefPtr<SimpleFontData> SimpleFontDat > return SimpleFontData::create(platformData, isCustomFont(), false); > } > >-PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->smallCaps) >- m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7); >- >- return m_derivedFontData->smallCaps; >-} >- >-PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const >-{ >- if (!m_derivedFontData) >- m_derivedFontData = DerivedFontData::create(isCustomFont()); >- if (!m_derivedFontData->emphasisMark) >- m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5); >- >- return m_derivedFontData->emphasisMark; >-} >- > bool SimpleFontData::containsCharacters(const UChar* characters, int length) const > { > // FIXME: We will need to implement this to load non-ASCII encoding sites
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
eric
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 97245
: 172073