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

Unified 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: Removed HID from the list and ensured consistency with other 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 side-by-side diff with in-line comments
Download patch
« 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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/permissions/chrome_permission_message_provider.cc
diff --git a/chrome/common/extensions/permissions/chrome_permission_message_provider.cc b/chrome/common/extensions/permissions/chrome_permission_message_provider.cc
index 1dd289a05db7481a6862dfbedf60c5c35e0caf87..1269e54224b9c45e5f93d7e6339e1cb51fa599fe 100644
--- a/chrome/common/extensions/permissions/chrome_permission_message_provider.cc
+++ b/chrome/common/extensions/permissions/chrome_permission_message_provider.cc
@@ -44,6 +44,12 @@ void SuppressMessage(T& messages,
}
}
+template <typename T>
+bool ContainBothMessages(T& messages, int first_message, int second_message) {
meacer 2014/07/07 21:57:32 Does this actually need to be templatized? Looks l
meacer 2014/07/07 21:57:32 Also, ContainBothMessages -> ContainsBothMessages
mhm 2014/07/07 22:33:09 No it doesn't. I just followed the SuppressMessage
mhm 2014/07/07 22:33:09 Done.
+ return FindMessageByID(messages, first_message) != messages.end() &&
+ FindMessageByID(messages, second_message) != messages.end();
+}
+
} // namespace
ChromePermissionMessageProvider::ChromePermissionMessageProvider() {
@@ -111,76 +117,102 @@ std::vector<base::string16> ChromePermissionMessageProvider::GetWarningMessages(
PermissionMessages messages =
GetPermissionMessages(permissions, extension_type);
- bool audio_capture = false;
- bool video_capture = false;
- bool media_galleries_read = false;
- bool media_galleries_copy_to = false;
- bool media_galleries_delete = false;
- bool accessibility_read = false;
- bool accessibility_write = false;
- for (PermissionMessages::const_iterator i = messages.begin();
- i != messages.end(); ++i) {
- switch (i->id()) {
- case PermissionMessage::kAudioCapture:
- audio_capture = true;
- break;
- case PermissionMessage::kVideoCapture:
- video_capture = true;
- break;
- case PermissionMessage::kMediaGalleriesAllGalleriesRead:
- media_galleries_read = true;
- break;
- case PermissionMessage::kMediaGalleriesAllGalleriesCopyTo:
- media_galleries_copy_to = true;
- break;
- case PermissionMessage::kMediaGalleriesAllGalleriesDelete:
- media_galleries_delete = true;
- break;
- case PermissionMessage::kAccessibilityFeaturesRead:
- accessibility_read = true;
- break;
- case PermissionMessage::kAccessibilityFeaturesModify:
- accessibility_write = true;
- break;
- default:
- break;
- }
- }
+ SuppressMessage(messages,
+ PermissionMessage::kBluetooth,
+ PermissionMessage::kBluetoothDevices);
for (PermissionMessages::const_iterator i = messages.begin();
i != messages.end(); ++i) {
int id = i->id();
- if (audio_capture && video_capture) {
- if (id == PermissionMessage::kAudioCapture) {
- message_strings.push_back(l10n_util::GetStringUTF16(
- IDS_EXTENSION_PROMPT_WARNING_AUDIO_AND_VIDEO_CAPTURE));
+ if (id == PermissionMessage::kUsb || id == PermissionMessage::kBluetooth ||
+ id == PermissionMessage::kSerial) {
+ // Access to USB, Bluetooth and Serial
+ if (ContainBothMessages(messages,
+ PermissionMessage::kUsb,
+ PermissionMessage::kBluetooth) &&
+ ContainBothMessages(
+ messages, PermissionMessage::kUsb, PermissionMessage::kSerial)) {
meacer 2014/07/07 21:57:32 nit: I think it'll look better if you format this
mhm 2014/07/07 22:33:09 This was done with auto formatting "git cl format"
+ if (id == PermissionMessage::kUsb) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_ALL_DEVICES));
+ }
continue;
- } else if (id == PermissionMessage::kVideoCapture) {
- // The combined message will be pushed above.
+ }
+ // Access to USB and Bluetooth
+ if (ContainBothMessages(messages,
+ PermissionMessage::kUsb,
+ PermissionMessage::kBluetooth)) {
+ if (id == PermissionMessage::kUsb) {
meacer 2014/07/07 21:57:31 You might want to test this logic with multiple "u
mhm 2014/07/07 22:33:09 Done.
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_USB_BLUETOOTH));
+ }
+ continue;
+ }
+ // Access to USB and Serial
+ if (ContainBothMessages(
+ messages, PermissionMessage::kUsb, PermissionMessage::kSerial)) {
+ if (id == PermissionMessage::kUsb) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_USB_SERIAL));
+ }
+ continue;
+ }
+ // Access to Bluetooth and Serial
+ if (ContainBothMessages(messages,
+ PermissionMessage::kBluetooth,
+ PermissionMessage::kSerial)) {
+ if (id == PermissionMessage::kBluetooth) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_SERIAL));
+ }
continue;
}
}
- if (accessibility_read && accessibility_write) {
- if (id == PermissionMessage::kAccessibilityFeaturesRead) {
- message_strings.push_back(l10n_util::GetStringUTF16(
- IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ_MODIFY));
+ if (id == PermissionMessage::kAccessibilityFeaturesRead ||
+ id == PermissionMessage::kAccessibilityFeaturesModify) {
+ if (ContainBothMessages(
+ messages,
+ PermissionMessage::kAccessibilityFeaturesRead,
+ PermissionMessage::kAccessibilityFeaturesModify)) {
+ if (id == PermissionMessage::kAccessibilityFeaturesRead) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ_MODIFY));
+ }
continue;
- } else if (id == PermissionMessage::kAccessibilityFeaturesModify) {
- // The combined message will be pushed above.
+ }
+ }
+ if (id == PermissionMessage::kAudioCapture ||
+ id == PermissionMessage::kVideoCapture) {
+ if (ContainBothMessages(messages,
+ PermissionMessage::kAudioCapture,
+ PermissionMessage::kVideoCapture)) {
+ if (id == PermissionMessage::kAudioCapture) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_AUDIO_AND_VIDEO_CAPTURE));
+ }
continue;
}
}
- if (media_galleries_read &&
- (media_galleries_copy_to || media_galleries_delete)) {
- if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead) {
- int m_id = media_galleries_copy_to ?
- IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE :
- IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE;
- message_strings.push_back(l10n_util::GetStringUTF16(m_id));
+ if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead ||
+ id == PermissionMessage::kMediaGalleriesAllGalleriesCopyTo ||
+ id == PermissionMessage::kMediaGalleriesAllGalleriesDelete) {
+ if (ContainBothMessages(
+ messages,
+ PermissionMessage::kMediaGalleriesAllGalleriesRead,
+ PermissionMessage::kMediaGalleriesAllGalleriesCopyTo)) {
+ if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE));
+ }
continue;
- } else if (id == PermissionMessage::kMediaGalleriesAllGalleriesCopyTo ||
- id == PermissionMessage::kMediaGalleriesAllGalleriesDelete) {
- // The combined message will be pushed above.
+ } else if (ContainBothMessages(
+ messages,
+ PermissionMessage::kMediaGalleriesAllGalleriesRead,
+ PermissionMessage::kMediaGalleriesAllGalleriesDelete)) {
+ if (id == PermissionMessage::kMediaGalleriesAllGalleriesRead) {
+ message_strings.push_back(l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE));
+ }
continue;
}
}
« 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