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; |