diff options
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/api/public/gtk/WebFontInfo.h | 4 | ||||
-rw-r--r-- | webkit/api/src/ChromiumBridge.cpp | 9 | ||||
-rw-r--r-- | webkit/api/src/gtk/WebFontInfo.cpp | 10 |
3 files changed, 14 insertions, 9 deletions
diff --git a/webkit/api/public/gtk/WebFontInfo.h b/webkit/api/public/gtk/WebFontInfo.h index b5543c2..2a0b7f9 100644 --- a/webkit/api/public/gtk/WebFontInfo.h +++ b/webkit/api/public/gtk/WebFontInfo.h @@ -31,7 +31,7 @@ #ifndef WebFontInfo_h #define WebFontInfo_h -#include "../WebString.h" +#include "../WebCString.h" #include <string.h> #include <unistd.h> @@ -47,7 +47,7 @@ namespace WebKit { // // Returns: the font family or an empty string if the request could not be // satisfied. - WEBKIT_API static WebString familyForChars(const WebUChar* characters, size_t numCharacters); + WEBKIT_API static WebCString familyForChars(const WebUChar* characters, size_t numCharacters); }; } // namespace WebKit diff --git a/webkit/api/src/ChromiumBridge.cpp b/webkit/api/src/ChromiumBridge.cpp index e48b4b7..b668178 100644 --- a/webkit/api/src/ChromiumBridge.cpp +++ b/webkit/api/src/ChromiumBridge.cpp @@ -208,8 +208,13 @@ String ChromiumBridge::getFontFamilyForCharacters(const UChar* characters, size_ { if (webKitClient()->sandboxSupport()) return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters); - else - return WebFontInfo::familyForChars(characters, numCharacters); + else { + WebCString family = WebFontInfo::familyForChars(characters, numCharacters); + if (family.data()) + return WebString::fromUTF8(family.data()); + else + return WebString(); + } } #endif diff --git a/webkit/api/src/gtk/WebFontInfo.cpp b/webkit/api/src/gtk/WebFontInfo.cpp index 059ad4b..9365ed2 100644 --- a/webkit/api/src/gtk/WebFontInfo.cpp +++ b/webkit/api/src/gtk/WebFontInfo.cpp @@ -38,7 +38,7 @@ namespace WebKit { -WebString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters) +WebCString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters) { FcCharSet* cset = FcCharSetCreate(); for (int i = 0; i < numCharacters; ++i) { @@ -71,7 +71,7 @@ WebString WebFontInfo::familyForChars(const WebUChar* characters, size_t numChar FcCharSetDestroy(cset); if (!fontSet) - return WebString(); + return WebCString(); // Older versions of fontconfig have a bug where they cannot select // only scalable fonts so we have to manually filter the results. @@ -92,17 +92,17 @@ WebString WebFontInfo::familyForChars(const WebUChar* characters, size_t numChar continue; FcChar8* family; - WebString result; + WebCString result; if (FcPatternGetString(current, FC_FAMILY, 0, &family) == FcResultMatch) { const char* charFamily = reinterpret_cast<char*>(family); - result = WebString::fromUTF8(charFamily, strlen(charFamily)); + result = WebCString(charFamily, strlen(charFamily)); } FcFontSetDestroy(fontSet); return result; } FcFontSetDestroy(fontSet); - return WebString(); + return WebCString(); } } // namespace WebKit |