summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-27 14:59:05 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-27 14:59:05 +0000
commitbb91ce763726b984aa69bb1dc3a8eec359753b3b (patch)
treeea25a0160d21a73dd41ed0894f01a20abc5ab15f /chrome/browser/renderer_host
parent86b19e614383f1e1779d85da639cc6af3d67ac25 (diff)
downloadchromium_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 'chrome/browser/renderer_host')
-rw-r--r--chrome/browser/renderer_host/render_sandbox_host_linux.cc27
1 files changed, 20 insertions, 7 deletions
diff --git a/chrome/browser/renderer_host/render_sandbox_host_linux.cc b/chrome/browser/renderer_host/render_sandbox_host_linux.cc
index 6b81839..cf51b0f 100644
--- a/chrome/browser/renderer_host/render_sandbox_host_linux.cc
+++ b/chrome/browser/renderer_host/render_sandbox_host_linux.cc
@@ -152,8 +152,6 @@ class SandboxIPCProcess {
std::vector<int>& fds) {
bool fileid_valid;
uint32_t fileid;
- bool is_bold, is_italic;
- std::string family;
if (!pickle.ReadBool(&iter, &fileid_valid))
return;
@@ -161,18 +159,33 @@ class SandboxIPCProcess {
if (!pickle.ReadUInt32(&iter, &fileid))
return;
}
+ bool is_bold, is_italic;
if (!pickle.ReadBool(&iter, &is_bold) ||
- !pickle.ReadBool(&iter, &is_italic) ||
- !pickle.ReadString(&iter, &family)) {
+ !pickle.ReadBool(&iter, &is_italic)) {
return;
}
+ uint32_t characters_bytes;
+ if (!pickle.ReadUInt32(&iter, &characters_bytes))
+ return;
+ const char* characters = NULL;
+ if (characters_bytes > 0) {
+ const uint32_t kMaxCharactersBytes = 1 << 10;
+ if (characters_bytes % 1 == 0 || // We expect UTF-16.
+ characters_bytes > kMaxCharactersBytes ||
+ !pickle.ReadBytes(&iter, &characters, characters_bytes))
+ return;
+ }
+
+ std::string family;
+ if (!pickle.ReadString(&iter, &family))
+ return;
+
std::string result_family;
unsigned result_fileid;
-
const bool r = font_config_->Match(
- &result_family, &result_fileid, fileid_valid, fileid, family, &is_bold,
- &is_italic);
+ &result_family, &result_fileid, fileid_valid, fileid, family,
+ characters, characters_bytes, &is_bold, &is_italic);
Pickle reply;
if (!r) {