diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-27 14:59:05 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-27 14:59:05 +0000 |
commit | bb91ce763726b984aa69bb1dc3a8eec359753b3b (patch) | |
tree | ea25a0160d21a73dd41ed0894f01a20abc5ab15f /skia/ext/SkFontHost_fontconfig_ipc.cpp | |
parent | 86b19e614383f1e1779d85da639cc6af3d67ac25 (diff) | |
download | chromium_src-bb91ce763726b984aa69bb1dc3a8eec359753b3b.zip chromium_src-bb91ce763726b984aa69bb1dc3a8eec359753b3b.tar.gz chromium_src-bb91ce763726b984aa69bb1dc3a8eec359753b3b.tar.bz2 |
Skia roll 536:560
This also includes Evan's patch: http://codereview.chromium.org/1611033
This roll sits after a revert to Skia's hairline change so,
hopefully, doesn't need any rebaselines. The try servers mostly agree
although there's one (clip-path-text-and-shape.svg on Windows) that I
need to keep on eye on. (That's why I'm landing this before MTV is
active.)
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45696 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia/ext/SkFontHost_fontconfig_ipc.cpp')
-rw-r--r-- | skia/ext/SkFontHost_fontconfig_ipc.cpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/skia/ext/SkFontHost_fontconfig_ipc.cpp b/skia/ext/SkFontHost_fontconfig_ipc.cpp index 01bd393..0c95072 100644 --- a/skia/ext/SkFontHost_fontconfig_ipc.cpp +++ b/skia/ext/SkFontHost_fontconfig_ipc.cpp @@ -39,35 +39,40 @@ FontConfigIPC::~FontConfigIPC() { bool FontConfigIPC::Match(std::string* result_family, unsigned* result_fileid, bool fileid_valid, unsigned fileid, - const std::string& family, bool* is_bold, - bool* is_italic) { + const std::string& family, + const void* characters, size_t characters_bytes, + bool* is_bold, bool* is_italic) { if (family.length() > kMaxFontFamilyLength) - return false; + return false; Pickle request; request.WriteInt(METHOD_MATCH); request.WriteBool(fileid_valid); if (fileid_valid) - request.WriteUInt32(fileid); + request.WriteUInt32(fileid); request.WriteBool(is_bold && *is_bold); request.WriteBool(is_bold && *is_italic); + request.WriteUInt32(characters_bytes); + if (characters_bytes) + request.WriteBytes(characters, characters_bytes); + request.WriteString(family); uint8_t reply_buf[512]; const ssize_t r = base::SendRecvMsg(fd_, reply_buf, sizeof(reply_buf), NULL, request); if (r == -1) - return false; + return false; Pickle reply(reinterpret_cast<char*>(reply_buf), r); void* iter = NULL; bool result; if (!reply.ReadBool(&iter, &result)) - return false; + return false; if (!result) - return false; + return false; uint32_t reply_fileid; std::string reply_family; @@ -76,17 +81,17 @@ bool FontConfigIPC::Match(std::string* result_family, !reply.ReadString(&iter, &reply_family) || !reply.ReadBool(&iter, &resulting_bold) || !reply.ReadBool(&iter, &resulting_italic)) { - return false; + return false; } *result_fileid = reply_fileid; if (result_family) - *result_family = reply_family; + *result_family = reply_family; if (is_bold) - *is_bold = resulting_bold; + *is_bold = resulting_bold; if (is_italic) - *is_italic = resulting_italic; + *is_italic = resulting_italic; return true; } |