Title: [196835] trunk/Source/WebCore
Revision
196835
Author
[email protected]
Date
2016-02-19 14:28:24 -0800 (Fri, 19 Feb 2016)

Log Message

[Win] [SVG -> OTF Converter] All uses of a font except the first one are invisible
https://bugs.webkit.org/show_bug.cgi?id=154465

Reviewed by Alex Christensen.

We should re-use the existing converted data if it exists.

Covered by existing tests.

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (196834 => 196835)


--- trunk/Source/WebCore/ChangeLog	2016-02-19 22:15:09 UTC (rev 196834)
+++ trunk/Source/WebCore/ChangeLog	2016-02-19 22:28:24 UTC (rev 196835)
@@ -1,3 +1,17 @@
+2016-02-19  Myles C. Maxfield  <[email protected]>
+
+        [Win] [SVG -> OTF Converter] All uses of a font except the first one are invisible
+        https://bugs.webkit.org/show_bug.cgi?id=154465
+
+        Reviewed by Alex Christensen.
+
+        We should re-use the existing converted data if it exists.
+
+        Covered by existing tests.
+
+        * css/CSSFontFaceSource.cpp:
+        (WebCore::CSSFontFaceSource::font):
+
 2016-02-19  Antti Koivisto  <[email protected]>
 
         ComposedTreeIterator traverses normal children for elements with empty shadow root

Modified: trunk/Source/WebCore/css/CSSFontFaceSource.cpp (196834 => 196835)


--- trunk/Source/WebCore/css/CSSFontFaceSource.cpp	2016-02-19 22:15:09 UTC (rev 196834)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.cpp	2016-02-19 22:28:24 UTC (rev 196835)
@@ -155,14 +155,14 @@
 #if ENABLE(SVG_OTF_CONVERTER)
     if (!is<SVGFontElement>(m_svgFontFaceElement->parentNode()))
         return nullptr;
-    SVGFontElement& fontElement = downcast<SVGFontElement>(*m_svgFontFaceElement->parentNode());
-    // FIXME: Re-run this when script modifies the element or any of its descendents
-    // FIXME: We might have already converted this font. Make existing conversions discoverable.
-    if (auto otfFont = convertSVGToOTFFont(fontElement))
-        m_generatedOTFBuffer = SharedBuffer::adoptVector(otfFont.value());
-    if (!m_generatedOTFBuffer)
-        return nullptr;
-    m_inDocumentCustomPlatformData = createFontCustomPlatformData(*m_generatedOTFBuffer);
+    if (!m_inDocumentCustomPlatformData) {
+        SVGFontElement& fontElement = downcast<SVGFontElement>(*m_svgFontFaceElement->parentNode());
+        if (auto otfFont = convertSVGToOTFFont(fontElement))
+            m_generatedOTFBuffer = SharedBuffer::adoptVector(otfFont.value());
+        if (!m_generatedOTFBuffer)
+            return nullptr;
+        m_inDocumentCustomPlatformData = createFontCustomPlatformData(*m_generatedOTFBuffer);
+    }
     if (!m_inDocumentCustomPlatformData)
         return nullptr;
 #if PLATFORM(COCOA)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to