| 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/scoped_observer.h" | 8 #include "base/scoped_observer.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 UsbService* service = device::DeviceClient::Get()->GetUsbService(); | 83 UsbService* service = device::DeviceClient::Get()->GetUsbService(); |
| 84 if (service && !service_observer_.IsObserving(service)) { | 84 if (service && !service_observer_.IsObserving(service)) { |
| 85 service->GetDevices( | 85 service->GetDevices( |
| 86 base::Bind(&UsbDevicePermissionsPrompt::OnDevicesEnumerated, this)); | 86 base::Bind(&UsbDevicePermissionsPrompt::OnDevicesEnumerated, this)); |
| 87 service_observer_.Add(service); | 87 service_observer_.Add(service); |
| 88 } | 88 } |
| 89 } | 89 } |
| 90 } | 90 } |
| 91 | 91 |
| 92 base::string16 GetHeading() const override { | 92 base::string16 GetHeading() const override { |
| 93 return l10n_util::GetStringUTF16( | 93 return l10n_util::GetPluralStringFUTF16( |
| 94 multiple() ? IDS_USB_DEVICE_PERMISSIONS_PROMPT_TITLE_MULTIPLE | 94 IDS_HID_DEVICE_PERMISSIONS_PROMPT_TITLE, devices_.size()); |
| 95 : IDS_USB_DEVICE_PERMISSIONS_PROMPT_TITLE_SINGLE); | |
| 96 } | 95 } |
| 97 | 96 |
| 98 void Dismissed() override { | 97 void Dismissed() override { |
| 99 DevicePermissionsManager* permissions_manager = | 98 DevicePermissionsManager* permissions_manager = |
| 100 DevicePermissionsManager::Get(browser_context()); | 99 DevicePermissionsManager::Get(browser_context()); |
| 101 std::vector<scoped_refptr<UsbDevice>> devices; | 100 std::vector<scoped_refptr<UsbDevice>> devices; |
| 102 for (const DeviceInfo* device : devices_) { | 101 for (const DeviceInfo* device : devices_) { |
| 103 if (device->granted()) { | 102 if (device->granted()) { |
| 104 const UsbDeviceInfo* usb_device = | 103 const UsbDeviceInfo* usb_device = |
| 105 static_cast<const UsbDeviceInfo*>(device); | 104 static_cast<const UsbDeviceInfo*>(device); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 HidService* service = device::DeviceClient::Get()->GetHidService(); | 197 HidService* service = device::DeviceClient::Get()->GetHidService(); |
| 199 if (service && !service_observer_.IsObserving(service)) { | 198 if (service && !service_observer_.IsObserving(service)) { |
| 200 service->GetDevices( | 199 service->GetDevices( |
| 201 base::Bind(&HidDevicePermissionsPrompt::OnDevicesEnumerated, this)); | 200 base::Bind(&HidDevicePermissionsPrompt::OnDevicesEnumerated, this)); |
| 202 service_observer_.Add(service); | 201 service_observer_.Add(service); |
| 203 } | 202 } |
| 204 } | 203 } |
| 205 } | 204 } |
| 206 | 205 |
| 207 base::string16 GetHeading() const override { | 206 base::string16 GetHeading() const override { |
| 208 return l10n_util::GetStringUTF16( | 207 return l10n_util::GetPluralStringFUTF16( |
| 209 multiple() ? IDS_HID_DEVICE_PERMISSIONS_PROMPT_TITLE_MULTIPLE | 208 IDS_USB_DEVICE_PERMISSIONS_PROMPT_TITLE, devices_.size()); |
| 210 : IDS_HID_DEVICE_PERMISSIONS_PROMPT_TITLE_SINGLE); | |
| 211 } | 209 } |
| 212 | 210 |
| 213 void Dismissed() override { | 211 void Dismissed() override { |
| 214 DevicePermissionsManager* permissions_manager = | 212 DevicePermissionsManager* permissions_manager = |
| 215 DevicePermissionsManager::Get(browser_context()); | 213 DevicePermissionsManager::Get(browser_context()); |
| 216 std::vector<scoped_refptr<device::HidDeviceInfo>> devices; | 214 std::vector<scoped_refptr<device::HidDeviceInfo>> devices; |
| 217 for (const DeviceInfo* device : devices_) { | 215 for (const DeviceInfo* device : devices_) { |
| 218 if (device->granted()) { | 216 if (device->granted()) { |
| 219 const HidDeviceInfo* hid_device = | 217 const HidDeviceInfo* hid_device = |
| 220 static_cast<const HidDeviceInfo*>(device); | 218 static_cast<const HidDeviceInfo*>(device); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 content::BrowserContext* context, | 296 content::BrowserContext* context, |
| 299 bool multiple) | 297 bool multiple) |
| 300 : extension_(extension), browser_context_(context), multiple_(multiple) { | 298 : extension_(extension), browser_context_(context), multiple_(multiple) { |
| 301 } | 299 } |
| 302 | 300 |
| 303 void DevicePermissionsPrompt::Prompt::SetObserver(Observer* observer) { | 301 void DevicePermissionsPrompt::Prompt::SetObserver(Observer* observer) { |
| 304 observer_ = observer; | 302 observer_ = observer; |
| 305 } | 303 } |
| 306 | 304 |
| 307 base::string16 DevicePermissionsPrompt::Prompt::GetPromptMessage() const { | 305 base::string16 DevicePermissionsPrompt::Prompt::GetPromptMessage() const { |
| 306 // TODO(jungshik): Consider using the ICU syntax once bug 481734 is fixed. |
| 308 return l10n_util::GetStringFUTF16(multiple_ | 307 return l10n_util::GetStringFUTF16(multiple_ |
| 309 ? IDS_DEVICE_PERMISSIONS_PROMPT_MULTIPLE | 308 ? IDS_DEVICE_PERMISSIONS_PROMPT_MULTIPLE |
| 310 : IDS_DEVICE_PERMISSIONS_PROMPT_SINGLE, | 309 : IDS_DEVICE_PERMISSIONS_PROMPT_SINGLE, |
| 311 base::UTF8ToUTF16(extension_->name())); | 310 base::UTF8ToUTF16(extension_->name())); |
| 312 } | 311 } |
| 313 | 312 |
| 314 base::string16 DevicePermissionsPrompt::Prompt::GetDeviceName( | 313 base::string16 DevicePermissionsPrompt::Prompt::GetDeviceName( |
| 315 size_t index) const { | 314 size_t index) const { |
| 316 DCHECK_LT(index, devices_.size()); | 315 DCHECK_LT(index, devices_.size()); |
| 317 return devices_[index]->name(); | 316 return devices_[index]->name(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 content::BrowserContext* context, | 365 content::BrowserContext* context, |
| 367 bool multiple, | 366 bool multiple, |
| 368 const std::vector<HidDeviceFilter>& filters, | 367 const std::vector<HidDeviceFilter>& filters, |
| 369 const HidDevicesCallback& callback) { | 368 const HidDevicesCallback& callback) { |
| 370 prompt_ = new HidDevicePermissionsPrompt(extension, context, multiple, | 369 prompt_ = new HidDevicePermissionsPrompt(extension, context, multiple, |
| 371 filters, callback); | 370 filters, callback); |
| 372 ShowDialog(); | 371 ShowDialog(); |
| 373 } | 372 } |
| 374 | 373 |
| 375 } // namespace extensions | 374 } // namespace extensions |
| OLD | NEW |