Title: [187532] trunk/Source/WebCore
Revision
187532
Author
mcatanz...@igalia.com
Date
2015-07-28 17:57:00 -0700 (Tue, 28 Jul 2015)

Log Message

Minor cleanups in FontCacheFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=147392

Reviewed by Martin Robinson.

Mark several functions as static (file-scope), use more nullptr, and use more smart
pointers. No behavior changes.

* platform/graphics/freetype/FcUniquePtr.h:
(WebCore::FcPtrDeleter<FcCharSet>::operator()):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
(WebCore::findBestFontGivenFallbacks):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::fontWeightToFontconfigWeight):
(WebCore::FontCache::createFontPlatformData):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (187531 => 187532)


--- trunk/Source/WebCore/ChangeLog	2015-07-29 00:55:17 UTC (rev 187531)
+++ trunk/Source/WebCore/ChangeLog	2015-07-29 00:57:00 UTC (rev 187532)
@@ -1,3 +1,22 @@
+2015-07-28  Michael Catanzaro  <mcatanz...@igalia.com>
+
+        Minor cleanups in FontCacheFreeType.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=147392
+
+        Reviewed by Martin Robinson.
+
+        Mark several functions as static (file-scope), use more nullptr, and use more smart
+        pointers. No behavior changes.
+
+        * platform/graphics/freetype/FcUniquePtr.h:
+        (WebCore::FcPtrDeleter<FcCharSet>::operator()):
+        * platform/graphics/freetype/FontCacheFreeType.cpp:
+        (WebCore::createFontConfigPatternForCharacters):
+        (WebCore::findBestFontGivenFallbacks):
+        (WebCore::FontCache::systemFallbackForCharacters):
+        (WebCore::fontWeightToFontconfigWeight):
+        (WebCore::FontCache::createFontPlatformData):
+
 2015-07-28  Yusuke Suzuki  <utatane....@gmail.com>
 
         [ES6] Add ENABLE_ES6_MODULES compile time flag with the default value "false"

Modified: trunk/Source/WebCore/platform/graphics/freetype/FcUniquePtr.h (187531 => 187532)


--- trunk/Source/WebCore/platform/graphics/freetype/FcUniquePtr.h	2015-07-29 00:55:17 UTC (rev 187531)
+++ trunk/Source/WebCore/platform/graphics/freetype/FcUniquePtr.h	2015-07-29 00:57:00 UTC (rev 187532)
@@ -41,6 +41,13 @@
 template<typename T>
 using FcUniquePtr = std::unique_ptr<T, FcPtrDeleter<T>>;
 
