summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/serialized_var.cc
diff options
context:
space:
mode:
authorraymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-18 18:49:47 +0000
committerraymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-18 18:49:47 +0000
commitd10d2cf2d284daa024deb9a512868c55608dfd1c (patch)
tree533d4748d1bf2eb98b12fdfc1b367f7904a05983 /ppapi/proxy/serialized_var.cc
parent5b1840636a2ba72b9de48735ec05125a61759b07 (diff)
downloadchromium_src-d10d2cf2d284daa024deb9a512868c55608dfd1c.zip
chromium_src-d10d2cf2d284daa024deb9a512868c55608dfd1c.tar.gz
chromium_src-d10d2cf2d284daa024deb9a512868c55608dfd1c.tar.bz2
Revert 207040 "Don't send PP_Vars/V8 values with cycles across P..."
> Don't send PP_Vars/V8 values with cycles across PostMessage > > This prevents PP_Vars/V8 values with cycles being transmitted across PostMessage. An undefined value will be sent instead and an error will be logged to the console. > > BUG=236958 > > Review URL: https://chromiumcodereview.appspot.com/16140011 TBR=raymes@chromium.org Review URL: https://codereview.chromium.org/17239007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207043 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/serialized_var.cc')
-rw-r--r--ppapi/proxy/serialized_var.cc39
1 files changed, 4 insertions, 35 deletions
diff --git a/ppapi/proxy/serialized_var.cc b/ppapi/proxy/serialized_var.cc
index 72e7cc8..1217a83 100644
--- a/ppapi/proxy/serialized_var.cc
+++ b/ppapi/proxy/serialized_var.cc
@@ -18,20 +18,13 @@
namespace ppapi {
namespace proxy {
-namespace {
-void DefaultHandleWriter(IPC::Message* m, const SerializedHandle& handle) {
- IPC::ParamTraits<SerializedHandle>::Write(m, handle);
-}
-} // namespace
-
// SerializedVar::Inner --------------------------------------------------------
SerializedVar::Inner::Inner()
: serialization_rules_(NULL),
var_(PP_MakeUndefined()),
instance_(0),
- cleanup_mode_(CLEANUP_NONE),
- is_valid_var_(true) {
+ cleanup_mode_(CLEANUP_NONE) {
#ifndef NDEBUG
has_been_serialized_ = false;
has_been_deserialized_ = false;
@@ -114,24 +107,7 @@ void SerializedVar::Inner::WriteToMessage(IPC::Message* m) const {
DCHECK(!has_been_serialized_);
has_been_serialized_ = true;
#endif
- scoped_ptr<RawVarDataGraph> data = RawVarDataGraph::Create(var_, instance_);
- if (data) {
- m->WriteBool(true); // Success.
- data->Write(m, base::Bind(&DefaultHandleWriter));
- } else {
- m->WriteBool(false); // Failure.
- }
-}
-
-void SerializedVar::Inner::WriteDataToMessage(
- IPC::Message* m,
- const HandleWriter& handle_writer) const {
- if (raw_var_data_) {
- m->WriteBool(true); // Success.
- raw_var_data_->Write(m, handle_writer);
- } else {
- m->WriteBool(false); // Failure.
- }
+ RawVarDataGraph::Create(var_, instance_)->Write(m);
}
bool SerializedVar::Inner::ReadFromMessage(const IPC::Message* m,
@@ -149,15 +125,8 @@ bool SerializedVar::Inner::ReadFromMessage(const IPC::Message* m,
#endif
// When reading, the dispatcher should be set when we get a Deserialize
// call (which will supply a dispatcher).
- if (!m->ReadBool(iter, &is_valid_var_))
- return false;
- if (is_valid_var_) {
- raw_var_data_ = RawVarDataGraph::Read(m, iter);
- if (!raw_var_data_)
- return false;
- }
-
- return true;
+ raw_var_data_ = RawVarDataGraph::Read(m, iter);
+ return raw_var_data_.get() != NULL;
}
void SerializedVar::Inner::SetCleanupModeToEndSendPassRef() {