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

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

Issue 143493005: Allow extensions to remove and override the bookmark shortcut key (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update mac test fix Created 6 years, 10 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 SettingsOverrides::SettingsOverrides() {} 213 SettingsOverrides::SettingsOverrides() {}
214 214
215 SettingsOverrides::~SettingsOverrides() {} 215 SettingsOverrides::~SettingsOverrides() {}
216 216
217 const SettingsOverrides* SettingsOverrides::Get( 217 const SettingsOverrides* SettingsOverrides::Get(
218 const Extension* extension) { 218 const Extension* extension) {
219 return static_cast<SettingsOverrides*>( 219 return static_cast<SettingsOverrides*>(
220 extension->GetManifestData(manifest_keys::kSettingsOverride)); 220 extension->GetManifestData(manifest_keys::kSettingsOverride));
221 } 221 }
222 222
223 bool SettingsOverrides::RemovesBookmarkButton() const { 223 bool SettingsOverrides::RemovesBookmarkButton(
224 return bookmarks_ui && bookmarks_ui->remove_button && 224 const SettingsOverrides& settings_overrides) {
225 *bookmarks_ui->remove_button; 225 return settings_overrides.bookmarks_ui &&
226 settings_overrides.bookmarks_ui->remove_button &&
227 *settings_overrides.bookmarks_ui->remove_button;
228 }
229
230 bool SettingsOverrides::RemovesBookmarkShortcut(
231 const SettingsOverrides& settings_overrides) {
232 return settings_overrides.bookmarks_ui &&
233 settings_overrides.bookmarks_ui->remove_bookmark_shortcut &&
234 *settings_overrides.bookmarks_ui->remove_bookmark_shortcut;
226 } 235 }
227 236
228 SettingsOverridesHandler::SettingsOverridesHandler() {} 237 SettingsOverridesHandler::SettingsOverridesHandler() {}
229 238
230 SettingsOverridesHandler::~SettingsOverridesHandler() {} 239 SettingsOverridesHandler::~SettingsOverridesHandler() {}
231 240
232 bool SettingsOverridesHandler::Parse(Extension* extension, 241 bool SettingsOverridesHandler::Parse(Extension* extension,
233 base::string16* error) { 242 base::string16* error) {
234 const base::Value* dict = NULL; 243 const base::Value* dict = NULL;
235 CHECK(extension->manifest()->Get(manifest_keys::kSettingsOverride, &dict)); 244 CHECK(extension->manifest()->Get(manifest_keys::kSettingsOverride, &dict));
(...skipping 14 matching lines...) Expand all
250 info->homepage = ParseHomepage(*settings, error); 259 info->homepage = ParseHomepage(*settings, error);
251 info->search_engine = ParseSearchEngine(settings.get(), error); 260 info->search_engine = ParseSearchEngine(settings.get(), error);
252 info->startup_pages = ParseStartupPage(*settings, error); 261 info->startup_pages = ParseStartupPage(*settings, error);
253 if (!info->bookmarks_ui && !info->homepage && 262 if (!info->bookmarks_ui && !info->homepage &&
254 !info->search_engine && info->startup_pages.empty()) { 263 !info->search_engine && info->startup_pages.empty()) {
255 *error = 264 *error =
256 base::ASCIIToUTF16(manifest_errors::kInvalidEmptySettingsOverrides); 265 base::ASCIIToUTF16(manifest_errors::kInvalidEmptySettingsOverrides);
257 return false; 266 return false;
258 } 267 }
259 info->manifest_permission.reset(new ManifestPermissionImpl( 268 info->manifest_permission.reset(new ManifestPermissionImpl(
260 info->RemovesBookmarkButton())); 269 SettingsOverrides::RemovesBookmarkButton(*info)));
261 270
262 APIPermissionSet* permission_set = 271 APIPermissionSet* permission_set =
263 PermissionsData::GetInitialAPIPermissions(extension); 272 PermissionsData::GetInitialAPIPermissions(extension);
264 DCHECK(permission_set); 273 DCHECK(permission_set);
265 if (info->search_engine) { 274 if (info->search_engine) {
266 permission_set->insert(new SettingsOverrideAPIPermission( 275 permission_set->insert(new SettingsOverrideAPIPermission(
267 PermissionsInfo::GetInstance()->GetByID(APIPermission::kSearchProvider), 276 PermissionsInfo::GetInstance()->GetByID(APIPermission::kSearchProvider),
268 RemoveWwwPrefix(CreateManifestURL(info->search_engine->search_url)-> 277 RemoveWwwPrefix(CreateManifestURL(info->search_engine->search_url)->
269 GetOrigin().host()))); 278 GetOrigin().host())));
270 } 279 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 const SettingsOverrides* data = SettingsOverrides::Get(extension); 328 const SettingsOverrides* data = SettingsOverrides::Get(extension);
320 if (data) 329 if (data)
321 return data->manifest_permission->Clone(); 330 return data->manifest_permission->Clone();
322 return NULL; 331 return NULL;
323 } 332 }
324 const std::vector<std::string> SettingsOverridesHandler::Keys() const { 333 const std::vector<std::string> SettingsOverridesHandler::Keys() const {
325 return SingleKey(manifest_keys::kSettingsOverride); 334 return SingleKey(manifest_keys::kSettingsOverride);
326 } 335 }
327 336
328 } // namespace extensions 337 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698