Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Side by Side Diff: chrome/common/extensions/manifest_handlers/settings_overrides_handler.cc

Issue 137533013: Generalize "hide bookmark star" permission to "override bookmarks UI" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile error Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/common/extensions/permissions/chrome_permission_message_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698