Chromium Code Reviews| 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()); |