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

Side by Side Diff: extensions/common/permissions/settings_override_permission.cc

Issue 795543002: Added PermissionIDSet to APIPermissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permissions_patch_1_static_initializer_fix
Patch Set: Removed unnecessary constructor and added tests for API permissions Created 6 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/settings_override_permission.h" 5 #include "extensions/common/permissions/settings_override_permission.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "extensions/common/permissions/api_permission_set.h"
8 #include "grit/extensions_strings.h" 9 #include "grit/extensions_strings.h"
9 #include "ui/base/l10n/l10n_util.h" 10 #include "ui/base/l10n/l10n_util.h"
10 11
11 namespace extensions { 12 namespace extensions {
12 13
13 SettingsOverrideAPIPermission::SettingsOverrideAPIPermission( 14 SettingsOverrideAPIPermission::SettingsOverrideAPIPermission(
14 const APIPermissionInfo* permission, 15 const APIPermissionInfo* permission,
15 const std::string& setting_value) 16 const std::string& setting_value)
16 : APIPermission(permission), setting_value_(setting_value) {} 17 : APIPermission(permission), setting_value_(setting_value) {}
17 18
18 SettingsOverrideAPIPermission::~SettingsOverrideAPIPermission() {} 19 SettingsOverrideAPIPermission::~SettingsOverrideAPIPermission() {}
19 20
21 PermissionIDSet SettingsOverrideAPIPermission::GetPermissions() const {
22 PermissionIDSet permissions;
23 permissions.insert(info()->id(), base::UTF8ToUTF16(setting_value_));
24 return permissions;
25 }
26
20 bool SettingsOverrideAPIPermission::HasMessages() const { 27 bool SettingsOverrideAPIPermission::HasMessages() const {
21 return info()->message_id() > PermissionMessage::kNone; 28 return info()->message_id() > PermissionMessage::kNone;
22 } 29 }
23 30
24 PermissionMessages SettingsOverrideAPIPermission::GetMessages() const { 31 PermissionMessages SettingsOverrideAPIPermission::GetMessages() const {
25 DCHECK(HasMessages()); 32 DCHECK(HasMessages());
26 int string_id = -1; 33 int string_id = -1;
34 // Warning: when modifying this function, be sure to modify the correct rule
35 // in ChromePermissionMessageProvider.
27 switch (id()) { 36 switch (id()) {
28 case kHomepage: { 37 case kHomepage: {
38 // TODO(sashab): Add a parameter rule in ChromePermissionMessageProvider:
39 // kHomepage -> IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE
29 string_id = IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE; 40 string_id = IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE;
30 break; 41 break;
31 } 42 }
32 case kStartupPages: { 43 case kStartupPages: {
44 // TODO(sashab): Add a parameter rule in ChromePermissionMessageProvider:
45 // kStartupPages ->
46 // IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE
33 string_id = IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE; 47 string_id = IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE;
34 break; 48 break;
35 } 49 }
36 case kSearchProvider: { 50 case kSearchProvider: {
51 // TODO(sashab): Add a parameter rule in ChromePermissionMessageProvider:
52 // kSearchProvider ->
53 // IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE
37 string_id = IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE; 54 string_id = IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE;
38 break; 55 break;
39 } 56 }
40 default: 57 default:
41 NOTREACHED(); 58 NOTREACHED();
42 } 59 }
43 PermissionMessages result; 60 PermissionMessages result;
44 result.push_back( 61 result.push_back(
45 PermissionMessage(info()->message_id(), 62 PermissionMessage(info()->message_id(),
46 l10n_util::GetStringFUTF16( 63 l10n_util::GetStringFUTF16(
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 void SettingsOverrideAPIPermission::Write(IPC::Message* m) const {} 117 void SettingsOverrideAPIPermission::Write(IPC::Message* m) const {}
101 118
102 bool SettingsOverrideAPIPermission::Read(const IPC::Message* m, 119 bool SettingsOverrideAPIPermission::Read(const IPC::Message* m,
103 PickleIterator* iter) { 120 PickleIterator* iter) {
104 return true; 121 return true;
105 } 122 }
106 123
107 void SettingsOverrideAPIPermission::Log(std::string* log) const {} 124 void SettingsOverrideAPIPermission::Log(std::string* log) const {}
108 125
109 } // namespace extensions 126 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698