| 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)),
|
| + it->serial_number));
|
| + }
|
| + }
|
| + return messages;
|
| }
|
|
|
| void SavedDevicesService::Clear(const std::string& extension_id) {
|
|
|