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/settings_overrides_handler.
h" | 5 #include "chrome/common/extensions/manifest_handlers/settings_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/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 // A www. prefix is not informative and thus not worth the limited real estate | 94 // A www. prefix is not informative and thus not worth the limited real estate |
95 // in the permissions UI. | 95 // in the permissions UI. |
96 std::string RemoveWwwPrefix(const std::string& url) { | 96 std::string RemoveWwwPrefix(const std::string& url) { |
97 if (StartsWithASCII(url, kWwwPrefix, false)) | 97 if (StartsWithASCII(url, kWwwPrefix, false)) |
98 return url.substr(strlen(kWwwPrefix)); | 98 return url.substr(strlen(kWwwPrefix)); |
99 return url; | 99 return url; |
100 } | 100 } |
101 | 101 |
102 } // namespace | 102 } // namespace |
103 | 103 |
104 // The manifest permission implementation supports a permission for hiding | 104 // The manifest permission implementation supports a permission for overriding |
105 // the bookmark button. | 105 // the bookmark UI. |
106 class SettingsOverridesHandler::ManifestPermissionImpl | 106 class SettingsOverridesHandler::ManifestPermissionImpl |
107 : public ManifestPermission { | 107 : public ManifestPermission { |
108 public: | 108 public: |
109 explicit ManifestPermissionImpl(bool hide_bookmark_button_permission) | 109 explicit ManifestPermissionImpl(bool override_bookmarks_ui_permission) |
110 : hide_bookmark_button_permission_(hide_bookmark_button_permission) {} | 110 : override_bookmarks_ui_permission_(override_bookmarks_ui_permission) {} |
111 | 111 |
112 // extensions::ManifestPermission overrides. | 112 // extensions::ManifestPermission overrides. |
113 virtual std::string name() const OVERRIDE { | 113 virtual std::string name() const OVERRIDE { |
114 return base::StringPrintf("%s.%s", | 114 return manifest_keys::kBookmarkUI; |
115 manifest_keys::kBookmarkUI, | |
116 manifest_keys::kHideBookmarkButton); | |
117 } | 115 } |
118 | 116 |
119 virtual std::string id() const OVERRIDE { | 117 virtual std::string id() const OVERRIDE { |
120 return name(); | 118 return name(); |
121 } | 119 } |
122 | 120 |
123 virtual bool HasMessages() const OVERRIDE { | 121 virtual bool HasMessages() const OVERRIDE { |
124 return hide_bookmark_button_permission_; | 122 return override_bookmarks_ui_permission_; |
125 } | 123 } |
126 | 124 |
127 virtual PermissionMessages GetMessages() const OVERRIDE { | 125 virtual PermissionMessages GetMessages() const OVERRIDE { |
128 PermissionMessages result; | 126 PermissionMessages result; |
129 if (hide_bookmark_button_permission_) { | 127 if (override_bookmarks_ui_permission_) { |
130 result.push_back(PermissionMessage( | 128 result.push_back(PermissionMessage( |
131 PermissionMessage::kHideBookmarkButton, | 129 PermissionMessage::kOverrideBookmarksUI, |
132 l10n_util::GetStringUTF16( | 130 l10n_util::GetStringUTF16( |
133 IDS_EXTENSION_PROMPT_WARNING_HIDE_BOOKMARK_STAR))); | 131 IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI))); |
134 } | 132 } |
135 return result; | 133 return result; |
136 } | 134 } |
137 | 135 |
138 virtual bool FromValue(const base::Value* value) OVERRIDE { | 136 virtual bool FromValue(const base::Value* value) OVERRIDE { |
139 return value && value->GetAsBoolean(&hide_bookmark_button_permission_); | 137 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); |
140 } | 138 } |
141 | 139 |
142 virtual scoped_ptr<base::Value> ToValue() const OVERRIDE { | 140 virtual scoped_ptr<base::Value> ToValue() const OVERRIDE { |
143 return scoped_ptr<base::Value>( | 141 return scoped_ptr<base::Value>( |
144 new base::FundamentalValue(hide_bookmark_button_permission_)).Pass(); | 142 new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass(); |
145 } | 143 } |
146 | 144 |
147 virtual ManifestPermission* Clone() const OVERRIDE { | 145 virtual ManifestPermission* Clone() const OVERRIDE { |
148 return scoped_ptr<ManifestPermissionImpl>( | 146 return scoped_ptr<ManifestPermissionImpl>( |
149 new ManifestPermissionImpl(hide_bookmark_button_permission_)).release(); | 147 new ManifestPermissionImpl( |
| 148 override_bookmarks_ui_permission_)).release(); |
150 } | 149 } |
151 | 150 |
152 virtual ManifestPermission* Diff(const ManifestPermission* rhs) const | 151 virtual ManifestPermission* Diff(const ManifestPermission* rhs) const |
153 OVERRIDE { | 152 OVERRIDE { |
154 const ManifestPermissionImpl* other = | 153 const ManifestPermissionImpl* other = |
155 static_cast<const ManifestPermissionImpl*>(rhs); | 154 static_cast<const ManifestPermissionImpl*>(rhs); |
156 | 155 |
157 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 156 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( |
158 hide_bookmark_button_permission_ && | 157 override_bookmarks_ui_permission_ && |
159 !other->hide_bookmark_button_permission_)).release(); | 158 !other->override_bookmarks_ui_permission_)).release(); |
160 } | 159 } |
161 | 160 |
162 virtual ManifestPermission* Union(const ManifestPermission* rhs) const | 161 virtual ManifestPermission* Union(const ManifestPermission* rhs) const |
163 OVERRIDE { | 162 OVERRIDE { |
164 const ManifestPermissionImpl* other = | 163 const ManifestPermissionImpl* other = |
165 static_cast<const ManifestPermissionImpl*>(rhs); | 164 static_cast<const ManifestPermissionImpl*>(rhs); |
166 | 165 |
167 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 166 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( |
168 hide_bookmark_button_permission_ || | 167 override_bookmarks_ui_permission_ || |
169 other->hide_bookmark_button_permission_)).release(); | 168 other->override_bookmarks_ui_permission_)).release(); |
170 } | 169 } |
171 | 170 |
172 virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const | 171 virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const |
173 OVERRIDE { | 172 OVERRIDE { |
174 const ManifestPermissionImpl* other = | 173 const ManifestPermissionImpl* other = |
175 static_cast<const ManifestPermissionImpl*>(rhs); | 174 static_cast<const ManifestPermissionImpl*>(rhs); |
176 | 175 |
177 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 176 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( |
178 hide_bookmark_button_permission_ && | 177 override_bookmarks_ui_permission_ && |
179 other->hide_bookmark_button_permission_)).release(); | 178 other->override_bookmarks_ui_permission_)).release(); |
180 } | 179 } |
181 | 180 |
182 virtual bool Contains(const ManifestPermission* rhs) const OVERRIDE { | 181 virtual bool Contains(const ManifestPermission* rhs) const OVERRIDE { |
183 const ManifestPermissionImpl* other = | 182 const ManifestPermissionImpl* other = |
184 static_cast<const ManifestPermissionImpl*>(rhs); | 183 static_cast<const ManifestPermissionImpl*>(rhs); |
185 | 184 |
186 return !other->hide_bookmark_button_permission_ || | 185 return !other->override_bookmarks_ui_permission_ || |
187 hide_bookmark_button_permission_; | 186 override_bookmarks_ui_permission_; |
188 } | 187 } |
189 | 188 |
190 virtual bool Equal(const ManifestPermission* rhs) const OVERRIDE { | 189 virtual bool Equal(const ManifestPermission* rhs) const OVERRIDE { |
191 const ManifestPermissionImpl* other = | 190 const ManifestPermissionImpl* other = |
192 static_cast<const ManifestPermissionImpl*>(rhs); | 191 static_cast<const ManifestPermissionImpl*>(rhs); |
193 | 192 |
194 return hide_bookmark_button_permission_ == | 193 return override_bookmarks_ui_permission_ == |
195 other->hide_bookmark_button_permission_; | 194 other->override_bookmarks_ui_permission_; |
196 } | 195 } |
197 | 196 |
198 virtual void Write(IPC::Message* m) const OVERRIDE { | 197 virtual void Write(IPC::Message* m) const OVERRIDE { |
199 IPC::WriteParam(m, hide_bookmark_button_permission_); | 198 IPC::WriteParam(m, override_bookmarks_ui_permission_); |
200 } | 199 } |
201 | 200 |
202 virtual bool Read(const IPC::Message* m, PickleIterator* iter) OVERRIDE { | 201 virtual bool Read(const IPC::Message* m, PickleIterator* iter) OVERRIDE { |
203 return IPC::ReadParam(m, iter, &hide_bookmark_button_permission_); | 202 return IPC::ReadParam(m, iter, &override_bookmarks_ui_permission_); |
204 } | 203 } |
205 | 204 |
206 virtual void Log(std::string* log) const OVERRIDE { | 205 virtual void Log(std::string* log) const OVERRIDE { |
207 IPC::LogParam(hide_bookmark_button_permission_, log); | 206 IPC::LogParam(override_bookmarks_ui_permission_, log); |
208 } | 207 } |
209 | 208 |
210 private: | 209 private: |
211 bool hide_bookmark_button_permission_; | 210 bool override_bookmarks_ui_permission_; |
212 }; | 211 }; |
213 | 212 |
214 SettingsOverrides::SettingsOverrides() {} | 213 SettingsOverrides::SettingsOverrides() {} |
215 | 214 |
216 SettingsOverrides::~SettingsOverrides() {} | 215 SettingsOverrides::~SettingsOverrides() {} |
217 | 216 |
218 const SettingsOverrides* SettingsOverrides::Get( | 217 const SettingsOverrides* SettingsOverrides::Get( |
219 const Extension* extension) { | 218 const Extension* extension) { |
220 return static_cast<SettingsOverrides*>( | 219 return static_cast<SettingsOverrides*>( |
221 extension->GetManifestData(manifest_keys::kSettingsOverride)); | 220 extension->GetManifestData(manifest_keys::kSettingsOverride)); |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 const SettingsOverrides* data = SettingsOverrides::Get(extension); | 306 const SettingsOverrides* data = SettingsOverrides::Get(extension); |
308 if (data) | 307 if (data) |
309 return data->manifest_permission->Clone(); | 308 return data->manifest_permission->Clone(); |
310 return NULL; | 309 return NULL; |
311 } | 310 } |
312 const std::vector<std::string> SettingsOverridesHandler::Keys() const { | 311 const std::vector<std::string> SettingsOverridesHandler::Keys() const { |
313 return SingleKey(manifest_keys::kSettingsOverride); | 312 return SingleKey(manifest_keys::kSettingsOverride); |
314 } | 313 } |
315 | 314 |
316 } // namespace extensions | 315 } // namespace extensions |
OLD | NEW |