| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/common/extension_messages.h" | 5 #include "extensions/common/extension_messages.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> |
| 10 |
| 11 #include "base/memory/ptr_util.h" |
| 9 #include "content/public/common/common_param_traits.h" | 12 #include "content/public/common/common_param_traits.h" |
| 10 #include "extensions/common/extension.h" | 13 #include "extensions/common/extension.h" |
| 11 #include "extensions/common/manifest.h" | 14 #include "extensions/common/manifest.h" |
| 12 #include "extensions/common/manifest_handler.h" | 15 #include "extensions/common/manifest_handler.h" |
| 13 #include "extensions/common/permissions/permissions_data.h" | 16 #include "extensions/common/permissions/permissions_data.h" |
| 14 #include "extensions/common/permissions/permissions_info.h" | 17 #include "extensions/common/permissions/permissions_info.h" |
| 15 | 18 |
| 16 using extensions::APIPermission; | 19 using extensions::APIPermission; |
| 17 using extensions::APIPermissionInfo; | 20 using extensions::APIPermissionInfo; |
| 18 using extensions::APIPermissionSet; | 21 using extensions::APIPermissionSet; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 34 explicit_hosts(permissions.explicit_hosts()), | 37 explicit_hosts(permissions.explicit_hosts()), |
| 35 scriptable_hosts(permissions.scriptable_hosts()) { | 38 scriptable_hosts(permissions.scriptable_hosts()) { |
| 36 } | 39 } |
| 37 | 40 |
| 38 ExtensionMsg_PermissionSetStruct::ExtensionMsg_PermissionSetStruct( | 41 ExtensionMsg_PermissionSetStruct::ExtensionMsg_PermissionSetStruct( |
| 39 const ExtensionMsg_PermissionSetStruct& other) = default; | 42 const ExtensionMsg_PermissionSetStruct& other) = default; |
| 40 | 43 |
| 41 ExtensionMsg_PermissionSetStruct::~ExtensionMsg_PermissionSetStruct() { | 44 ExtensionMsg_PermissionSetStruct::~ExtensionMsg_PermissionSetStruct() { |
| 42 } | 45 } |
| 43 | 46 |
| 44 scoped_ptr<const PermissionSet> | 47 std::unique_ptr<const PermissionSet> |
| 45 ExtensionMsg_PermissionSetStruct::ToPermissionSet() const { | 48 ExtensionMsg_PermissionSetStruct::ToPermissionSet() const { |
| 46 return make_scoped_ptr(new PermissionSet(apis, manifest_permissions, | 49 return base::WrapUnique(new PermissionSet(apis, manifest_permissions, |
| 47 explicit_hosts, scriptable_hosts)); | 50 explicit_hosts, scriptable_hosts)); |
| 48 } | 51 } |
| 49 | 52 |
| 50 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params() | 53 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params() |
| 51 : location(Manifest::INVALID_LOCATION), | 54 : location(Manifest::INVALID_LOCATION), |
| 52 creation_flags(Extension::NO_FLAGS) {} | 55 creation_flags(Extension::NO_FLAGS) {} |
| 53 | 56 |
| 54 ExtensionMsg_Loaded_Params::~ExtensionMsg_Loaded_Params() {} | 57 ExtensionMsg_Loaded_Params::~ExtensionMsg_Loaded_Params() {} |
| 55 | 58 |
| 56 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params( | 59 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params( |
| 57 const Extension* extension, | 60 const Extension* extension, |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 if (!ReadParam(m, iter, &size)) | 210 if (!ReadParam(m, iter, &size)) |
| 208 return false; | 211 return false; |
| 209 for (uint32_t i = 0; i < size; ++i) { | 212 for (uint32_t i = 0; i < size; ++i) { |
| 210 APIPermission::ID id; | 213 APIPermission::ID id; |
| 211 if (!ReadParam(m, iter, &id)) | 214 if (!ReadParam(m, iter, &id)) |
| 212 return false; | 215 return false; |
| 213 const APIPermissionInfo* permission_info = | 216 const APIPermissionInfo* permission_info = |
| 214 extensions::PermissionsInfo::GetInstance()->GetByID(id); | 217 extensions::PermissionsInfo::GetInstance()->GetByID(id); |
| 215 if (!permission_info) | 218 if (!permission_info) |
| 216 return false; | 219 return false; |
| 217 scoped_ptr<APIPermission> p(permission_info->CreateAPIPermission()); | 220 std::unique_ptr<APIPermission> p(permission_info->CreateAPIPermission()); |
| 218 if (!p->Read(m, iter)) | 221 if (!p->Read(m, iter)) |
| 219 return false; | 222 return false; |
| 220 r->insert(p.release()); | 223 r->insert(p.release()); |
| 221 } | 224 } |
| 222 return true; | 225 return true; |
| 223 } | 226 } |
| 224 | 227 |
| 225 void ParamTraits<APIPermissionSet>::Log( | 228 void ParamTraits<APIPermissionSet>::Log( |
| 226 const param_type& p, std::string* l) { | 229 const param_type& p, std::string* l) { |
| 227 LogParam(p.map(), l); | 230 LogParam(p.map(), l); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 241 bool ParamTraits<ManifestPermissionSet>::Read(const base::Pickle* m, | 244 bool ParamTraits<ManifestPermissionSet>::Read(const base::Pickle* m, |
| 242 base::PickleIterator* iter, | 245 base::PickleIterator* iter, |
| 243 param_type* r) { | 246 param_type* r) { |
| 244 uint32_t size; | 247 uint32_t size; |
| 245 if (!ReadParam(m, iter, &size)) | 248 if (!ReadParam(m, iter, &size)) |
| 246 return false; | 249 return false; |
| 247 for (uint32_t i = 0; i < size; ++i) { | 250 for (uint32_t i = 0; i < size; ++i) { |
| 248 std::string name; | 251 std::string name; |
| 249 if (!ReadParam(m, iter, &name)) | 252 if (!ReadParam(m, iter, &name)) |
| 250 return false; | 253 return false; |
| 251 scoped_ptr<ManifestPermission> p(ManifestHandler::CreatePermission(name)); | 254 std::unique_ptr<ManifestPermission> p( |
| 255 ManifestHandler::CreatePermission(name)); |
| 252 if (!p) | 256 if (!p) |
| 253 return false; | 257 return false; |
| 254 if (!p->Read(m, iter)) | 258 if (!p->Read(m, iter)) |
| 255 return false; | 259 return false; |
| 256 r->insert(p.release()); | 260 r->insert(p.release()); |
| 257 } | 261 } |
| 258 return true; | 262 return true; |
| 259 } | 263 } |
| 260 | 264 |
| 261 void ParamTraits<ManifestPermissionSet>::Log( | 265 void ParamTraits<ManifestPermissionSet>::Log( |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 ReadParam(m, iter, &p->active_permissions) && | 337 ReadParam(m, iter, &p->active_permissions) && |
| 334 ReadParam(m, iter, &p->withheld_permissions); | 338 ReadParam(m, iter, &p->withheld_permissions); |
| 335 } | 339 } |
| 336 | 340 |
| 337 void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p, | 341 void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p, |
| 338 std::string* l) { | 342 std::string* l) { |
| 339 l->append(p.id); | 343 l->append(p.id); |
| 340 } | 344 } |
| 341 | 345 |
| 342 } // namespace IPC | 346 } // namespace IPC |
| OLD | NEW |