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

Unified Diff: apps/saved_devices_service.cc

Issue 580363002: Update app info and install prompt UI to show retained devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
Index: apps/saved_devices_service.cc
diff --git a/apps/saved_devices_service.cc b/apps/saved_devices_service.cc
index df7db1de511f038501e66c6c2d5149c9b1008b18..45519b3cf59c8edb71e2972ac773dacbb9d65db5 100644
--- a/apps/saved_devices_service.cc
+++ b/apps/saved_devices_service.cc
@@ -9,6 +9,8 @@
#include "apps/saved_devices_service_factory.h"
#include "base/basictypes.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/profiles/profile.h"
@@ -16,6 +18,7 @@
#include "content/public/browser/notification_service.h"
#include "device/usb/usb_device.h"
#include "device/usb/usb_device_handle.h"
+#include "device/usb/usb_ids.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
@@ -24,6 +27,8 @@
#include "extensions/common/permissions/api_permission.h"
#include "extensions/common/permissions/permission_set.h"
#include "extensions/common/permissions/permissions_data.h"
+#include "extensions/strings/grit/extensions_strings.h"
+#include "ui/base/l10n/l10n_util.h"
namespace apps {
@@ -270,10 +275,42 @@ SavedDevicesService::SavedDevices* SavedDevicesService::GetOrInsert(
return saved_devices;
}
-std::vector<SavedDeviceEntry> SavedDevicesService::GetAllDevices(
+std::vector<base::string16> SavedDevicesService::GetPermissionMessageStrings(
const std::string& extension_id) const {
ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_);
- return GetSavedDeviceEntries(prefs, extension_id);
+ std::vector<apps::SavedDeviceEntry> device_entries =
+ GetSavedDeviceEntries(prefs, extension_id);
+ std::vector<base::string16> messages;
+ for (std::vector<apps::SavedDeviceEntry>::const_iterator it =
+ device_entries.begin();
+ it != device_entries.end();
+ ++it) {
+ const char* vendorName = device::UsbIds::GetVendorName(it->vendor_id);
+ const char* productName =
+ device::UsbIds::GetProductName(it->vendor_id, it->product_id);
+ if (vendorName) {
+ if (productName) {
+ messages.push_back(l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_SERIAL,
+ base::UTF8ToUTF16(vendorName),
+ base::UTF8ToUTF16(productName),
+ it->serial_number));
+ } else {
+ messages.push_back(l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_PID_SERIAL,
+ base::UTF8ToUTF16(vendorName),
+ base::ASCIIToUTF16(base::StringPrintf("0x%04X", it->product_id)),
+ it->serial_number));
+ }
+ } else {
+ messages.push_back(l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_VID_PID_SERIAL,
+ base::ASCIIToUTF16(base::StringPrintf("0x%04X", it->vendor_id)),
+ base::ASCIIToUTF16(base::StringPrintf("0x%04X", it->product_id)),
Avi (use Gerrit) 2014/09/19 03:54:46 For this and all the other cases, string_number_co
Reilly Grant (use Gerrit) 2014/09/19 19:30:09 HexEncode is great for printing uint8_t arrays but
+ it->serial_number));
+ }
+ }
+ return messages;
}
void SavedDevicesService::Clear(const std::string& extension_id) {

Powered by Google App Engine
This is Rietveld 408576698