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/manifest_handlers/ui_overrides_handler.h" | 5 #include "chrome/common/extensions/manifest_handlers/ui_overrides_handler.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 namespace extensions { | 23 namespace extensions { |
24 | 24 |
25 // The manifest permission implementation supports a permission for overriding | 25 // The manifest permission implementation supports a permission for overriding |
26 // the bookmark UI. | 26 // the bookmark UI. |
27 class UIOverridesHandler::ManifestPermissionImpl : public ManifestPermission { | 27 class UIOverridesHandler::ManifestPermissionImpl : public ManifestPermission { |
28 public: | 28 public: |
29 explicit ManifestPermissionImpl(bool override_bookmarks_ui_permission) | 29 explicit ManifestPermissionImpl(bool override_bookmarks_ui_permission) |
30 : override_bookmarks_ui_permission_(override_bookmarks_ui_permission) {} | 30 : override_bookmarks_ui_permission_(override_bookmarks_ui_permission) {} |
31 | 31 |
32 // extensions::ManifestPermission overrides. | 32 // extensions::ManifestPermission overrides. |
33 virtual std::string name() const override { | 33 std::string name() const override { return manifest_keys::kUIOverride; } |
34 return manifest_keys::kUIOverride; | |
35 } | |
36 | 34 |
37 virtual std::string id() const override { | 35 std::string id() const override { return name(); } |
38 return name(); | |
39 } | |
40 | 36 |
41 virtual bool HasMessages() const override { | 37 bool HasMessages() const override { |
42 return override_bookmarks_ui_permission_; | 38 return override_bookmarks_ui_permission_; |
43 } | 39 } |
44 | 40 |
45 virtual PermissionMessages GetMessages() const override { | 41 PermissionMessages GetMessages() const override { |
46 PermissionMessages result; | 42 PermissionMessages result; |
47 if (override_bookmarks_ui_permission_) { | 43 if (override_bookmarks_ui_permission_) { |
48 result.push_back(PermissionMessage( | 44 result.push_back(PermissionMessage( |
49 PermissionMessage::kOverrideBookmarksUI, | 45 PermissionMessage::kOverrideBookmarksUI, |
50 l10n_util::GetStringUTF16( | 46 l10n_util::GetStringUTF16( |
51 IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI))); | 47 IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI))); |
52 } | 48 } |
53 return result; | 49 return result; |
54 } | 50 } |
55 | 51 |
56 virtual bool FromValue(const base::Value* value) override { | 52 bool FromValue(const base::Value* value) override { |
57 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); | 53 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); |
58 } | 54 } |
59 | 55 |
60 virtual scoped_ptr<base::Value> ToValue() const override { | 56 scoped_ptr<base::Value> ToValue() const override { |
61 return scoped_ptr<base::Value>( | 57 return scoped_ptr<base::Value>( |
62 new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass(); | 58 new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass(); |
63 } | 59 } |
64 | 60 |
65 virtual ManifestPermission* Diff(const ManifestPermission* rhs) const | 61 ManifestPermission* Diff(const ManifestPermission* rhs) const override { |
66 override { | |
67 const ManifestPermissionImpl* other = | 62 const ManifestPermissionImpl* other = |
68 static_cast<const ManifestPermissionImpl*>(rhs); | 63 static_cast<const ManifestPermissionImpl*>(rhs); |
69 | 64 |
70 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 65 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( |
71 override_bookmarks_ui_permission_ && | 66 override_bookmarks_ui_permission_ && |
72 !other->override_bookmarks_ui_permission_)).release(); | 67 !other->override_bookmarks_ui_permission_)).release(); |
73 } | 68 } |
74 | 69 |
75 virtual ManifestPermission* Union(const ManifestPermission* rhs) const | 70 ManifestPermission* Union(const ManifestPermission* rhs) const override { |
76 override { | |
77 const ManifestPermissionImpl* other = | 71 const ManifestPermissionImpl* other = |
78 static_cast<const ManifestPermissionImpl*>(rhs); | 72 static_cast<const ManifestPermissionImpl*>(rhs); |
79 | 73 |
80 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 74 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( |
81 override_bookmarks_ui_permission_ || | 75 override_bookmarks_ui_permission_ || |
82 other->override_bookmarks_ui_permission_)).release(); | 76 other->override_bookmarks_ui_permission_)).release(); |
83 } | 77 } |
84 | 78 |
85 virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const | 79 ManifestPermission* Intersect(const ManifestPermission* rhs) const override { |
86 override { | |
87 const ManifestPermissionImpl* other = | 80 const ManifestPermissionImpl* other = |
88 static_cast<const ManifestPermissionImpl*>(rhs); | 81 static_cast<const ManifestPermissionImpl*>(rhs); |
89 | 82 |
90 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 83 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( |
91 override_bookmarks_ui_permission_ && | 84 override_bookmarks_ui_permission_ && |
92 other->override_bookmarks_ui_permission_)).release(); | 85 other->override_bookmarks_ui_permission_)).release(); |
93 } | 86 } |
94 | 87 |
95 private: | 88 private: |
96 bool override_bookmarks_ui_permission_; | 89 bool override_bookmarks_ui_permission_; |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 const UIOverrides* data = UIOverrides::Get(extension); | 172 const UIOverrides* data = UIOverrides::Get(extension); |
180 if (data) | 173 if (data) |
181 return data->manifest_permission->Clone(); | 174 return data->manifest_permission->Clone(); |
182 return NULL; | 175 return NULL; |
183 } | 176 } |
184 const std::vector<std::string> UIOverridesHandler::Keys() const { | 177 const std::vector<std::string> UIOverridesHandler::Keys() const { |
185 return SingleKey(manifest_keys::kUIOverride); | 178 return SingleKey(manifest_keys::kUIOverride); |
186 } | 179 } |
187 | 180 |
188 } // namespace extensions | 181 } // namespace extensions |
OLD | NEW |