Chromium Code Reviews| Index: third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp |
| diff --git a/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp b/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp |
| index 71d18519bf0aaf8ac392055961946fcd542fb61d..2840a61a4330ecf81b1610978817d38652cd573d 100644 |
| --- a/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp |
| +++ b/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp |
| @@ -134,7 +134,7 @@ const SimpleFontData* FontFallbackList::determinePrimarySimpleFontData(const Fon |
| if (fontData->isSegmented()) { |
| const SegmentedFontData* segmented = toSegmentedFontData(fontData); |
| for (unsigned i = 0; i < segmented->numFaces(); i++) { |
| - const SimpleFontData* rangeFontData = segmented->faceAt(i).fontData(); |
| + const SimpleFontData* rangeFontData = segmented->faceAt(i)->fontData(); |
|
eae
2016/06/21 09:19:13
Do we need an ASSERT here?
ASSERT(segmented->faceA
|
| if (!rangeFontData->isLoadingFallback()) |
| return rangeFontData; |
| } |
| @@ -195,8 +195,11 @@ FallbackListCompositeKey FontFallbackList::compositeKey(const FontDescription& f |
| if (FontPlatformData* platformData = FontCache::fontCache()->getFontPlatformData(fontDescription, params)) |
| result = FontCache::fontCache()->fontDataFromFontPlatformData(platformData); |
| } |
| - if (result) |
| + if (result) { |
| key.add(fontDescription.cacheKey(params)); |
| + if (!result->isSegmented() && !result->isCustomFont()) |
| + FontCache::fontCache()->releaseFontData(toSimpleFontData(result)); |
| + } |
| } |
| currentFamily = currentFamily->next(); |
| } |