Index: Source/platform/fonts/FontCustomPlatformData.cpp |
diff --git a/Source/platform/fonts/FontCustomPlatformData.cpp b/Source/platform/fonts/FontCustomPlatformData.cpp |
index 1cae8696dde0622b8f6c7993a978996dd3b131e5..4920ea8c52e7ea4638fdf36ecf823ff5b823e1df 100644 |
--- a/Source/platform/fonts/FontCustomPlatformData.cpp |
+++ b/Source/platform/fonts/FontCustomPlatformData.cpp |
@@ -85,14 +85,19 @@ FontPlatformData FontCustomPlatformData::fontPlatformData(float size, bool bold, |
return FontPlatformData(m_typeface.get(), "", size, bold && !m_typeface->isBold(), italic && !m_typeface->isItalic(), orientation); |
} |
-PassOwnPtr<FontCustomPlatformData> FontCustomPlatformData::create(SharedBuffer* buffer) |
+PassOwnPtr<FontCustomPlatformData> FontCustomPlatformData::create(SharedBuffer* buffer, String& otsParseMessage) |
{ |
ASSERT_ARG(buffer, buffer); |
OpenTypeSanitizer sanitizer(buffer); |
RefPtr<SharedBuffer> transcodeBuffer = sanitizer.sanitize(); |
- if (!transcodeBuffer) |
+ |
+ if (!transcodeBuffer) { |
+ // If error was faced at time of OTS parsing, we need to pass on OTS error to Blink |
+ if (sanitizer.isParsingError()) |
+ otsParseMessage = sanitizer.getErrorString(); |
jungshik at Google
2015/06/01 23:22:19
If you set |errorString| whenever sanitize() retur
h.joshi
2015/06/04 15:19:16
Done.
|
return nullptr; // validation failed. |
+ } |
buffer = transcodeBuffer.get(); |
SkMemoryStream* stream = new SkMemoryStream(buffer->getAsSkData().get()); |