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

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

Issue 336313009: Showing devices transport method in one device (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Modifying HID string and removing parantheses from strings. Created 6 years, 5 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
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/permissions/chrome_permission_message_provide r.h" 5 #include "chrome/common/extensions/permissions/chrome_permission_message_provide r.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "extensions/common/extensions_client.h" 9 #include "extensions/common/extensions_client.h"
10 #include "extensions/common/permissions/permission_message.h" 10 #include "extensions/common/permissions/permission_message.h"
(...skipping 26 matching lines...) Expand all
37 int suppressing_message, 37 int suppressing_message,
38 int suppressed_message) { 38 int suppressed_message) {
39 typename T::iterator suppressed = FindMessageByID(messages, 39 typename T::iterator suppressed = FindMessageByID(messages,
40 suppressed_message); 40 suppressed_message);
41 if (suppressed != messages.end() && 41 if (suppressed != messages.end() &&
42 FindMessageByID(messages, suppressing_message) != messages.end()) { 42 FindMessageByID(messages, suppressing_message) != messages.end()) {
43 messages.erase(suppressed); 43 messages.erase(suppressed);
44 } 44 }
45 } 45 }
46 46
47 bool ContainsBothMessages(PermissionMessages& messages,
48 int first_message,
49 int second_message) {
50 return FindMessageByID(messages, first_message) != messages.end() &&
51 FindMessageByID(messages, second_message) != messages.end();
52 }
53
47 } // namespace 54 } // namespace
48 55
49 ChromePermissionMessageProvider::ChromePermissionMessageProvider() { 56 ChromePermissionMessageProvider::ChromePermissionMessageProvider() {
50 } 57 }
51 58
52 ChromePermissionMessageProvider::~ChromePermissionMessageProvider() { 59 ChromePermissionMessageProvider::~ChromePermissionMessageProvider() {
53 } 60 }
54 61
55 PermissionMessages ChromePermissionMessageProvider::GetPermissionMessages( 62 PermissionMessages ChromePermissionMessageProvider::GetPermissionMessages(
56 const PermissionSet* permissions, 63 const PermissionSet* permissions,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 return messages; 111 return messages;
105 } 112 }
106 113
107 std::vector<base::string16> ChromePermissionMessageProvider::GetWarningMessages( 114 std::vector<base::string16> ChromePermissionMessageProvider::GetWarningMessages(
108 const PermissionSet* permissions, 115 const PermissionSet* permissions,
109 Manifest::Type extension_type) const { 116 Manifest::Type extension_type) const {
110 std::vector<base::string16> message_strings; 117 std::vector<base::string16> message_strings;
111 PermissionMessages messages = 118 PermissionMessages messages =
112 GetPermissionMessages(permissions, extension_type); 119 GetPermissionMessages(permissions, extension_type);
113 120
114 bool audio_capture = false; 121 SuppressMessage(messages,
115 bool video_capture = false; 122 PermissionMessage::kBluetooth,
116 bool media_galleries_read = false; 123 PermissionMessage::kBluetoothDevices);
117 bool media_galleries_copy_to = false;
118 bool media_galleries_delete = false;
119 bool accessibility_read = false;
120 bool accessibility_write = false;
121 for (PermissionMessages::const_iterator i = messages.begin();
122 i != messages.end(); ++i) {
123 switch (i->id()) {
124 case PermissionMessage::kAudioCapture:
125 audio_capture = true;
126 break;
127 case PermissionMessage::kVideoCapture:
128 video_capture = true;
129 break;
130 case PermissionMessage::kMediaGalleriesAllGalleriesRead:
131 media_galleries_read = true;
132 break;
133 case PermissionMessage::kMediaGalleriesAllGalleriesCopyTo:
134 media_galleries_copy_to = true;
135 break;
136 case PermissionMessage::kMediaGalleriesAllGalleriesDelete:
137 media_galleries_delete = true;
138 break;
139 case PermissionMessage::kAccessibilityFeaturesRead:
140 accessibility_read = true;
141 break;
142 case PermissionMessage::kAccessibilityFeaturesModify:
143 accessibility_write = true;
144 break;
145 default:
146 break;
147 }
148 }
149 124
150 for (PermissionMessages::const_iterator i = messages.begin(); 125 for (PermissionMessages::const_iterator i = messages.begin();
151 i != messages.end(); ++i) { 126 i != messages.end(); ++i) {
152 int id = i->id(); 127 int id = i->id();
153 if (audio_capture && video_capture) { 128 if (id == PermissionMessage::kUsb || id == PermissionMessage::kBluetooth ||
154 if (id == PermissionMessage::kAudioCapture) { 129 id == PermissionMessage::kSerial) {
155 message_strings.push_back(l10n_util::GetStringUTF16( 130 // Access to USB, Bluetooth and Serial
not at google - send to devlin 2014/07/07 23:07:38 these little comments don't add much, it's clear f
mhm 2014/07/07 23:58:32 Done.
156 IDS_EXTENSION_PROMPT_WARNING_AUDIO_AND_VIDEO_CAPTURE)); 131 if (ContainsBothMessages(messages,
132 PermissionMessage::kUsb,
133 PermissionMessage::kBluetooth) &&
134 ContainsBothMessages(messages,
not at google - send to devlin 2014/07/07 23:07:38 could you have a method like "ContainsAll" and ove
mhm 2014/07/07 23:58:32 Done.
135 PermissionMessage::kUsb,
136 PermissionMessage::kSerial)) {
137 if (id == PermissionMessage::kUsb) {
not at google - send to devlin 2014/07/07 23:07:38 epic nit: can we have these in alphabetic ordering
mhm 2014/07/07 23:58:32 Done.
138 message_strings.push_back(l10n_util::GetStringUTF16(
139 IDS_EXTENSION_PROMPT_WARNING_ALL_DEVICES));
140 }
157 continue; 141 continue;
158 } else if (id == PermissionMessage::kVideoCapture) { 142 }
159 // The combined message will be pushed above. 143 // Access to USB and Bluetooth
144 if (ContainsBothMessages(messages,
145 PermissionMessage::kUsb,
146 PermissionMessage::kBluetooth)) {
147 if (id == PermissionMessage::kUsb) {
148 message_strings.push_back(l10n_util::GetStringUTF16(
149 IDS_EXTENSION_PROMPT_WARNING_USB_BLUETOOTH));
150 }
151 continue;
152 }
153 // Access to USB and Serial
154 if (ContainsBothMessages(
155 messages, PermissionMessage::kUsb, PermissionMessage::kSerial)) {
156 if (id == PermissionMessage::kUsb) {
157 message_strings.push_back(l10n_util::GetStringUTF16(
158 IDS_EXTENSION_PROMPT_WARNING_USB_SERIAL));
159 }
160 continue;
161 }
162 // Access to Bluetooth and Serial
163 if (ContainsBothMessages(messages,
164 PermissionMessage::kBluetooth,
165 PermissionMessage::kSerial)) {
166 if (id == PermissionMessage::kBluetooth) {
167 message_strings.push_back(l10n_util::GetStringUTF16(
168 IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_SERIAL));
169 }
160 continue; 170 continue;
161 } 171 }
162 } 172 }
163 if (accessibility_read && accessibility_write) { 173 if (id == PermissionMessage::kAccessibilityFeaturesRead ||
164 if (id == PermissionMessage::kAccessibilityFeaturesRead) { 174 id == PermissionMessage::kAccessibilityFeaturesModify) {
165 message_strings.push_back(l10n_util::GetStringUTF16( 175 if (ContainsBothMessages(
166 IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ_MODIFY)); 176 messages,
167 continue; 177 PermissionMessage::kAccessibilityFeaturesRead,
168 } else if (id == PermissionMessage::kAccessibilityFeaturesModify) { 178 PermissionMessage::kAccessibilityFeaturesModify)) {
169 // The combined message will be pushed above. 179 if (id == PermissionMessage::kAccessibilityFeaturesRead) {
180 message_strings.push_back(l10n_util::GetStringUTF16(
181 IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ_MODIFY));
182 }
170 continue; 183 continue;
171 } 184 }
172 } 185 }
173 if (media_galleries_read && 186 if (id == PermissionMessage::kAudioCapture ||
174 (media_galleries_copy_to || media_galleries_delete)) { 187 id == PermissionMessage::kVideoCapture) {
175 if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead) { 188 if (ContainsBothMessages(messages,
176 int m_id = media_galleries_copy_to ? 189 PermissionMessage::kAudioCapture,
177 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE : 190 PermissionMessage::kVideoCapture)) {
178 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE; 191 if (id == PermissionMessage::kAudioCapture) {
179 message_strings.push_back(l10n_util::GetStringUTF16(m_id)); 192 message_strings.push_back(l10n_util::GetStringUTF16(
180 continue; 193 IDS_EXTENSION_PROMPT_WARNING_AUDIO_AND_VIDEO_CAPTURE));
181 } else if (id == PermissionMessage::kMediaGalleriesAllGalleriesCopyTo || 194 }
182 id == PermissionMessage::kMediaGalleriesAllGalleriesDelete) {
183 // The combined message will be pushed above.
184 continue; 195 continue;
185 } 196 }
186 } 197 }
198 if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead ||
199 id == PermissionMessage::kMediaGalleriesAllGalleriesCopyTo ||
200 id == PermissionMessage::kMediaGalleriesAllGalleriesDelete) {
not at google - send to devlin 2014/07/07 23:07:38 what about read+copy+delete?
mhm 2014/07/07 23:58:32 The original logic didn't say anything about this
201 if (ContainsBothMessages(
202 messages,
203 PermissionMessage::kMediaGalleriesAllGalleriesRead,
204 PermissionMessage::kMediaGalleriesAllGalleriesCopyTo)) {
205 if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead) {
206 message_strings.push_back(l10n_util::GetStringUTF16(
207 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE));
208 }
209 continue;
210 } else if (ContainsBothMessages(
not at google - send to devlin 2014/07/07 23:07:38 no else after continue
mhm 2014/07/07 23:58:32 Done.
211 messages,
212 PermissionMessage::kMediaGalleriesAllGalleriesRead,
213 PermissionMessage::kMediaGalleriesAllGalleriesDelete)) {
214 if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead) {
215 message_strings.push_back(l10n_util::GetStringUTF16(
216 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE));
217 }
218 continue;
219 }
220 }
187 if (permissions->HasAPIPermission(APIPermission::kSessions) && 221 if (permissions->HasAPIPermission(APIPermission::kSessions) &&
188 id == PermissionMessage::kTabs) { 222 id == PermissionMessage::kTabs) {
189 message_strings.push_back(l10n_util::GetStringUTF16( 223 message_strings.push_back(l10n_util::GetStringUTF16(
190 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS)); 224 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS));
191 continue; 225 continue;
192 } 226 }
193 if (permissions->HasAPIPermission(APIPermission::kSessions) && 227 if (permissions->HasAPIPermission(APIPermission::kSessions) &&
194 id == PermissionMessage::kBrowsingHistory) { 228 id == PermissionMessage::kBrowsingHistory) {
195 message_strings.push_back(l10n_util::GetStringUTF16( 229 message_strings.push_back(l10n_util::GetStringUTF16(
196 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS)); 230 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS));
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 std::set<std::string> old_hosts_set( 424 std::set<std::string> old_hosts_set(
391 permission_message_util::GetDistinctHosts(old_list, false, false)); 425 permission_message_util::GetDistinctHosts(old_list, false, false));
392 std::set<std::string> new_hosts_only = 426 std::set<std::string> new_hosts_only =
393 base::STLSetDifference<std::set<std::string> >(new_hosts_set, 427 base::STLSetDifference<std::set<std::string> >(new_hosts_set,
394 old_hosts_set); 428 old_hosts_set);
395 429
396 return !new_hosts_only.empty(); 430 return !new_hosts_only.empty();
397 } 431 }
398 432
399 } // namespace extensions 433 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/common/extensions/permissions/permission_set_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698