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

Side by Side Diff: extensions/browser/api/device_permissions_prompt.cc

Issue 1140153005: ICU msg format support with more than one arguments (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mark's review comments Created 5 years, 4 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 unified diff | Download patch
« no previous file with comments | « extensions/browser/BUILD.gn ('k') | extensions/extensions.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « extensions/browser/BUILD.gn ('k') | extensions/extensions.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698