| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/api/device_permissions_prompt.h" | 5 #include "extensions/browser/api/device_permissions_prompt.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/i18n/message_formatter.h" |
| 8 #include "base/scoped_observer.h" | 9 #include "base/scoped_observer.h" |
| 9 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
| 11 #include "device/core/device_client.h" | 12 #include "device/core/device_client.h" |
| 12 #include "device/hid/hid_device_filter.h" | 13 #include "device/hid/hid_device_filter.h" |
| 13 #include "device/hid/hid_device_info.h" | 14 #include "device/hid/hid_device_info.h" |
| 14 #include "device/hid/hid_service.h" | 15 #include "device/hid/hid_service.h" |
| 15 #include "device/usb/usb_device.h" | 16 #include "device/usb/usb_device.h" |
| 16 #include "device/usb/usb_device_filter.h" | 17 #include "device/usb/usb_device_filter.h" |
| 17 #include "device/usb/usb_ids.h" | 18 #include "device/usb/usb_ids.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 UsbService* service = device::DeviceClient::Get()->GetUsbService(); | 85 UsbService* service = device::DeviceClient::Get()->GetUsbService(); |
| 85 if (service && !service_observer_.IsObserving(service)) { | 86 if (service && !service_observer_.IsObserving(service)) { |
| 86 service->GetDevices( | 87 service->GetDevices( |
| 87 base::Bind(&UsbDevicePermissionsPrompt::OnDevicesEnumerated, this)); | 88 base::Bind(&UsbDevicePermissionsPrompt::OnDevicesEnumerated, this)); |
| 88 service_observer_.Add(service); | 89 service_observer_.Add(service); |
| 89 } | 90 } |
| 90 } | 91 } |
| 91 } | 92 } |
| 92 | 93 |
| 93 base::string16 GetHeading() const override { | 94 base::string16 GetHeading() const override { |
| 94 return l10n_util::GetStringUTF16( | 95 return l10n_util::GetSingleOrMultipleStringUTF16( |
| 95 multiple() ? IDS_USB_DEVICE_PERMISSIONS_PROMPT_TITLE_MULTIPLE | 96 IDS_USB_DEVICE_PERMISSIONS_PROMPT_TITLE, multiple()); |
| 96 : IDS_USB_DEVICE_PERMISSIONS_PROMPT_TITLE_SINGLE); | |
| 97 } | 97 } |
| 98 | 98 |
| 99 void Dismissed() override { | 99 void Dismissed() override { |
| 100 DevicePermissionsManager* permissions_manager = | 100 DevicePermissionsManager* permissions_manager = |
| 101 DevicePermissionsManager::Get(browser_context()); | 101 DevicePermissionsManager::Get(browser_context()); |
| 102 std::vector<scoped_refptr<UsbDevice>> devices; | 102 std::vector<scoped_refptr<UsbDevice>> devices; |
| 103 for (const DeviceInfo* device : devices_) { | 103 for (const DeviceInfo* device : devices_) { |
| 104 if (device->granted()) { | 104 if (device->granted()) { |
| 105 const UsbDeviceInfo* usb_device = | 105 const UsbDeviceInfo* usb_device = |
| 106 static_cast<const UsbDeviceInfo*>(device); | 106 static_cast<const UsbDeviceInfo*>(device); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 HidService* service = device::DeviceClient::Get()->GetHidService(); | 199 HidService* service = device::DeviceClient::Get()->GetHidService(); |
| 200 if (service && !service_observer_.IsObserving(service)) { | 200 if (service && !service_observer_.IsObserving(service)) { |
| 201 service->GetDevices( | 201 service->GetDevices( |
| 202 base::Bind(&HidDevicePermissionsPrompt::OnDevicesEnumerated, this)); | 202 base::Bind(&HidDevicePermissionsPrompt::OnDevicesEnumerated, this)); |
| 203 service_observer_.Add(service); | 203 service_observer_.Add(service); |
| 204 } | 204 } |
| 205 } | 205 } |
| 206 } | 206 } |
| 207 | 207 |
| 208 base::string16 GetHeading() const override { | 208 base::string16 GetHeading() const override { |
| 209 return l10n_util::GetStringUTF16( | 209 return l10n_util::GetSingleOrMultipleStringUTF16( |
| 210 multiple() ? IDS_HID_DEVICE_PERMISSIONS_PROMPT_TITLE_MULTIPLE | 210 IDS_HID_DEVICE_PERMISSIONS_PROMPT_TITLE, multiple()); |
| 211 : IDS_HID_DEVICE_PERMISSIONS_PROMPT_TITLE_SINGLE); | |
| 212 } | 211 } |
| 213 | 212 |
| 214 void Dismissed() override { | 213 void Dismissed() override { |
| 215 DevicePermissionsManager* permissions_manager = | 214 DevicePermissionsManager* permissions_manager = |
| 216 DevicePermissionsManager::Get(browser_context()); | 215 DevicePermissionsManager::Get(browser_context()); |
| 217 std::vector<scoped_refptr<device::HidDeviceInfo>> devices; | 216 std::vector<scoped_refptr<device::HidDeviceInfo>> devices; |
| 218 for (const DeviceInfo* device : devices_) { | 217 for (const DeviceInfo* device : devices_) { |
| 219 if (device->granted()) { | 218 if (device->granted()) { |
| 220 const HidDeviceInfo* hid_device = | 219 const HidDeviceInfo* hid_device = |
| 221 static_cast<const HidDeviceInfo*>(device); | 220 static_cast<const HidDeviceInfo*>(device); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 content::BrowserContext* context, | 300 content::BrowserContext* context, |
| 302 bool multiple) | 301 bool multiple) |
| 303 : extension_(extension), browser_context_(context), multiple_(multiple) { | 302 : extension_(extension), browser_context_(context), multiple_(multiple) { |
| 304 } | 303 } |
| 305 | 304 |
| 306 void DevicePermissionsPrompt::Prompt::SetObserver(Observer* observer) { | 305 void DevicePermissionsPrompt::Prompt::SetObserver(Observer* observer) { |
| 307 observer_ = observer; | 306 observer_ = observer; |
| 308 } | 307 } |
| 309 | 308 |
| 310 base::string16 DevicePermissionsPrompt::Prompt::GetPromptMessage() const { | 309 base::string16 DevicePermissionsPrompt::Prompt::GetPromptMessage() const { |
| 311 return l10n_util::GetStringFUTF16(multiple_ | 310 return base::i18n::MessageFormatter::FormatWithNumberedArgs( |
| 312 ? IDS_DEVICE_PERMISSIONS_PROMPT_MULTIPLE | 311 l10n_util::GetStringUTF16(IDS_DEVICE_PERMISSIONS_PROMPT), |
| 313 : IDS_DEVICE_PERMISSIONS_PROMPT_SINGLE, | 312 multiple_ ? "multiple" : "single", extension_->name()); |
| 314 base::UTF8ToUTF16(extension_->name())); | |
| 315 } | 313 } |
| 316 | 314 |
| 317 base::string16 DevicePermissionsPrompt::Prompt::GetDeviceName( | 315 base::string16 DevicePermissionsPrompt::Prompt::GetDeviceName( |
| 318 size_t index) const { | 316 size_t index) const { |
| 319 DCHECK_LT(index, devices_.size()); | 317 DCHECK_LT(index, devices_.size()); |
| 320 return devices_[index]->name(); | 318 return devices_[index]->name(); |
| 321 } | 319 } |
| 322 | 320 |
| 323 base::string16 DevicePermissionsPrompt::Prompt::GetDeviceSerialNumber( | 321 base::string16 DevicePermissionsPrompt::Prompt::GetDeviceSerialNumber( |
| 324 size_t index) const { | 322 size_t index) const { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 content::BrowserContext* context, | 367 content::BrowserContext* context, |
| 370 bool multiple, | 368 bool multiple, |
| 371 const std::vector<HidDeviceFilter>& filters, | 369 const std::vector<HidDeviceFilter>& filters, |
| 372 const HidDevicesCallback& callback) { | 370 const HidDevicesCallback& callback) { |
| 373 prompt_ = new HidDevicePermissionsPrompt(extension, context, multiple, | 371 prompt_ = new HidDevicePermissionsPrompt(extension, context, multiple, |
| 374 filters, callback); | 372 filters, callback); |
| 375 ShowDialog(); | 373 ShowDialog(); |
| 376 } | 374 } |
| 377 | 375 |
| 378 } // namespace extensions | 376 } // namespace extensions |
| OLD | NEW |