summaryrefslogtreecommitdiffstats
path: root/chrome/common/sandbox_methods_linux.h
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-25 21:25:31 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-25 21:25:31 +0000
commit22a27de7ddd22505f5f281d2fe90a124b7d6ecf0 (patch)
treebe34167345b2c3871c783cca9e16aefa0da1d4bb /chrome/common/sandbox_methods_linux.h
parente1b1a5fa61da772666bf58632979776f0651c981 (diff)
downloadchromium_src-22a27de7ddd22505f5f281d2fe90a124b7d6ecf0.zip
chromium_src-22a27de7ddd22505f5f281d2fe90a124b7d6ecf0.tar.gz
chromium_src-22a27de7ddd22505f5f281d2fe90a124b7d6ecf0.tar.bz2
Linux: plumb fontconfig call out to the sandbox host.
This is hopefully the last step before our renderers can run cleanly in a chroot. WebKit needs to be able to ask for the correct font to use in the case that the current font doesn't include glyphs for certain code points. Currently we make a fontconfig call in our WebKit port to handle this. This patch changes this so that the call is sent our via ChromiumBridge. Since we are at ChromiumBridge, we could make a sync IPC to the browser. However, fontconfig is a single threaded library and we are already using it on the UI thread in the browser, so the sync IPC would have to terminate on the UI thread. Even if this doesn't deadlock, it causes huge spikes in latency. So, instead, we send the IPC to the sandbox host process which is already setup to handle fontconfig requests from Skia. See: http://code.google.com/p/chromium/wiki/LinuxSandboxIPC git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19287 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/sandbox_methods_linux.h')
-rw-r--r--chrome/common/sandbox_methods_linux.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/chrome/common/sandbox_methods_linux.h b/chrome/common/sandbox_methods_linux.h
new file mode 100644
index 0000000..cfa2c84
--- /dev/null
+++ b/chrome/common/sandbox_methods_linux.h
@@ -0,0 +1,19 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_COMMON_SANDBOX_METHODS_LINUX_H_
+#define CHROME_COMMON_SANDBOX_METHODS_LINUX_H_
+
+// This is a list of sandbox IPC methods which the renderer may send to the
+// sandbox host. See http://code.google.com/p/chromium/LinuxSandboxIPC
+// This isn't the full list, values < 32 are reserved for methods called from
+// Skia.
+class LinuxSandbox {
+ public:
+ enum Methods {
+ METHOD_GET_FONT_FAMILY_FOR_CHARS = 32,
+ };
+};
+
+#endif // CHROME_COMMON_SANDBOX_METHODS_LINUX_H_