summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi')
-rw-r--r--ppapi/proxy/ppapi_param_traits.cc32
-rw-r--r--ppapi/proxy/ppapi_param_traits.h30
-rw-r--r--ppapi/proxy/serialized_flash_menu.cc13
-rw-r--r--ppapi/proxy/serialized_flash_menu.h6
-rw-r--r--ppapi/proxy/serialized_var.cc3
-rw-r--r--ppapi/proxy/serialized_var.h6
6 files changed, 50 insertions, 40 deletions
diff --git a/ppapi/proxy/ppapi_param_traits.cc b/ppapi/proxy/ppapi_param_traits.cc
index 484cb9b..7c13710 100644
--- a/ppapi/proxy/ppapi_param_traits.cc
+++ b/ppapi/proxy/ppapi_param_traits.cc
@@ -39,7 +39,7 @@ namespace {
// add it to the vector one at a time.
template<typename T>
bool ReadVectorWithoutCopy(const Message* m,
- void** iter,
+ PickleIterator* iter,
std::vector<T>* output) {
// This part is just a copy of the the default ParamTraits vector Read().
int size;
@@ -81,7 +81,9 @@ void ParamTraits<PP_Bool>::Write(Message* m, const param_type& p) {
}
// static
-bool ParamTraits<PP_Bool>::Read(const Message* m, void** iter, param_type* r) {
+bool ParamTraits<PP_Bool>::Read(const Message* m,
+ PickleIterator* iter,
+ param_type* r) {
// We specifically want to be strict here about what types of input we accept,
// which ParamTraits<bool> does for us. We don't want to deserialize "2" into
// a PP_Bool, for example.
@@ -109,7 +111,7 @@ void ParamTraits<PP_FileInfo>::Write(Message* m, const param_type& p) {
}
// static
-bool ParamTraits<PP_FileInfo>::Read(const Message* m, void** iter,
+bool ParamTraits<PP_FileInfo>::Read(const Message* m, PickleIterator* iter,
param_type* r) {
int type, system_type;
if (!ParamTraits<int64_t>::Read(m, iter, &r->size) ||
@@ -148,7 +150,7 @@ void ParamTraits<PP_NetAddress_Private>::Write(Message* m,
// static
bool ParamTraits<PP_NetAddress_Private>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* p) {
uint16 size;
if (!ReadParam(m, iter, &size))
@@ -181,7 +183,7 @@ void ParamTraits<PP_ObjectProperty>::Write(Message* m, const param_type& p) {
// static
bool ParamTraits<PP_ObjectProperty>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
// FIXME(brettw);
return true;
@@ -220,7 +222,7 @@ void ParamTraits<ppapi::proxy::PPBFlash_DrawGlyphs_Params>::Write(
// static
bool ParamTraits<ppapi::proxy::PPBFlash_DrawGlyphs_Params>::Read(
const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return
ParamTraits<PP_Instance>::Read(m, iter, &r->instance) &&
@@ -265,7 +267,7 @@ void ParamTraits<ppapi::PPB_FileRef_CreateInfo>::Write(Message* m,
// static
bool ParamTraits<ppapi::PPB_FileRef_CreateInfo>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return
ParamTraits<ppapi::HostResource>::Read(m, iter, &r->resource) &&
@@ -296,7 +298,7 @@ void ParamTraits<ppapi::proxy::PPBURLLoader_UpdateProgress_Params>::Write(
// static
bool ParamTraits<ppapi::proxy::PPBURLLoader_UpdateProgress_Params>::Read(
const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return
ParamTraits<PP_Instance>::Read(m, iter, &r->instance) &&
@@ -324,7 +326,7 @@ void ParamTraits<ppapi::proxy::SerializedDirEntry>::Write(Message* m,
// static
bool ParamTraits<ppapi::proxy::SerializedDirEntry>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return ParamTraits<std::string>::Read(m, iter, &r->name) &&
ParamTraits<bool>::Read(m, iter, &r->is_dir);
@@ -354,7 +356,7 @@ void ParamTraits<ppapi::proxy::SerializedFontDescription>::Write(
// static
bool ParamTraits<ppapi::proxy::SerializedFontDescription>::Read(
const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return
ParamTraits<ppapi::proxy::SerializedVar>::Read(m, iter, &r->face) &&
@@ -384,7 +386,7 @@ void ParamTraits<ppapi::HostResource>::Write(Message* m,
// static
bool ParamTraits<ppapi::HostResource>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
PP_Instance instance;
PP_Resource resource;
@@ -410,7 +412,7 @@ void ParamTraits<ppapi::proxy::SerializedVar>::Write(Message* m,
// static
bool ParamTraits<ppapi::proxy::SerializedVar>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return r->ReadFromMessage(m, iter);
}
@@ -431,7 +433,7 @@ void ParamTraits< std::vector<ppapi::proxy::SerializedVar> >::Write(
// static
bool ParamTraits< std::vector<ppapi::proxy::SerializedVar> >::Read(
const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return ReadVectorWithoutCopy(m, iter, r);
}
@@ -453,7 +455,7 @@ void ParamTraits< std::vector<ppapi::PPB_FileRef_CreateInfo> >::Write(
// static
bool ParamTraits< std::vector<ppapi::PPB_FileRef_CreateInfo> >::Read(
const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return ReadVectorWithoutCopy(m, iter, r);
}
@@ -475,7 +477,7 @@ void ParamTraits<ppapi::proxy::SerializedFlashMenu>::Write(
// static
bool ParamTraits<ppapi::proxy::SerializedFlashMenu>::Read(const Message* m,
- void** iter,
+ PickleIterator* iter,
param_type* r) {
return r->ReadFromMessage(m, iter);
}
diff --git a/ppapi/proxy/ppapi_param_traits.h b/ppapi/proxy/ppapi_param_traits.h
index 63121f0..40e4e5b 100644
--- a/ppapi/proxy/ppapi_param_traits.h
+++ b/ppapi/proxy/ppapi_param_traits.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -42,7 +42,7 @@ template<>
struct ParamTraits<PP_Bool> {
typedef PP_Bool param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -50,7 +50,7 @@ template<>
struct ParamTraits<PP_FileInfo> {
typedef PP_FileInfo param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -58,7 +58,7 @@ template <>
struct PPAPI_PROXY_EXPORT ParamTraits<PP_NetAddress_Private> {
typedef PP_NetAddress_Private param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* p);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* p);
static void Log(const param_type& p, std::string* l);
};
@@ -66,7 +66,7 @@ template<>
struct ParamTraits<PP_ObjectProperty> {
typedef PP_ObjectProperty param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -74,7 +74,7 @@ template<>
struct ParamTraits<ppapi::proxy::PPBFlash_DrawGlyphs_Params> {
typedef ppapi::proxy::PPBFlash_DrawGlyphs_Params param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -82,7 +82,7 @@ template<>
struct ParamTraits<ppapi::PPB_FileRef_CreateInfo> {
typedef ppapi::PPB_FileRef_CreateInfo param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -90,7 +90,7 @@ template<>
struct ParamTraits<ppapi::proxy::PPBURLLoader_UpdateProgress_Params> {
typedef ppapi::proxy::PPBURLLoader_UpdateProgress_Params param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -98,7 +98,7 @@ template<>
struct ParamTraits<ppapi::proxy::SerializedDirEntry> {
typedef ppapi::proxy::SerializedDirEntry param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -106,7 +106,7 @@ template<>
struct ParamTraits<ppapi::proxy::SerializedFontDescription> {
typedef ppapi::proxy::SerializedFontDescription param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -114,7 +114,7 @@ template<>
struct ParamTraits<ppapi::HostResource> {
typedef ppapi::HostResource param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -122,7 +122,7 @@ template<>
struct ParamTraits<ppapi::proxy::SerializedVar> {
typedef ppapi::proxy::SerializedVar param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -130,7 +130,7 @@ template<>
struct ParamTraits< std::vector<ppapi::proxy::SerializedVar> > {
typedef std::vector<ppapi::proxy::SerializedVar> param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -138,7 +138,7 @@ template<>
struct ParamTraits< std::vector<ppapi::PPB_FileRef_CreateInfo> > {
typedef std::vector<ppapi::PPB_FileRef_CreateInfo> param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
@@ -146,7 +146,7 @@ template<>
struct ParamTraits<ppapi::proxy::SerializedFlashMenu> {
typedef ppapi::proxy::SerializedFlashMenu param_type;
static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, void** iter, param_type* r);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
static void Log(const param_type& p, std::string* l);
};
diff --git a/ppapi/proxy/serialized_flash_menu.cc b/ppapi/proxy/serialized_flash_menu.cc
index c29f9c1..2784485 100644
--- a/ppapi/proxy/serialized_flash_menu.cc
+++ b/ppapi/proxy/serialized_flash_menu.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -19,7 +19,7 @@ const int kMaxMenuDepth = 2;
bool CheckMenu(int depth, const PP_Flash_Menu* menu);
void FreeMenu(const PP_Flash_Menu* menu);
void WriteMenu(IPC::Message* m, const PP_Flash_Menu* menu);
-PP_Flash_Menu* ReadMenu(int depth, const IPC::Message* m, void** iter);
+PP_Flash_Menu* ReadMenu(int depth, const IPC::Message* m, PickleIterator* iter);
bool CheckMenuItem(int depth, const PP_Flash_MenuItem* item) {
if (item->type == PP_FLASH_MENUITEM_TYPE_SUBMENU)
@@ -77,7 +77,7 @@ void FreeMenu(const PP_Flash_Menu* menu) {
bool ReadMenuItem(int depth,
const IPC::Message* m,
- void** iter,
+ PickleIterator* iter,
PP_Flash_MenuItem* menu_item) {
uint32_t type;
if (!m->ReadUInt32(iter, &type))
@@ -105,7 +105,9 @@ bool ReadMenuItem(int depth,
return true;
}
-PP_Flash_Menu* ReadMenu(int depth, const IPC::Message* m, void** iter) {
+PP_Flash_Menu* ReadMenu(int depth,
+ const IPC::Message* m,
+ PickleIterator* iter) {
if (depth > kMaxMenuDepth)
return NULL;
++depth;
@@ -158,7 +160,8 @@ void SerializedFlashMenu::WriteToMessage(IPC::Message* m) const {
WriteMenu(m, pp_menu_);
}
-bool SerializedFlashMenu::ReadFromMessage(const IPC::Message* m, void** iter) {
+bool SerializedFlashMenu::ReadFromMessage(const IPC::Message* m,
+ PickleIterator* iter) {
DCHECK(!pp_menu_);
pp_menu_ = ReadMenu(0, m, iter);
if (!pp_menu_)
diff --git a/ppapi/proxy/serialized_flash_menu.h b/ppapi/proxy/serialized_flash_menu.h
index 4be22bf..f7ad6b6 100644
--- a/ppapi/proxy/serialized_flash_menu.h
+++ b/ppapi/proxy/serialized_flash_menu.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -12,6 +12,8 @@
#include "base/memory/scoped_ptr.h"
#include "ppapi/proxy/ppapi_proxy_export.h"
+class PickleIterator;
+
struct PP_Flash_Menu;
namespace IPC {
@@ -31,7 +33,7 @@ class PPAPI_PROXY_EXPORT SerializedFlashMenu {
const PP_Flash_Menu* pp_menu() const { return pp_menu_; }
void WriteToMessage(IPC::Message* m) const;
- bool ReadFromMessage(const IPC::Message* m, void** iter);
+ bool ReadFromMessage(const IPC::Message* m, PickleIterator* iter);
private:
const PP_Flash_Menu* pp_menu_;
diff --git a/ppapi/proxy/serialized_var.cc b/ppapi/proxy/serialized_var.cc
index eb20333..7b2a8e3 100644
--- a/ppapi/proxy/serialized_var.cc
+++ b/ppapi/proxy/serialized_var.cc
@@ -147,7 +147,8 @@ void SerializedVar::Inner::WriteToMessage(IPC::Message* m) const {
}
}
-bool SerializedVar::Inner::ReadFromMessage(const IPC::Message* m, void** iter) {
+bool SerializedVar::Inner::ReadFromMessage(const IPC::Message* m,
+ PickleIterator* iter) {
#ifndef NDEBUG
// We should only deserialize something once or will end up with leaked
// references.
diff --git a/ppapi/proxy/serialized_var.h b/ppapi/proxy/serialized_var.h
index 28b7c8b..ffcf0da 100644
--- a/ppapi/proxy/serialized_var.h
+++ b/ppapi/proxy/serialized_var.h
@@ -14,6 +14,8 @@
#include "ppapi/c/pp_var.h"
#include "ppapi/proxy/ppapi_proxy_export.h"
+class PickleIterator;
+
namespace IPC {
class Message;
}
@@ -72,7 +74,7 @@ class PPAPI_PROXY_EXPORT SerializedVar {
void WriteToMessage(IPC::Message* m) const {
inner_->WriteToMessage(m);
}
- bool ReadFromMessage(const IPC::Message* m, void** iter) {
+ bool ReadFromMessage(const IPC::Message* m, PickleIterator* iter) {
return inner_->ReadFromMessage(m, iter);
}
@@ -106,7 +108,7 @@ class PPAPI_PROXY_EXPORT SerializedVar {
void ForceSetVarValueForTest(PP_Var value);
void WriteToMessage(IPC::Message* m) const;
- bool ReadFromMessage(const IPC::Message* m, void** iter);
+ bool ReadFromMessage(const IPC::Message* m, PickleIterator* iter);
// Sets the cleanup mode. See the CleanupMode enum below. These functions
// are not just a simple setter in order to require that the appropriate