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 |