diff options
author | bashi@chromium.org <bashi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 00:58:38 +0000 |
---|---|---|
committer | bashi@chromium.org <bashi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 00:58:38 +0000 |
commit | 0f9067badc4ebce72372d06f1e75550cfb8af945 (patch) | |
tree | 64d15dd3ef485dcdb3c688482016ad698521bc0b /content/ppapi_plugin | |
parent | d36352ca0fa7e3ab41651b1bdb49401b537e9a5e (diff) | |
download | chromium_src-0f9067badc4ebce72372d06f1e75550cfb8af945.zip chromium_src-0f9067badc4ebce72372d06f1e75550cfb8af945.tar.gz chromium_src-0f9067badc4ebce72372d06f1e75550cfb8af945.tar.bz2 |
Use new getFontFamilyForCharacters() API.
Uses new getFontFamilyForCharacters() WebKit Chromium API so that
Chromium can pass bold and italic property. This will fix issue 32109.
No behavior change at this time. The CL will work after the fix of
WebKit side is completed.
The WebKit bug entry is https://bugs.webkit.org/show_bug.cgi?id=38701.
BUG=32109
TEST=compiled.
Review URL: http://codereview.chromium.org/8590028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110871 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/ppapi_plugin')
-rw-r--r-- | content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc b/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc index a2acb57..366f7e7 100644 --- a/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc +++ b/content/ppapi_plugin/ppapi_webkitplatformsupport_impl.cc @@ -22,6 +22,7 @@ #include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebSandboxSupport.h" #elif defined(OS_POSIX) #include "content/common/child_process_sandbox_support_impl_linux.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebFontFamily.h" #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebSandboxSupport.h" #endif @@ -41,10 +42,11 @@ class PpapiWebKitPlatformSupportImpl::SandboxSupport : public WebSandboxSupport virtual bool loadFont( NSFont* srcFont, CGFontRef* out, uint32_t* fontID); #elif defined(OS_POSIX) - virtual WebString getFontFamilyForCharacters( + virtual void getFontFamilyForCharacters( const WebUChar* characters, size_t numCharacters, - const char* preferred_locale); + const char* preferred_locale, + WebKit::WebFontFamily* family); virtual void getRenderStyleForStrike( const char* family, int sizeAndStyle, WebKit::WebFontRenderStyle* out); @@ -54,7 +56,7 @@ class PpapiWebKitPlatformSupportImpl::SandboxSupport : public WebSandboxSupport // here. The key in this map is an array of 16-bit UTF16 values from WebKit. // The value is a string containing the correct font family. base::Lock unicode_font_families_mutex_; - std::map<string16, std::string> unicode_font_families_; + std::map<string16, WebKit::WebFontFamily> unicode_font_families_; #endif }; @@ -83,24 +85,29 @@ bool PpapiWebKitPlatformSupportImpl::SandboxSupport::loadFont( #elif defined(OS_POSIX) -WebString +void PpapiWebKitPlatformSupportImpl::SandboxSupport::getFontFamilyForCharacters( const WebUChar* characters, size_t num_characters, - const char* preferred_locale) { + const char* preferred_locale, + WebKit::WebFontFamily* family) { base::AutoLock lock(unicode_font_families_mutex_); const string16 key(characters, num_characters); - const std::map<string16, std::string>::const_iterator iter = + const std::map<string16, WebKit::WebFontFamily>::const_iterator iter = unicode_font_families_.find(key); - if (iter != unicode_font_families_.end()) - return WebString::fromUTF8(iter->second); - - const std::string family_name = content::GetFontFamilyForCharacters( + if (iter != unicode_font_families_.end()) { + family->name = iter->second.name; + family->isBold = iter->second.isBold; + family->isItalic = iter->second.isItalic; + return; + } + + content::GetFontFamilyForCharacters( characters, num_characters, - preferred_locale); - unicode_font_families_.insert(make_pair(key, family_name)); - return WebString::fromUTF8(family_name); + preferred_locale, + family); + unicode_font_families_.insert(make_pair(key, *family)); } void PpapiWebKitPlatformSupportImpl::SandboxSupport::getRenderStyleForStrike( |