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

Side by Side Diff: content/child/plugin_param_traits.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 | « content/child/plugin_param_traits.h ('k') | content/common/cc_messages.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/child/plugin_param_traits.h" 5 #include "content/child/plugin_param_traits.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "ipc/ipc_message_utils.h" 8 #include "ipc/ipc_message_utils.h"
9 #include "third_party/WebKit/public/web/WebBindings.h" 9 #include "third_party/WebKit/public/web/WebBindings.h"
10 10
(...skipping 18 matching lines...) Expand all
29 NPVariant_Param::~NPVariant_Param() { 29 NPVariant_Param::~NPVariant_Param() {
30 } 30 }
31 31
32 } // namespace content 32 } // namespace content
33 33
34 using content::NPIdentifier_Param; 34 using content::NPIdentifier_Param;
35 using content::NPVariant_Param; 35 using content::NPVariant_Param;
36 36
37 namespace IPC { 37 namespace IPC {
38 38
39 void ParamTraits<NPVariant_Param>::Write(Message* m, const param_type& p) { 39 void ParamTraits<NPVariant_Param>::Write(base::Pickle* m, const param_type& p) {
40 WriteParam(m, static_cast<int>(p.type)); 40 WriteParam(m, static_cast<int>(p.type));
41 if (p.type == content::NPVARIANT_PARAM_BOOL) { 41 if (p.type == content::NPVARIANT_PARAM_BOOL) {
42 WriteParam(m, p.bool_value); 42 WriteParam(m, p.bool_value);
43 } else if (p.type == content::NPVARIANT_PARAM_INT) { 43 } else if (p.type == content::NPVARIANT_PARAM_INT) {
44 WriteParam(m, p.int_value); 44 WriteParam(m, p.int_value);
45 } else if (p.type == content::NPVARIANT_PARAM_DOUBLE) { 45 } else if (p.type == content::NPVARIANT_PARAM_DOUBLE) {
46 WriteParam(m, p.double_value); 46 WriteParam(m, p.double_value);
47 } else if (p.type == content::NPVARIANT_PARAM_STRING) { 47 } else if (p.type == content::NPVARIANT_PARAM_STRING) {
48 WriteParam(m, p.string_value); 48 WriteParam(m, p.string_value);
49 } else if (p.type == content::NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID || 49 } else if (p.type == content::NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID ||
50 p.type == content::NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) { 50 p.type == content::NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) {
51 // This is the routing id used to connect NPObjectProxy in the other 51 // This is the routing id used to connect NPObjectProxy in the other
52 // process with NPObjectStub in this process or to identify the raw 52 // process with NPObjectStub in this process or to identify the raw
53 // npobject pointer to be used in the callee process. 53 // npobject pointer to be used in the callee process.
54 WriteParam(m, p.npobject_routing_id); 54 WriteParam(m, p.npobject_routing_id);
55 // This is a routing Id used to identify the plugin instance that owns 55 // This is a routing Id used to identify the plugin instance that owns
56 // the object, for ownership-tracking purposes. 56 // the object, for ownership-tracking purposes.
57 WriteParam(m, p.npobject_owner_id); 57 WriteParam(m, p.npobject_owner_id);
58 } else { 58 } else {
59 DCHECK(p.type == content::NPVARIANT_PARAM_VOID || 59 DCHECK(p.type == content::NPVARIANT_PARAM_VOID ||
60 p.type == content::NPVARIANT_PARAM_NULL); 60 p.type == content::NPVARIANT_PARAM_NULL);
61 } 61 }
62 } 62 }
63 63
64 bool ParamTraits<NPVariant_Param>::Read(const Message* m, 64 bool ParamTraits<NPVariant_Param>::Read(const base::Pickle* m,
65 base::PickleIterator* iter, 65 base::PickleIterator* iter,
66 param_type* r) { 66 param_type* r) {
67 int type; 67 int type;
68 if (!ReadParam(m, iter, &type)) 68 if (!ReadParam(m, iter, &type))
69 return false; 69 return false;
70 70
71 bool result = false; 71 bool result = false;
72 r->type = static_cast<content::NPVariant_ParamEnum>(type); 72 r->type = static_cast<content::NPVariant_ParamEnum>(type);
73 if (r->type == content::NPVARIANT_PARAM_BOOL) { 73 if (r->type == content::NPVARIANT_PARAM_BOOL) {
74 result = ReadParam(m, iter, &r->bool_value); 74 result = ReadParam(m, iter, &r->bool_value);
(...skipping 30 matching lines...) Expand all
105 LogParam(p.string_value, l); 105 LogParam(p.string_value, l);
106 } else if (p.type == content::NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID || 106 } else if (p.type == content::NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID ||
107 p.type == content::NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) { 107 p.type == content::NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) {
108 LogParam(p.npobject_routing_id, l); 108 LogParam(p.npobject_routing_id, l);
109 } else { 109 } else {
110 l->append("<none>"); 110 l->append("<none>");
111 } 111 }
112 l->append(")"); 112 l->append(")");
113 } 113 }
114 114
115 void ParamTraits<NPIdentifier_Param>::Write(Message* m, const param_type& p) { 115 void ParamTraits<NPIdentifier_Param>::Write(base::Pickle* m,
116 const param_type& p) {
116 content::SerializeNPIdentifier(p.identifier, m); 117 content::SerializeNPIdentifier(p.identifier, m);
117 } 118 }
118 119
119 bool ParamTraits<NPIdentifier_Param>::Read(const Message* m, 120 bool ParamTraits<NPIdentifier_Param>::Read(const base::Pickle* m,
120 base::PickleIterator* iter, 121 base::PickleIterator* iter,
121 param_type* r) { 122 param_type* r) {
122 return content::DeserializeNPIdentifier(iter, &r->identifier); 123 return content::DeserializeNPIdentifier(iter, &r->identifier);
123 } 124 }
124 125
125 void ParamTraits<NPIdentifier_Param>::Log(const param_type& p, std::string* l) { 126 void ParamTraits<NPIdentifier_Param>::Log(const param_type& p, std::string* l) {
126 if (blink::WebBindings::identifierIsString(p.identifier)) { 127 if (blink::WebBindings::identifierIsString(p.identifier)) {
127 NPUTF8* str = blink::WebBindings::utf8FromIdentifier(p.identifier); 128 NPUTF8* str = blink::WebBindings::utf8FromIdentifier(p.identifier);
128 l->append(str); 129 l->append(str);
129 free(str); 130 free(str);
130 } else { 131 } else {
131 l->append(base::IntToString( 132 l->append(base::IntToString(
132 blink::WebBindings::intFromIdentifier(p.identifier))); 133 blink::WebBindings::intFromIdentifier(p.identifier)));
133 } 134 }
134 } 135 }
135 136
136 } // namespace IPC 137 } // namespace IPC
OLDNEW
« no previous file with comments | « content/child/plugin_param_traits.h ('k') | content/common/cc_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698