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

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

Issue 55533003: Add extension permissions for new settings override API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Trimmed schema/www. and only show one start page. Created 7 years, 1 month 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
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/common/extensions/permissions/settings_override_permission.h"
6
7 #include "base/strings/utf_string_conversions.h"
8 #include "grit/generated_resources.h"
9 #include "ui/base/l10n/l10n_util.h"
10
11
12 namespace extensions {
13
14 SettingsOverrideAPIPermission::SettingsOverrideAPIPermission(
15 const APIPermissionInfo* permission, const std::string setting_value)
16 : APIPermission(permission),
17 setting_value_(setting_value) {
18 }
19
20 SettingsOverrideAPIPermission::~SettingsOverrideAPIPermission() {
21 }
22
23 bool SettingsOverrideAPIPermission::HasMessages() const {
24 return info()->message_id() > PermissionMessage::kNone;
25 }
26
27 PermissionMessages SettingsOverrideAPIPermission::GetMessages() const {
28 DCHECK(HasMessages());
29 PermissionMessages result;
gab 2013/11/01 22:35:40 Move this line to line 47 since it's not needed be
MAD 2013/11/03 02:21:20 Done.
30 int string_id = -1;
31 switch (id()) {
32 case(kHomePage): {
gab 2013/11/01 22:35:40 Typical style for case statements is: case foo: .
MAD 2013/11/03 02:21:20 Done.
33 string_id = IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE;
34 break;
35 }
36 case(kStartupPages): {
37 string_id = IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE;
38 break;
39 }
40 case(kSearchSettings): {
41 string_id = IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE;
42 break;
43 }
44 default:
45 NOTREACHED();
46 }
47 result.push_back(PermissionMessage(
48 info()->message_id(),
49 l10n_util::GetStringFUTF16(string_id, UTF8ToUTF16(setting_value_))));
50 return result;
51 }
52
53 bool SettingsOverrideAPIPermission::Check(
gab 2013/11/01 22:35:40 I'm guessing you based most of this implementation
54 const APIPermission::CheckParam* param) const {
55 return !param;
56 }
57
58 bool SettingsOverrideAPIPermission::Contains(const APIPermission* rhs) const {
59 CHECK(info() == rhs->info());
60 return true;
61 }
62
63 bool SettingsOverrideAPIPermission::Equal(const APIPermission* rhs) const {
64 if (this == rhs)
65 return true;
66 CHECK(info() == rhs->info());
67 return true;
68 }
69
70 bool SettingsOverrideAPIPermission::FromValue(const base::Value* value) {
71 // This should never be called since we create the permission manually
72 // because it's not one explicitly set in the manifest file, it's implicitly
73 // added when settigns overrides are used.
gab 2013/11/01 22:35:40 s/settigns/settings
MAD 2013/11/03 02:21:20 Done.
74 NOTREACHED();
75 return false;
76 }
77
78 scoped_ptr<base::Value> SettingsOverrideAPIPermission::ToValue() const {
79 return scoped_ptr<base::Value>();
80 }
81
82 APIPermission* SettingsOverrideAPIPermission::Clone() const {
83 return new SettingsOverrideAPIPermission(info(), setting_value_);
84 }
85
86 APIPermission* SettingsOverrideAPIPermission::Diff(
87 const APIPermission* rhs) const {
88 CHECK(info() == rhs->info());
89 return NULL;
90 }
91
92 APIPermission* SettingsOverrideAPIPermission::Union(
93 const APIPermission* rhs) const {
94 CHECK(info() == rhs->info());
95 return new SettingsOverrideAPIPermission(info(), setting_value_);
96 }
97
98 APIPermission* SettingsOverrideAPIPermission::Intersect(
99 const APIPermission* rhs) const {
100 CHECK(info() == rhs->info());
101 return new SettingsOverrideAPIPermission(info(), setting_value_);
102 }
103
104 void SettingsOverrideAPIPermission::Write(IPC::Message* m) const {
105 }
106
107 bool SettingsOverrideAPIPermission::Read(
108 const IPC::Message* m, PickleIterator* iter) {
109 return true;
110 }
111
112 void SettingsOverrideAPIPermission::Log(std::string* log) const {
113 }
114
115 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698