[Font Loading] Crash when a single load request causes multiple fonts to fail loading
[WebKit-https.git] / Source / WebCore / css / CSSFontFaceSet.cpp
index dbcfb7a..9b7a7b6 100644 (file)
@@ -398,13 +398,13 @@ CSSSegmentedFontFace* CSSFontFaceSet::getFontFace(FontTraitsMask traitsMask, con
         return nullptr;
     auto& familyFontFaces = iterator->value;
 
-    auto& segmentedFontFaceCache = m_cache.add(family, HashMap<unsigned, std::unique_ptr<CSSSegmentedFontFace>>()).iterator->value;
+    auto& segmentedFontFaceCache = m_cache.add(family, HashMap<unsigned, RefPtr<CSSSegmentedFontFace>>()).iterator->value;
 
     auto& face = segmentedFontFaceCache.add(traitsMask, nullptr).iterator->value;
     if (face)
         return face.get();
 
-    face = std::make_unique<CSSSegmentedFontFace>();
+    face = CSSSegmentedFontFace::create();
 
     Vector<std::reference_wrapper<CSSFontFace>, 32> candidateFontFaces;
     for (int i = familyFontFaces.size() - 1; i >= 0; --i) {