OLD | NEW |
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 "chrome/common/extensions/api/sockets/sockets_manifest_data.h" | 5 #include "extensions/common/api/sockets/sockets_manifest_data.h" |
6 | 6 |
7 #include "chrome/common/extensions/api/sockets/sockets_manifest_permission.h" | 7 #include "extensions/common/api/sockets/sockets_manifest_permission.h" |
8 #include "extensions/common/manifest_constants.h" | 8 #include "extensions/common/manifest_constants.h" |
9 | 9 |
10 namespace extensions { | 10 namespace extensions { |
11 | 11 |
12 SocketsManifestData::SocketsManifestData( | 12 SocketsManifestData::SocketsManifestData( |
13 scoped_ptr<SocketsManifestPermission> permission) | 13 scoped_ptr<SocketsManifestPermission> permission) |
14 : permission_(permission.Pass()) { | 14 : permission_(permission.Pass()) { |
15 DCHECK(permission_); | 15 DCHECK(permission_); |
16 } | 16 } |
17 | 17 |
18 SocketsManifestData::~SocketsManifestData() {} | 18 SocketsManifestData::~SocketsManifestData() {} |
19 | 19 |
20 // static | 20 // static |
21 SocketsManifestData* SocketsManifestData::Get( | 21 SocketsManifestData* SocketsManifestData::Get(const Extension* extension) { |
22 const Extension* extension) { | |
23 return static_cast<SocketsManifestData*>( | 22 return static_cast<SocketsManifestData*>( |
24 extension->GetManifestData(manifest_keys::kSockets)); | 23 extension->GetManifestData(manifest_keys::kSockets)); |
25 } | 24 } |
26 | 25 |
27 // static | 26 // static |
28 bool SocketsManifestData::CheckRequest( | 27 bool SocketsManifestData::CheckRequest( |
29 const Extension* extension, | 28 const Extension* extension, |
30 const content::SocketPermissionRequest& request) { | 29 const content::SocketPermissionRequest& request) { |
31 const SocketsManifestData* data = SocketsManifestData::Get(extension); | 30 const SocketsManifestData* data = SocketsManifestData::Get(extension); |
32 if (data) | 31 if (data) |
33 return data->permission()->CheckRequest(extension, request); | 32 return data->permission()->CheckRequest(extension, request); |
34 | 33 |
35 return false; | 34 return false; |
36 } | 35 } |
37 | 36 |
38 // static | 37 // static |
39 scoped_ptr<SocketsManifestData> SocketsManifestData::FromValue( | 38 scoped_ptr<SocketsManifestData> SocketsManifestData::FromValue( |
40 const base::Value& value, | 39 const base::Value& value, |
41 base::string16* error) { | 40 base::string16* error) { |
42 scoped_ptr<SocketsManifestPermission> permission = | 41 scoped_ptr<SocketsManifestPermission> permission = |
43 SocketsManifestPermission::FromValue(value, error); | 42 SocketsManifestPermission::FromValue(value, error); |
44 if (!permission) | 43 if (!permission) |
45 return scoped_ptr<SocketsManifestData>(); | 44 return scoped_ptr<SocketsManifestData>(); |
46 | 45 |
47 return scoped_ptr<SocketsManifestData>( | 46 return scoped_ptr<SocketsManifestData>( |
48 new SocketsManifestData(permission.Pass())).Pass(); | 47 new SocketsManifestData(permission.Pass())).Pass(); |
49 } | 48 } |
50 | 49 |
51 } // namespace extensions | 50 } // namespace extensions |
OLD | NEW |