summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/api/public/gtk/WebFontInfo.h4
-rw-r--r--webkit/api/src/ChromiumBridge.cpp9
-rw-r--r--webkit/api/src/gtk/WebFontInfo.cpp10
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