Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(895)

Unified Diff: ppapi/proxy/serialized_handle.h

Issue 11894003: PPAPI/NaCl: Move handle extraction code to ppapi/proxy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/proxy/resource_message_params.h ('k') | ppapi/proxy/serialized_handle.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/proxy/serialized_handle.h
diff --git a/ppapi/proxy/serialized_structs.h b/ppapi/proxy/serialized_handle.h
similarity index 55%
copy from ppapi/proxy/serialized_structs.h
copy to ppapi/proxy/serialized_handle.h
index 5c5dcabe2a037dc0225f7abac22a6b47b5f590af..9e4136f92f31a3ae4f0cb27986a0f1e77fff1080 100644
--- a/ppapi/proxy/serialized_structs.h
+++ b/ppapi/proxy/serialized_handle.h
@@ -1,104 +1,39 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2013 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 PPAPI_PROXY_SERIALIZED_STRUCTS_H_
-#define PPAPI_PROXY_SERIALIZED_STRUCTS_H_
+#ifndef PPAPI_PROXY_SERIALIZED_HANDLES_H_
+#define PPAPI_PROXY_SERIALIZED_HANDLES_H_
#include <string>
#include <vector>
+#include "base/basictypes.h"
#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"
-#include "ppapi/c/pp_rect.h"
#include "ppapi/proxy/ppapi_proxy_export.h"
-#include "ppapi/shared_impl/host_resource.h"
class Pickle;
-struct PP_FontDescription_Dev;
-struct PP_BrowserFont_Trusted_Description;
namespace ppapi {
namespace proxy {
-// PP_FontDescription_Dev/PP_BrowserFontDescription (same definition, different
-// names) has to be redefined with a string in place of the PP_Var used for the
-// face name.
-struct PPAPI_PROXY_EXPORT SerializedFontDescription {
- SerializedFontDescription();
- ~SerializedFontDescription();
-
- // Converts a PP_FontDescription_Dev to a SerializedFontDescription.
- //
- // The reference of |face| owned by the PP_FontDescription_Dev will be
- // unchanged and the caller is responsible for freeing it.
- void SetFromPPFontDescription(const PP_FontDescription_Dev& desc);
- void SetFromPPBrowserFontDescription(
- const PP_BrowserFont_Trusted_Description& desc);
-
- // Converts to a PP_FontDescription_Dev. The face name will have one ref
- // assigned to it. The caller is responsible for freeing it.
- void SetToPPFontDescription(PP_FontDescription_Dev* desc) const;
- void SetToPPBrowserFontDescription(
- PP_BrowserFont_Trusted_Description* desc) const;
-
- std::string face;
- int32_t family;
- uint32_t size;
- int32_t weight;
- PP_Bool italic;
- PP_Bool small_caps;
- int32_t letter_spacing;
- int32_t word_spacing;
-};
-
-struct SerializedDirEntry {
- std::string name;
- bool is_dir;
-};
-
-struct PPAPI_PROXY_EXPORT PPBFlash_DrawGlyphs_Params {
- PPBFlash_DrawGlyphs_Params();
- ~PPBFlash_DrawGlyphs_Params();
-
- PP_Instance instance;
- ppapi::HostResource image_data;
- SerializedFontDescription font_desc;
- uint32_t color;
- PP_Point position;
- PP_Rect clip;
- float transformation[3][3];
- PP_Bool allow_subpixel_aa;
- std::vector<uint16_t> glyph_indices;
- std::vector<PP_Point> glyph_advances;
-};
-
-struct PPBURLLoader_UpdateProgress_Params {
- PP_Instance instance;
- ppapi::HostResource resource;
- int64_t bytes_sent;
- int64_t total_bytes_to_be_sent;
- int64_t bytes_received;
- 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.
+// SerializedHandle is a unified structure for holding a handle (e.g., a shared
+// memory handle, socket descriptor, etc). This is useful for passing handles in
+// resource messages and also makes it easier to translate handles 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)
+ Header(Type type_arg, uint32 size_arg)
: type(type_arg), size(size_arg) {
}
Type type;
- uint32_t size;
+ uint32 size;
};
SerializedHandle();
@@ -106,7 +41,7 @@ class PPAPI_PROXY_EXPORT SerializedHandle {
explicit SerializedHandle(Type type);
// Create a shared memory handle.
- SerializedHandle(const base::SharedMemoryHandle& handle, uint32_t size);
+ SerializedHandle(const base::SharedMemoryHandle& handle, uint32 size);
// Create a socket, channel or file handle.
SerializedHandle(const Type type,
@@ -121,7 +56,7 @@ class PPAPI_PROXY_EXPORT SerializedHandle {
DCHECK(is_shmem());
return shm_handle_;
}
- uint32_t size() const {
+ uint32 size() const {
DCHECK(is_shmem());
return size_;
}
@@ -129,7 +64,7 @@ class PPAPI_PROXY_EXPORT SerializedHandle {
DCHECK(is_socket() || is_channel_handle() || is_file());
return descriptor_;
}
- void set_shmem(const base::SharedMemoryHandle& handle, uint32_t size) {
+ void set_shmem(const base::SharedMemoryHandle& handle, uint32 size) {
type_ = SHARED_MEMORY;
shm_handle_ = handle;
size_ = size;
@@ -194,28 +129,13 @@ class PPAPI_PROXY_EXPORT SerializedHandle {
// efficient strategy.
// These are valid if type == SHARED_MEMORY.
base::SharedMemoryHandle shm_handle_;
- uint32_t size_;
+ uint32 size_;
// This is valid if type == SOCKET || type == CHANNEL_HANDLE.
IPC::PlatformFileForTransit descriptor_;
};
-struct PPPDecryptor_Buffer {
- ppapi::HostResource resource;
- uint32_t size;
- base::SharedMemoryHandle handle;
-};
-
-#if defined(OS_WIN)
-typedef HANDLE ImageHandle;
-#elif defined(OS_MACOSX) || defined(OS_ANDROID)
-typedef base::SharedMemoryHandle ImageHandle;
-#else
-// On X Windows this is a SysV shared memory key.
-typedef int ImageHandle;
-#endif
-
} // namespace proxy
} // namespace ppapi
-#endif // PPAPI_PROXY_SERIALIZED_STRUCTS_H_
+#endif // PPAPI_PROXY_SERIALIZED_HANDLES_H_
« no previous file with comments | « ppapi/proxy/resource_message_params.h ('k') | ppapi/proxy/serialized_handle.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698