| Index: ppapi/proxy/serialized_structs.h
|
| diff --git a/ppapi/proxy/serialized_structs.h b/ppapi/proxy/serialized_structs.h
|
| index 5c5dcabe2a037dc0225f7abac22a6b47b5f590af..dcb99817193ae1d850fdc02747fbbe4ffc3fb856 100644
|
| --- a/ppapi/proxy/serialized_structs.h
|
| +++ b/ppapi/proxy/serialized_structs.h
|
| @@ -11,7 +11,6 @@
|
| #include "base/logging.h"
|
| #include "base/shared_memory.h"
|
| #include "build/build_config.h"
|
| -#include "ipc/ipc_platform_file.h"
|
| #include "ppapi/c/pp_bool.h"
|
| #include "ppapi/c/pp_instance.h"
|
| #include "ppapi/c/pp_point.h"
|
| @@ -87,119 +86,6 @@ struct PPBURLLoader_UpdateProgress_Params {
|
| int64_t total_bytes_to_be_received;
|
| };
|
|
|
| -// We put all our handles in a unified structure to make it easy to translate
|
| -// them in NaClIPCAdapter for use in NaCl.
|
| -class PPAPI_PROXY_EXPORT SerializedHandle {
|
| - public:
|
| - enum Type { INVALID, SHARED_MEMORY, SOCKET, CHANNEL_HANDLE, FILE };
|
| - struct Header {
|
| - Header() : type(INVALID), size(0) {}
|
| - Header(Type type_arg, uint32_t size_arg)
|
| - : type(type_arg), size(size_arg) {
|
| - }
|
| - Type type;
|
| - uint32_t size;
|
| - };
|
| -
|
| - SerializedHandle();
|
| - // Create an invalid handle of the given type.
|
| - explicit SerializedHandle(Type type);
|
| -
|
| - // Create a shared memory handle.
|
| - SerializedHandle(const base::SharedMemoryHandle& handle, uint32_t size);
|
| -
|
| - // Create a socket, channel or file handle.
|
| - SerializedHandle(const Type type,
|
| - const IPC::PlatformFileForTransit& descriptor);
|
| -
|
| - Type type() const { return type_; }
|
| - bool is_shmem() const { return type_ == SHARED_MEMORY; }
|
| - bool is_socket() const { return type_ == SOCKET; }
|
| - bool is_channel_handle() const { return type_ == CHANNEL_HANDLE; }
|
| - bool is_file() const { return type_ == FILE; }
|
| - const base::SharedMemoryHandle& shmem() const {
|
| - DCHECK(is_shmem());
|
| - return shm_handle_;
|
| - }
|
| - uint32_t size() const {
|
| - DCHECK(is_shmem());
|
| - return size_;
|
| - }
|
| - const IPC::PlatformFileForTransit& descriptor() const {
|
| - DCHECK(is_socket() || is_channel_handle() || is_file());
|
| - return descriptor_;
|
| - }
|
| - void set_shmem(const base::SharedMemoryHandle& handle, uint32_t size) {
|
| - type_ = SHARED_MEMORY;
|
| - shm_handle_ = handle;
|
| - size_ = size;
|
| -
|
| - descriptor_ = IPC::InvalidPlatformFileForTransit();
|
| - }
|
| - void set_socket(const IPC::PlatformFileForTransit& socket) {
|
| - type_ = SOCKET;
|
| - descriptor_ = socket;
|
| -
|
| - shm_handle_ = base::SharedMemory::NULLHandle();
|
| - size_ = 0;
|
| - }
|
| - void set_channel_handle(const IPC::PlatformFileForTransit& descriptor) {
|
| - type_ = CHANNEL_HANDLE;
|
| -
|
| - descriptor_ = descriptor;
|
| - shm_handle_ = base::SharedMemory::NULLHandle();
|
| - size_ = 0;
|
| - }
|
| - void set_file_handle(const IPC::PlatformFileForTransit& descriptor) {
|
| - type_ = FILE;
|
| -
|
| - descriptor_ = descriptor;
|
| - shm_handle_ = base::SharedMemory::NULLHandle();
|
| - size_ = 0;
|
| - }
|
| - void set_null_shmem() {
|
| - set_shmem(base::SharedMemory::NULLHandle(), 0);
|
| - }
|
| - void set_null_socket() {
|
| - set_socket(IPC::InvalidPlatformFileForTransit());
|
| - }
|
| - void set_null_channel_handle() {
|
| - set_channel_handle(IPC::InvalidPlatformFileForTransit());
|
| - }
|
| - void set_null_file_handle() {
|
| - set_file_handle(IPC::InvalidPlatformFileForTransit());
|
| - }
|
| - bool IsHandleValid() const;
|
| -
|
| - Header header() const {
|
| - return Header(type_, size_);
|
| - }
|
| -
|
| - // Closes the handle and sets it to invalid.
|
| - void Close();
|
| -
|
| - // Write/Read a Header, which contains all the data except the handle. This
|
| - // allows us to write the handle in a platform-specific way, as is necessary
|
| - // in NaClIPCAdapter to share handles with NaCl from Windows.
|
| - static bool WriteHeader(const Header& hdr, Pickle* pickle);
|
| - static bool ReadHeader(PickleIterator* iter, Header* hdr);
|
| -
|
| - private:
|
| - // The kind of handle we're holding.
|
| - Type type_;
|
| -
|
| - // We hold more members than we really need; we can't easily use a union,
|
| - // because we hold non-POD types. But these types are pretty light-weight. If
|
| - // we add more complex things later, we should come up with a more memory-
|
| - // efficient strategy.
|
| - // These are valid if type == SHARED_MEMORY.
|
| - base::SharedMemoryHandle shm_handle_;
|
| - uint32_t size_;
|
| -
|
| - // This is valid if type == SOCKET || type == CHANNEL_HANDLE.
|
| - IPC::PlatformFileForTransit descriptor_;
|
| -};
|
| -
|
| struct PPPDecryptor_Buffer {
|
| ppapi::HostResource resource;
|
| uint32_t size;
|
|
|