| Index: content/common/child_process_sandbox_support_impl_linux.cc
|
| ===================================================================
|
| --- content/common/child_process_sandbox_support_impl_linux.cc (revision 114541)
|
| +++ content/common/child_process_sandbox_support_impl_linux.cc (working copy)
|
| @@ -7,14 +7,19 @@
|
| #include <sys/stat.h>
|
|
|
| #include "base/eintr_wrapper.h"
|
| +#include "base/global_descriptors_posix.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/pickle.h"
|
| -#include "content/common/child_process_sandbox_support_impl_linux.h"
|
| +#include "content/common/chrome_descriptors.h"
|
| #include "content/common/sandbox_methods_linux.h"
|
| #include "content/common/unix_domain_socket_posix.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/linux/WebFontFamily.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h"
|
|
|
| +static int GetSandboxFD() {
|
| + return kSandboxIPCChannel + base::GlobalDescriptors::kBaseDescriptor;
|
| +}
|
| +
|
| namespace content {
|
|
|
| void GetFontFamilyForCharacters(const uint16_t* utf16,
|
| @@ -82,6 +87,21 @@
|
| }
|
| }
|
|
|
| +int MakeSharedMemorySegmentViaIPC(size_t length, bool executable) {
|
| + Pickle request;
|
| + request.WriteInt(LinuxSandbox::METHOD_MAKE_SHARED_MEMORY_SEGMENT);
|
| + request.WriteUInt32(length);
|
| + request.WriteBool(executable);
|
| + uint8_t reply_buf[10];
|
| + int result_fd;
|
| + ssize_t result = UnixDomainSocket::SendRecvMsg(GetSandboxFD(),
|
| + reply_buf, sizeof(reply_buf),
|
| + &result_fd, request);
|
| + if (result == -1)
|
| + return -1;
|
| + return result_fd;
|
| +}
|
| +
|
| int MatchFontWithFallback(const std::string& face, bool bold,
|
| bool italic, int charset) {
|
| Pickle request;
|
|
|