+template<> struct FcPtrDeleter<FcCharSet> {
+    void operator()(FcCharSet* ptr) const
+    {
+        FcCharSetDestroy(ptr);
+    }
+};
+
 template<> struct FcPtrDeleter<FcFontSet> {
     void operator()(FcFontSet* ptr) const
     {

Modified: trunk/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp (187531 => 187532)


--- trunk/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp	2015-07-29 00:55:17 UTC (rev 187531)
+++ trunk/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp	2015-07-29 00:57:00 UTC (rev 187532)
@@ -41,60 +41,59 @@
         ASSERT_NOT_REACHED();
 }
 
-FcPattern* createFontConfigPatternForCharacters(const UChar* characters, int bufferLength)
+static RefPtr<FcPattern> createFontConfigPatternForCharacters(const UChar* characters, int bufferLength)
 {
-    FcPattern* pattern = FcPatternCreate();
-    FcCharSet* fontConfigCharSet = FcCharSetCreate();
+    RefPtr<FcPattern> pattern = adoptRef(FcPatternCreate());
+    FcUniquePtr<FcCharSet> fontConfigCharSet(FcCharSetCreate());
 
     UTF16UChar32Iterator iterator(characters, bufferLength);
     UChar32 character = iterator.next();
     while (character != iterator.end()) {
-        FcCharSetAddChar(fontConfigCharSet, character);
+        FcCharSetAddChar(fontConfigCharSet.get(), character);
         character = iterator.next();
     }
 
-    FcPatternAddCharSet(pattern, FC_CHARSET, fontConfigCharSet);
-    FcCharSetDestroy(fontConfigCharSet);
+    FcPatternAddCharSet(pattern.get(), FC_CHARSET, fontConfigCharSet.get());
 
-    FcPatternAddBool(pattern, FC_SCALABLE, FcTrue);
-    FcConfigSubstitute(0, pattern, FcMatchPattern);
-    FcDefaultSubstitute(pattern);
+    FcPatternAddBool(pattern.get(), FC_SCALABLE, FcTrue);
+    FcConfigSubstitute(nullptr, pattern.get(), FcMatchPattern);
+    FcDefaultSubstitute(pattern.get());
     return pattern;
 }
 
-FcPattern* findBestFontGivenFallbacks(const FontPlatformData& fontData, FcPattern* pattern)
+static RefPtr<FcPattern> findBestFontGivenFallbacks(const FontPlatformData& fontData, FcPattern* pattern)
 {
     if (!fontData.m_pattern)
-        return 0;
+        return nullptr;
 
     if (!fontData.m_fallbacks) {
         FcResult fontConfigResult;
-        fontData.m_fallbacks = FcFontSort(0, fontData.m_pattern.get(), FcTrue, 0, &fontConfigResult);
+        fontData.m_fallbacks = FcFontSort(nullptr, fontData.m_pattern.get(), FcTrue, nullptr, &fontConfigResult);
     }
 
     if (!fontData.m_fallbacks)
-        return 0;
+        return nullptr;
 
     FcFontSet* sets[] = { fontData.m_fallbacks };
     FcResult fontConfigResult;
-    return FcFontSetMatch(0, sets, 1, pattern, &fontConfigResult);
+    return FcFontSetMatch(nullptr, sets, 1, pattern, &fontConfigResult);
 }
 
 RefPtr<Font> FontCache::systemFallbackForCharacters(const FontDescription& description, const Font* originalFontData, bool, const UChar* characters, unsigned length)
 {
-    RefPtr<FcPattern> pattern = adoptRef(createFontConfigPatternForCharacters(characters, length));
+    RefPtr<FcPattern> pattern = createFontConfigPatternForCharacters(characters, length);
     const FontPlatformData& fontData = originalFontData->platformData();
 
-    RefPtr<FcPattern> fallbackPattern = adoptRef(findBestFontGivenFallbacks(fontData, pattern.get()));
+    RefPtr<FcPattern> fallbackPattern = findBestFontGivenFallbacks(fontData, pattern.get());
     if (fallbackPattern) {
         FontPlatformData alternateFontData(fallbackPattern.get(), description);
         return fontForPlatformData(alternateFontData);
     }
 
     FcResult fontConfigResult;
-    RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(0, pattern.get(), &fontConfigResult));
+    RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(nullptr, pattern.get(), &fontConfigResult));
     if (!resultPattern)
-        return 0;
+        return nullptr;
     FontPlatformData alternateFontData(resultPattern.get(), description);
     return fontForPlatformData(alternateFontData);
 }
@@ -138,7 +137,7 @@
     return "";
 }
 
-int fontWeightToFontconfigWeight(FontWeight weight)
+static int fontWeightToFontconfigWeight(FontWeight weight)
 {
     switch (weight) {
     case FontWeight100:
@@ -299,7 +298,6 @@
     return false;
 }
 
-
 std::unique_ptr<FontPlatformData> FontCache::createFontPlatformData(const FontDescription& fontDescription, const AtomicString& family)
 {
     // The CSS font matching algorithm (http://www.w3.org/TR/css3-fonts/#font-matching-algorithm)
@@ -332,7 +330,7 @@
     // Fontconfig is used in two stages: (1) configuration and (2) matching. During the
     // configuration step, before any matching occurs, we allow arbitrary family substitutions,
     // since this is an exact matter of respecting the user's font configuration.
-    FcConfigSubstitute(0, pattern.get(), FcMatchPattern);
+    FcConfigSubstitute(nullptr, pattern.get(), FcMatchPattern);
     FcDefaultSubstitute(pattern.get());
 
     FcChar8* fontConfigFamilyNameAfterConfiguration;
@@ -340,7 +338,7 @@
     String familyNameAfterConfiguration = String::fromUTF8(reinterpret_cast<char*>(fontConfigFamilyNameAfterConfiguration));
 
     FcResult fontConfigResult;
-    RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(0, pattern.get(), &fontConfigResult));
+    RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(nullptr, pattern.get(), &fontConfigResult));
     if (!resultPattern) // No match.
         return nullptr;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to