| Index: content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc
|
| diff --git a/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc b/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc
|
| index bdaf47d6869580f05e55eb712075f670063cf6bc..2beab8f1fa7f54a73c1c45c6bfe8a9ff51ce2241 100644
|
| --- a/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc
|
| +++ b/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc
|
| @@ -24,7 +24,7 @@
|
| #include "third_party/WebKit/public/platform/android/WebSandboxSupport.h"
|
| #elif defined(OS_POSIX)
|
| #include "content/common/child_process_sandbox_support_impl_linux.h"
|
| -#include "third_party/WebKit/public/platform/linux/WebFontFamily.h"
|
| +#include "third_party/WebKit/public/platform/linux/WebFallbackFont.h"
|
| #include "third_party/WebKit/public/platform/linux/WebSandboxSupport.h"
|
| #include "third_party/icu/source/common/unicode/utf16.h"
|
| #endif
|
| @@ -52,10 +52,16 @@ class PpapiWebKitPlatformSupportImpl::SandboxSupport
|
| // Empty class.
|
| #elif defined(OS_POSIX)
|
| SandboxSupport();
|
| + // TODO(dro): crbug.com/382411 Remove this function, once the blink side
|
| + // does not need it anymore.
|
| virtual void getFontFamilyForCharacter(
|
| WebUChar32 character,
|
| const char* preferred_locale,
|
| blink::WebFontFamily* family);
|
| + virtual void getFallbackFontForCharacter(
|
| + WebUChar32 character,
|
| + const char* preferred_locale,
|
| + blink::WebFallbackFont* fallbackFont);
|
| virtual void getRenderStyleForStrike(
|
| const char* family, int sizeAndStyle, blink::WebFontRenderStyle* out);
|
|
|
| @@ -63,7 +69,7 @@ class PpapiWebKitPlatformSupportImpl::SandboxSupport
|
| // WebKit likes to ask us for the correct font family to use for a set of
|
| // unicode code points. It needs this information frequently so we cache it
|
| // here.
|
| - std::map<int32_t, blink::WebFontFamily> unicode_font_families_;
|
| + std::map<int32_t, blink::WebFallbackFont> unicode_font_families_;
|
| // For debugging crbug.com/312965
|
| base::PlatformThreadId creation_thread_;
|
| #endif
|
| @@ -113,7 +119,7 @@ PpapiWebKitPlatformSupportImpl::SandboxSupport::getFontFamilyForCharacter(
|
| ppapi::ProxyLock::AssertAcquired();
|
| // For debugging crbug.com/312965
|
| CHECK_EQ(creation_thread_, base::PlatformThread::CurrentId());
|
| - const std::map<int32_t, blink::WebFontFamily>::const_iterator iter =
|
| + const std::map<int32_t, blink::WebFallbackFont>::const_iterator iter =
|
| unicode_font_families_.find(character);
|
| if (iter != unicode_font_families_.end()) {
|
| family->name = iter->second.name;
|
| @@ -122,8 +128,35 @@ PpapiWebKitPlatformSupportImpl::SandboxSupport::getFontFamilyForCharacter(
|
| return;
|
| }
|
|
|
| - GetFontFamilyForCharacter(character, preferred_locale, family);
|
| - unicode_font_families_.insert(std::make_pair(character, *family));
|
| + blink::WebFallbackFont fallbackFont;
|
| + GetFallbackFontForCharacter(character, preferred_locale, &fallbackFont);
|
| + unicode_font_families_.insert(std::make_pair(character, fallbackFont));
|
| + family->name = fallbackFont.name;
|
| + family->isBold = fallbackFont.isBold;
|
| + family->isItalic = fallbackFont.isItalic;
|
| +}
|
| +
|
| +void
|
| +PpapiWebKitPlatformSupportImpl::SandboxSupport::getFallbackFontForCharacter(
|
| + WebUChar32 character,
|
| + const char* preferred_locale,
|
| + blink::WebFallbackFont* fallbackFont) {
|
| + ppapi::ProxyLock::AssertAcquired();
|
| + // For debugging crbug.com/312965
|
| + CHECK_EQ(creation_thread_, base::PlatformThread::CurrentId());
|
| + const std::map<int32_t, blink::WebFallbackFont>::const_iterator iter =
|
| + unicode_font_families_.find(character);
|
| + if (iter != unicode_font_families_.end()) {
|
| + fallbackFont->name = iter->second.name;
|
| + fallbackFont->filename = iter->second.filename;
|
| + fallbackFont->ttcIndex = iter->second.ttcIndex;
|
| + fallbackFont->isBold = iter->second.isBold;
|
| + fallbackFont->isItalic = iter->second.isItalic;
|
| + return;
|
| + }
|
| +
|
| + GetFallbackFontForCharacter(character, preferred_locale, fallbackFont);
|
| + unicode_font_families_.insert(std::make_pair(character, *fallbackFont));
|
| }
|
|
|
| void PpapiWebKitPlatformSupportImpl::SandboxSupport::getRenderStyleForStrike(
|
|
|