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 "extensions/common/permissions/api_permission.h" | 5 #include "extensions/common/permissions/api_permission.h" |
6 | 6 |
7 #include "ui/base/l10n/l10n_util.h" | 7 #include "ui/base/l10n/l10n_util.h" |
8 | 8 |
9 namespace { | 9 namespace { |
10 | 10 |
11 using extensions::APIPermission; | 11 using extensions::APIPermission; |
12 using extensions::APIPermissionInfo; | 12 using extensions::APIPermissionInfo; |
13 using extensions::PermissionMessage; | 13 using extensions::PermissionMessage; |
14 using extensions::PermissionMessages; | 14 using extensions::PermissionMessages; |
15 | 15 |
16 class SimpleAPIPermission : public APIPermission { | 16 class SimpleAPIPermission : public APIPermission { |
17 public: | 17 public: |
18 explicit SimpleAPIPermission(const APIPermissionInfo* permission) | 18 explicit SimpleAPIPermission(const APIPermissionInfo* permission) |
19 : APIPermission(permission) { } | 19 : APIPermission(permission) { } |
20 | 20 |
21 virtual ~SimpleAPIPermission() { } | 21 ~SimpleAPIPermission() override {} |
22 | 22 |
23 virtual bool HasMessages() const override { | 23 bool HasMessages() const override { |
24 return info()->message_id() > PermissionMessage::kNone; | 24 return info()->message_id() > PermissionMessage::kNone; |
25 } | 25 } |
26 | 26 |
27 virtual PermissionMessages GetMessages() const override { | 27 PermissionMessages GetMessages() const override { |
28 DCHECK(HasMessages()); | 28 DCHECK(HasMessages()); |
29 PermissionMessages result; | 29 PermissionMessages result; |
30 result.push_back(GetMessage_()); | 30 result.push_back(GetMessage_()); |
31 return result; | 31 return result; |
32 } | 32 } |
33 | 33 |
34 virtual bool Check( | 34 bool Check(const APIPermission::CheckParam* param) const override { |
35 const APIPermission::CheckParam* param) const override { | |
36 return !param; | 35 return !param; |
37 } | 36 } |
38 | 37 |
39 virtual bool Contains(const APIPermission* rhs) const override { | 38 bool Contains(const APIPermission* rhs) const override { |
40 CHECK_EQ(info(), rhs->info()); | 39 CHECK_EQ(info(), rhs->info()); |
41 return true; | 40 return true; |
42 } | 41 } |
43 | 42 |
44 virtual bool Equal(const APIPermission* rhs) const override { | 43 bool Equal(const APIPermission* rhs) const override { |
45 if (this != rhs) | 44 if (this != rhs) |
46 CHECK_EQ(info(), rhs->info()); | 45 CHECK_EQ(info(), rhs->info()); |
47 return true; | 46 return true; |
48 } | 47 } |
49 | 48 |
50 virtual bool FromValue( | 49 bool FromValue(const base::Value* value, |
51 const base::Value* value, | 50 std::string* /*error*/, |
52 std::string* /*error*/, | 51 std::vector<std::string>* /*unhandled_permissions*/) override { |
53 std::vector<std::string>* /*unhandled_permissions*/) override { | |
54 return (value == NULL); | 52 return (value == NULL); |
55 } | 53 } |
56 | 54 |
57 virtual scoped_ptr<base::Value> ToValue() const override { | 55 scoped_ptr<base::Value> ToValue() const override { |
58 return scoped_ptr<base::Value>(); | 56 return scoped_ptr<base::Value>(); |
59 } | 57 } |
60 | 58 |
61 virtual APIPermission* Clone() const override { | 59 APIPermission* Clone() const override { |
62 return new SimpleAPIPermission(info()); | 60 return new SimpleAPIPermission(info()); |
63 } | 61 } |
64 | 62 |
65 virtual APIPermission* Diff(const APIPermission* rhs) const override { | 63 APIPermission* Diff(const APIPermission* rhs) const override { |
66 CHECK_EQ(info(), rhs->info()); | 64 CHECK_EQ(info(), rhs->info()); |
67 return NULL; | 65 return NULL; |
68 } | 66 } |
69 | 67 |
70 virtual APIPermission* Union(const APIPermission* rhs) const override { | 68 APIPermission* Union(const APIPermission* rhs) const override { |
71 CHECK_EQ(info(), rhs->info()); | 69 CHECK_EQ(info(), rhs->info()); |
72 return new SimpleAPIPermission(info()); | 70 return new SimpleAPIPermission(info()); |
73 } | 71 } |
74 | 72 |
75 virtual APIPermission* Intersect(const APIPermission* rhs) const override { | 73 APIPermission* Intersect(const APIPermission* rhs) const override { |
76 CHECK_EQ(info(), rhs->info()); | 74 CHECK_EQ(info(), rhs->info()); |
77 return new SimpleAPIPermission(info()); | 75 return new SimpleAPIPermission(info()); |
78 } | 76 } |
79 | 77 |
80 virtual void Write(IPC::Message* m) const override { } | 78 void Write(IPC::Message* m) const override {} |
81 | 79 |
82 virtual bool Read(const IPC::Message* m, PickleIterator* iter) override { | 80 bool Read(const IPC::Message* m, PickleIterator* iter) override { |
83 return true; | 81 return true; |
84 } | 82 } |
85 | 83 |
86 virtual void Log(std::string* log) const override { } | 84 void Log(std::string* log) const override {} |
87 }; | 85 }; |
88 | 86 |
89 } // namespace | 87 } // namespace |
90 | 88 |
91 namespace extensions { | 89 namespace extensions { |
92 | 90 |
93 APIPermission::APIPermission(const APIPermissionInfo* info) | 91 APIPermission::APIPermission(const APIPermissionInfo* info) |
94 : info_(info) { | 92 : info_(info) { |
95 DCHECK(info_); | 93 DCHECK(info_); |
96 } | 94 } |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 return api_permission_constructor_ ? | 126 return api_permission_constructor_ ? |
129 api_permission_constructor_(this) : new SimpleAPIPermission(this); | 127 api_permission_constructor_(this) : new SimpleAPIPermission(this); |
130 } | 128 } |
131 | 129 |
132 PermissionMessage APIPermissionInfo::GetMessage_() const { | 130 PermissionMessage APIPermissionInfo::GetMessage_() const { |
133 return PermissionMessage( | 131 return PermissionMessage( |
134 message_id_, l10n_util::GetStringUTF16(l10n_message_id_)); | 132 message_id_, l10n_util::GetStringUTF16(l10n_message_id_)); |
135 } | 133 } |
136 | 134 |
137 } // namespace extensions | 135 } // namespace extensions |
OLD | NEW |