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

Side by Side Diff: ppapi/proxy/resource_message_params.cc

Issue 1659003003: IPC::Message -> base::Pickle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: one more mac fix Created 4 years, 10 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 unified diff | Download patch
« no previous file with comments | « ppapi/proxy/resource_message_params.h ('k') | ppapi/proxy/serialized_flash_menu.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/proxy/resource_message_params.h" 5 #include "ppapi/proxy/resource_message_params.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/proxy/ppapi_messages.h" 9 #include "ppapi/proxy/ppapi_messages.h"
10 10
(...skipping 22 matching lines...) Expand all
33 ResourceMessageParams::ResourceMessageParams(PP_Resource resource, 33 ResourceMessageParams::ResourceMessageParams(PP_Resource resource,
34 int32_t sequence) 34 int32_t sequence)
35 : pp_resource_(resource), 35 : pp_resource_(resource),
36 sequence_(sequence), 36 sequence_(sequence),
37 handles_(new SerializedHandles()) { 37 handles_(new SerializedHandles()) {
38 } 38 }
39 39
40 ResourceMessageParams::~ResourceMessageParams() { 40 ResourceMessageParams::~ResourceMessageParams() {
41 } 41 }
42 42
43 void ResourceMessageParams::Serialize(IPC::Message* msg) const { 43 void ResourceMessageParams::Serialize(base::Pickle* msg) const {
44 WriteHeader(msg); 44 WriteHeader(msg);
45 WriteHandles(msg); 45 WriteHandles(msg);
46 } 46 }
47 47
48 bool ResourceMessageParams::Deserialize(const IPC::Message* msg, 48 bool ResourceMessageParams::Deserialize(const base::Pickle* msg,
49 base::PickleIterator* iter) { 49 base::PickleIterator* iter) {
50 return ReadHeader(msg, iter) && ReadHandles(msg, iter); 50 return ReadHeader(msg, iter) && ReadHandles(msg, iter);
51 } 51 }
52 52
53 void ResourceMessageParams::WriteHeader(IPC::Message* msg) const { 53 void ResourceMessageParams::WriteHeader(base::Pickle* msg) const {
54 IPC::WriteParam(msg, pp_resource_); 54 IPC::WriteParam(msg, pp_resource_);
55 IPC::WriteParam(msg, sequence_); 55 IPC::WriteParam(msg, sequence_);
56 } 56 }
57 57
58 void ResourceMessageParams::WriteHandles(IPC::Message* msg) const { 58 void ResourceMessageParams::WriteHandles(base::Pickle* msg) const {
59 IPC::WriteParam(msg, handles_->data()); 59 IPC::WriteParam(msg, handles_->data());
60 } 60 }
61 61
62 bool ResourceMessageParams::ReadHeader(const IPC::Message* msg, 62 bool ResourceMessageParams::ReadHeader(const base::Pickle* msg,
63 base::PickleIterator* iter) { 63 base::PickleIterator* iter) {
64 DCHECK(handles_->data().empty()); 64 DCHECK(handles_->data().empty());
65 handles_->set_should_close(true); 65 handles_->set_should_close(true);
66 return IPC::ReadParam(msg, iter, &pp_resource_) && 66 return IPC::ReadParam(msg, iter, &pp_resource_) &&
67 IPC::ReadParam(msg, iter, &sequence_); 67 IPC::ReadParam(msg, iter, &sequence_);
68 } 68 }
69 69
70 bool ResourceMessageParams::ReadHandles(const IPC::Message* msg, 70 bool ResourceMessageParams::ReadHandles(const base::Pickle* msg,
71 base::PickleIterator* iter) { 71 base::PickleIterator* iter) {
72 return IPC::ReadParam(msg, iter, &handles_->data()); 72 return IPC::ReadParam(msg, iter, &handles_->data());
73 } 73 }
74 74
75 void ResourceMessageParams::ConsumeHandles() const { 75 void ResourceMessageParams::ConsumeHandles() const {
76 // Note: we must not invalidate the handles. This is used for converting 76 // Note: we must not invalidate the handles. This is used for converting
77 // handles from the host OS to NaCl, and that conversion will not work if we 77 // handles from the host OS to NaCl, and that conversion will not work if we
78 // invalidate the handles (see HandleConverter). 78 // invalidate the handles (see HandleConverter).
79 handles_->set_should_close(false); 79 handles_->set_should_close(false);
80 } 80 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 144
145 ResourceMessageCallParams::ResourceMessageCallParams(PP_Resource resource, 145 ResourceMessageCallParams::ResourceMessageCallParams(PP_Resource resource,
146 int32_t sequence) 146 int32_t sequence)
147 : ResourceMessageParams(resource, sequence), 147 : ResourceMessageParams(resource, sequence),
148 has_callback_(0) { 148 has_callback_(0) {
149 } 149 }
150 150
151 ResourceMessageCallParams::~ResourceMessageCallParams() { 151 ResourceMessageCallParams::~ResourceMessageCallParams() {
152 } 152 }
153 153
154 void ResourceMessageCallParams::Serialize(IPC::Message* msg) const { 154 void ResourceMessageCallParams::Serialize(base::Pickle* msg) const {
155 ResourceMessageParams::Serialize(msg); 155 ResourceMessageParams::Serialize(msg);
156 IPC::WriteParam(msg, has_callback_); 156 IPC::WriteParam(msg, has_callback_);
157 } 157 }
158 158
159 bool ResourceMessageCallParams::Deserialize(const IPC::Message* msg, 159 bool ResourceMessageCallParams::Deserialize(const base::Pickle* msg,
160 base::PickleIterator* iter) { 160 base::PickleIterator* iter) {
161 if (!ResourceMessageParams::Deserialize(msg, iter)) 161 if (!ResourceMessageParams::Deserialize(msg, iter))
162 return false; 162 return false;
163 return IPC::ReadParam(msg, iter, &has_callback_); 163 return IPC::ReadParam(msg, iter, &has_callback_);
164 } 164 }
165 165
166 ResourceMessageReplyParams::ResourceMessageReplyParams() 166 ResourceMessageReplyParams::ResourceMessageReplyParams()
167 : ResourceMessageParams(), 167 : ResourceMessageParams(),
168 result_(PP_OK) { 168 result_(PP_OK) {
169 } 169 }
170 170
171 ResourceMessageReplyParams::ResourceMessageReplyParams(PP_Resource resource, 171 ResourceMessageReplyParams::ResourceMessageReplyParams(PP_Resource resource,
172 int32_t sequence) 172 int32_t sequence)
173 : ResourceMessageParams(resource, sequence), 173 : ResourceMessageParams(resource, sequence),
174 result_(PP_OK) { 174 result_(PP_OK) {
175 } 175 }
176 176
177 ResourceMessageReplyParams::~ResourceMessageReplyParams() { 177 ResourceMessageReplyParams::~ResourceMessageReplyParams() {
178 } 178 }
179 179
180 void ResourceMessageReplyParams::Serialize(IPC::Message* msg) const { 180 void ResourceMessageReplyParams::Serialize(base::Pickle* msg) const {
181 // Rather than serialize all of ResourceMessageParams first, we serialize all 181 // Rather than serialize all of ResourceMessageParams first, we serialize all
182 // non-handle data first, then the handles. When transferring to NaCl on 182 // non-handle data first, then the handles. When transferring to NaCl on
183 // Windows, we need to be able to translate Windows-style handles to POSIX- 183 // Windows, we need to be able to translate Windows-style handles to POSIX-
184 // style handles, and it's easier to put all the regular stuff at the front. 184 // style handles, and it's easier to put all the regular stuff at the front.
185 WriteReplyHeader(msg); 185 WriteReplyHeader(msg);
186 WriteHandles(msg); 186 WriteHandles(msg);
187 } 187 }
188 188
189 bool ResourceMessageReplyParams::Deserialize(const IPC::Message* msg, 189 bool ResourceMessageReplyParams::Deserialize(const base::Pickle* msg,
190 base::PickleIterator* iter) { 190 base::PickleIterator* iter) {
191 return (ReadHeader(msg, iter) && IPC::ReadParam(msg, iter, &result_) && 191 return (ReadHeader(msg, iter) && IPC::ReadParam(msg, iter, &result_) &&
192 ReadHandles(msg, iter)); 192 ReadHandles(msg, iter));
193 } 193 }
194 194
195 void ResourceMessageReplyParams::WriteReplyHeader(IPC::Message* msg) const { 195 void ResourceMessageReplyParams::WriteReplyHeader(base::Pickle* msg) const {
196 WriteHeader(msg); 196 WriteHeader(msg);
197 IPC::WriteParam(msg, result_); 197 IPC::WriteParam(msg, result_);
198 } 198 }
199 199
200 } // namespace proxy 200 } // namespace proxy
201 } // namespace ppapi 201 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/resource_message_params.h ('k') | ppapi/proxy/serialized_flash_menu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698