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

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

Issue 2727633004: Change UsbDeviceFilter to use const references instead of (Closed)
Patch Set: Fix callsite missed earlier due to not building for CrOS Created 3 years, 9 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 | « device/usb/usb_device_filter_unittest.cc ('k') | extensions/browser/api/usb/usb_api.cc » ('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 <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/i18n/message_formatter.h" 10 #include "base/i18n/message_formatter.h"
(...skipping 29 matching lines...) Expand all
40 40
41 namespace { 41 namespace {
42 42
43 void NoopHidCallback(const std::vector<scoped_refptr<device::HidDeviceInfo>>&) { 43 void NoopHidCallback(const std::vector<scoped_refptr<device::HidDeviceInfo>>&) {
44 } 44 }
45 45
46 void NoopUsbCallback(const std::vector<scoped_refptr<device::UsbDevice>>&) {} 46 void NoopUsbCallback(const std::vector<scoped_refptr<device::UsbDevice>>&) {}
47 47
48 class UsbDeviceInfo : public DevicePermissionsPrompt::Prompt::DeviceInfo { 48 class UsbDeviceInfo : public DevicePermissionsPrompt::Prompt::DeviceInfo {
49 public: 49 public:
50 UsbDeviceInfo(scoped_refptr<UsbDevice> device) : device_(device) { 50 explicit UsbDeviceInfo(scoped_refptr<UsbDevice> device) : device_(device) {
51 name_ = DevicePermissionsManager::GetPermissionMessage( 51 name_ = DevicePermissionsManager::GetPermissionMessage(
52 device->vendor_id(), device->product_id(), 52 device->vendor_id(), device->product_id(),
53 device->manufacturer_string(), device->product_string(), 53 device->manufacturer_string(), device->product_string(),
54 base::string16(), // Serial number is displayed separately. 54 base::string16(), // Serial number is displayed separately.
55 true); 55 true);
56 serial_number_ = device->serial_number(); 56 serial_number_ = device->serial_number();
57 } 57 }
58 58
59 ~UsbDeviceInfo() override {} 59 ~UsbDeviceInfo() override {}
60 60
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 } 113 }
114 } 114 }
115 } 115 }
116 DCHECK(multiple() || devices.size() <= 1); 116 DCHECK(multiple() || devices.size() <= 1);
117 callback_.Run(devices); 117 callback_.Run(devices);
118 callback_.Reset(); 118 callback_.Reset();
119 } 119 }
120 120
121 // device::UsbService::Observer implementation: 121 // device::UsbService::Observer implementation:
122 void OnDeviceAdded(scoped_refptr<UsbDevice> device) override { 122 void OnDeviceAdded(scoped_refptr<UsbDevice> device) override {
123 if (!UsbDeviceFilter::MatchesAny(device, filters_)) 123 if (!UsbDeviceFilter::MatchesAny(*device, filters_))
124 return; 124 return;
125 125
126 std::unique_ptr<DeviceInfo> device_info(new UsbDeviceInfo(device)); 126 std::unique_ptr<DeviceInfo> device_info(new UsbDeviceInfo(device));
127 device->CheckUsbAccess( 127 device->CheckUsbAccess(
128 base::Bind(&UsbDevicePermissionsPrompt::AddCheckedDevice, this, 128 base::Bind(&UsbDevicePermissionsPrompt::AddCheckedDevice, this,
129 base::Passed(&device_info))); 129 base::Passed(&device_info)));
130 } 130 }
131 131
132 void OnDeviceRemoved(scoped_refptr<UsbDevice> device) override { 132 void OnDeviceRemoved(scoped_refptr<UsbDevice> device) override {
133 for (auto it = devices_.begin(); it != devices_.end(); ++it) { 133 for (auto it = devices_.begin(); it != devices_.end(); ++it) {
(...skipping 17 matching lines...) Expand all
151 } 151 }
152 } 152 }
153 153
154 std::vector<UsbDeviceFilter> filters_; 154 std::vector<UsbDeviceFilter> filters_;
155 DevicePermissionsPrompt::UsbDevicesCallback callback_; 155 DevicePermissionsPrompt::UsbDevicesCallback callback_;
156 ScopedObserver<UsbService, UsbService::Observer> service_observer_; 156 ScopedObserver<UsbService, UsbService::Observer> service_observer_;
157 }; 157 };
158 158
159 class HidDeviceInfo : public DevicePermissionsPrompt::Prompt::DeviceInfo { 159 class HidDeviceInfo : public DevicePermissionsPrompt::Prompt::DeviceInfo {
160 public: 160 public:
161 HidDeviceInfo(scoped_refptr<device::HidDeviceInfo> device) : device_(device) { 161 explicit HidDeviceInfo(scoped_refptr<device::HidDeviceInfo> device)
162 : device_(device) {
162 name_ = DevicePermissionsManager::GetPermissionMessage( 163 name_ = DevicePermissionsManager::GetPermissionMessage(
163 device->vendor_id(), device->product_id(), 164 device->vendor_id(), device->product_id(),
164 base::string16(), // HID devices include manufacturer in product name. 165 base::string16(), // HID devices include manufacturer in product name.
165 base::UTF8ToUTF16(device->product_name()), 166 base::UTF8ToUTF16(device->product_name()),
166 base::string16(), // Serial number is displayed separately. 167 base::string16(), // Serial number is displayed separately.
167 false); 168 false);
168 serial_number_ = base::UTF8ToUTF16(device->serial_number()); 169 serial_number_ = base::UTF8ToUTF16(device->serial_number());
169 } 170 }
170 171
171 ~HidDeviceInfo() override {} 172 ~HidDeviceInfo() override {}
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 // static 380 // static
380 scoped_refptr<DevicePermissionsPrompt::Prompt> 381 scoped_refptr<DevicePermissionsPrompt::Prompt>
381 DevicePermissionsPrompt::CreateUsbPromptForTest(const Extension* extension, 382 DevicePermissionsPrompt::CreateUsbPromptForTest(const Extension* extension,
382 bool multiple) { 383 bool multiple) {
383 return make_scoped_refptr(new UsbDevicePermissionsPrompt( 384 return make_scoped_refptr(new UsbDevicePermissionsPrompt(
384 extension, nullptr, multiple, std::vector<UsbDeviceFilter>(), 385 extension, nullptr, multiple, std::vector<UsbDeviceFilter>(),
385 base::Bind(&NoopUsbCallback))); 386 base::Bind(&NoopUsbCallback)));
386 } 387 }
387 388
388 } // namespace extensions 389 } // namespace extensions
OLDNEW
« no previous file with comments | « device/usb/usb_device_filter_unittest.cc ('k') | extensions/browser/api/usb/usb_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698