Index: content/browser/renderer_host/sandbox_ipc_linux.cc |
diff --git a/content/browser/renderer_host/sandbox_ipc_linux.cc b/content/browser/renderer_host/sandbox_ipc_linux.cc |
index 74a1601c5782c8e12098e1228f6cecdb09d3dfd7..8deaef9be071625415367e0b6980cf7aca9d5a79 100644 |
--- a/content/browser/renderer_host/sandbox_ipc_linux.cc |
+++ b/content/browser/renderer_host/sandbox_ipc_linux.cc |
@@ -223,12 +223,20 @@ void SandboxIPCHandler::HandleGetFallbackFontForChar( |
if (!pickle.ReadInt(&iter, &c)) |
return; |
- std::string preferred_locale; |
- if (!pickle.ReadString(&iter, &preferred_locale)) |
+ bool hasLocale; |
+ if (!pickle.ReadBool(&iter, &hasLocale)) |
return; |
blink::WebFallbackFont fallbackFont; |
- WebFontInfo::fallbackFontForChar(c, preferred_locale.c_str(), &fallbackFont); |
+ if (hasLocale) { |
+ std::string preferred_locale; |
+ if (!pickle.ReadString(&iter, &preferred_locale)) |
+ return; |
+ WebFontInfo::fallbackFontForChar( |
+ c, preferred_locale.c_str(), &fallbackFont); |
+ } else { |
+ WebFontInfo::fallbackFontForChar(c, 0, &fallbackFont); |
+ } |
int pathIndex = FindOrAddPath(SkString(fallbackFont.filename.data())); |
fallbackFont.fontconfigInterfaceId = pathIndex; |