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

Side by Side Diff: chrome/common/extensions/extension_messages.cc

Issue 10692160: Support socket endpoint permissions for AppsV2 Socket API. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Update Created 8 years, 4 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
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 "chrome/common/extensions/extension_messages.h" 5 #include "chrome/common/extensions/extension_messages.h"
6 6
7 #include "chrome/common/extensions/extension.h" 7 #include "chrome/common/extensions/extension.h"
8 #include "chrome/common/extensions/extension_constants.h" 8 #include "chrome/common/extensions/extension_constants.h"
9 #include "chrome/common/extensions/manifest.h" 9 #include "chrome/common/extensions/manifest.h"
10 #include "chrome/common/extensions/permissions/permissions_info.h"
10 #include "content/public/common/common_param_traits.h" 11 #include "content/public/common/common_param_traits.h"
11 12
12 using extensions::APIPermission; 13 using extensions::APIPermission;
14 using extensions::APIPermissionDetail;
15 using extensions::APIPermissionMap;
16 using extensions::APIPermissionSet;
13 using extensions::Extension; 17 using extensions::Extension;
14 using extensions::PermissionSet; 18 using extensions::PermissionSet;
15 19
16 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params() 20 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params()
17 : location(Extension::INVALID), 21 : location(Extension::INVALID),
18 creation_flags(Extension::NO_FLAGS){} 22 creation_flags(Extension::NO_FLAGS){}
19 23
20 ExtensionMsg_Loaded_Params::~ExtensionMsg_Loaded_Params() {} 24 ExtensionMsg_Loaded_Params::~ExtensionMsg_Loaded_Params() {}
21 25
22 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params( 26 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 137
134 *p = static_cast<APIPermission::ID>(api_id); 138 *p = static_cast<APIPermission::ID>(api_id);
135 return true; 139 return true;
136 } 140 }
137 141
138 void ParamTraits<APIPermission::ID>::Log( 142 void ParamTraits<APIPermission::ID>::Log(
139 const param_type& p, std::string* l) { 143 const param_type& p, std::string* l) {
140 LogParam(static_cast<int>(p), l); 144 LogParam(static_cast<int>(p), l);
141 } 145 }
142 146
147 void ParamTraits<scoped_refptr<APIPermissionDetail> >::Write(
148 Message* m, const param_type& p) {
149 WriteParam(m, static_cast<int>(p->id()));
150 p->Write(m);
151 }
152
153 bool ParamTraits<scoped_refptr<APIPermissionDetail> >::Read(
154 const Message* m, PickleIterator* iter, param_type* r) {
155 APIPermission::ID id;
156 if (!ReadParam(m, iter, &id))
157 return false;
158 APIPermission* permission =
159 extensions::PermissionsInfo::GetInstance()->GetByID(id);
160 if (!permission)
161 return false;
162 *r = permission->CreateDetail();
163 if (!(*r)->Read(m, iter)) {
164 *r = NULL;
165 return false;
166 }
167 return true;
168 }
169
170 void ParamTraits<scoped_refptr<APIPermissionDetail> >::Log(
171 const param_type& p, std::string* l) {
172 p->Log(l);
173 }
174
175 void ParamTraits<APIPermissionSet>::Write(
176 Message* m, const param_type& p) {
177 ParamTraits<APIPermissionMap>::Write(m, p.map());
178 }
179
180 bool ParamTraits<APIPermissionSet>::Read(
181 const Message* m, PickleIterator* iter, param_type* r) {
182 return ParamTraits<APIPermissionMap>::Read(m, iter,
183 static_cast<APIPermissionMap*>(&r->map()));
184 }
185
186 void ParamTraits<APIPermissionSet>::Log(
187 const param_type& p, std::string* l) {
188 l->append("<APIPermissionSet>");
189 }
190
143 void ParamTraits<ExtensionMsg_Loaded_Params>::Write(Message* m, 191 void ParamTraits<ExtensionMsg_Loaded_Params>::Write(Message* m,
144 const param_type& p) { 192 const param_type& p) {
145 WriteParam(m, p.location); 193 WriteParam(m, p.location);
146 WriteParam(m, p.path); 194 WriteParam(m, p.path);
147 WriteParam(m, *(p.manifest)); 195 WriteParam(m, *(p.manifest));
148 WriteParam(m, p.creation_flags); 196 WriteParam(m, p.creation_flags);
149 WriteParam(m, p.apis); 197 WriteParam(m, p.apis);
150 WriteParam(m, p.explicit_hosts); 198 WriteParam(m, p.explicit_hosts);
151 WriteParam(m, p.scriptable_hosts); 199 WriteParam(m, p.scriptable_hosts);
152 } 200 }
(...skipping 10 matching lines...) Expand all
163 ReadParam(m, iter, &p->explicit_hosts) && 211 ReadParam(m, iter, &p->explicit_hosts) &&
164 ReadParam(m, iter, &p->scriptable_hosts); 212 ReadParam(m, iter, &p->scriptable_hosts);
165 } 213 }
166 214
167 void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p, 215 void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p,
168 std::string* l) { 216 std::string* l) {
169 l->append(p.id); 217 l->append(p.id);
170 } 218 }
171 219
172 } // namespace IPC 220 } // namespace IPC
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698