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

Side by Side Diff: device/usb/usb_service_impl.cc

Issue 2864473002: Declare TaskTraits for blocking USB tasks in a constexpr (Closed)
Patch Set: Rebased Created 3 years, 7 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_service.cc ('k') | no next file » | 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 "device/usb/usb_service_impl.h" 5 #include "device/usb/usb_service_impl.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <list> 9 #include <list>
10 #include <memory> 10 #include <memory>
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 215
216 } // namespace 216 } // namespace
217 217
218 UsbServiceImpl::UsbServiceImpl() 218 UsbServiceImpl::UsbServiceImpl()
219 : UsbService(nullptr), 219 : UsbService(nullptr),
220 #if defined(OS_WIN) 220 #if defined(OS_WIN)
221 device_observer_(this), 221 device_observer_(this),
222 #endif 222 #endif
223 weak_factory_(this) { 223 weak_factory_(this) {
224 base::PostTaskWithTraits( 224 base::PostTaskWithTraits(
225 FROM_HERE, 225 FROM_HERE, kBlockingTaskTraits,
226 {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
227 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
228 base::Bind(&InitializeUsbContextOnBlockingThread, task_runner(), 226 base::Bind(&InitializeUsbContextOnBlockingThread, task_runner(),
229 base::Bind(&UsbServiceImpl::OnUsbContext, 227 base::Bind(&UsbServiceImpl::OnUsbContext,
230 weak_factory_.GetWeakPtr()))); 228 weak_factory_.GetWeakPtr())));
231 } 229 }
232 230
233 UsbServiceImpl::~UsbServiceImpl() { 231 UsbServiceImpl::~UsbServiceImpl() {
234 if (hotplug_enabled_) 232 if (hotplug_enabled_)
235 libusb_hotplug_deregister_callback(context_->context(), hotplug_handle_); 233 libusb_hotplug_deregister_callback(context_->context(), hotplug_handle_);
236 for (auto* platform_device : ignored_devices_) 234 for (auto* platform_device : ignored_devices_)
237 libusb_unref_device(platform_device); 235 libusb_unref_device(platform_device);
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 315
318 enumeration_in_progress_ = true; 316 enumeration_in_progress_ = true;
319 DCHECK(devices_being_enumerated_.empty()); 317 DCHECK(devices_being_enumerated_.empty());
320 318
321 std::string device_path; 319 std::string device_path;
322 if (!pending_path_enumerations_.empty()) { 320 if (!pending_path_enumerations_.empty()) {
323 device_path = pending_path_enumerations_.front(); 321 device_path = pending_path_enumerations_.front();
324 pending_path_enumerations_.pop(); 322 pending_path_enumerations_.pop();
325 } 323 }
326 324
327 base::PostTaskWithTraits(FROM_HERE, 325 base::PostTaskWithTraits(FROM_HERE, kBlockingTaskTraits,
328 {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
329 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
330 base::Bind(&GetDeviceListOnBlockingThread, 326 base::Bind(&GetDeviceListOnBlockingThread,
331 device_path, context_, task_runner(), 327 device_path, context_, task_runner(),
332 base::Bind(&UsbServiceImpl::OnDeviceList, 328 base::Bind(&UsbServiceImpl::OnDeviceList,
333 weak_factory_.GetWeakPtr()))); 329 weak_factory_.GetWeakPtr())));
334 } 330 }
335 331
336 void UsbServiceImpl::OnDeviceList(libusb_device** platform_devices, 332 void UsbServiceImpl::OnDeviceList(libusb_device** platform_devices,
337 size_t device_count) { 333 size_t device_count) {
338 DCHECK(CalledOnValidThread()); 334 DCHECK(CalledOnValidThread());
339 if (!platform_devices) { 335 if (!platform_devices) {
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 } 549 }
554 550
555 void UsbServiceImpl::EnumerationFailed(PlatformUsbDevice platform_device, 551 void UsbServiceImpl::EnumerationFailed(PlatformUsbDevice platform_device,
556 const base::Closure& refresh_complete) { 552 const base::Closure& refresh_complete) {
557 libusb_ref_device(platform_device); 553 libusb_ref_device(platform_device);
558 ignored_devices_.insert(platform_device); 554 ignored_devices_.insert(platform_device);
559 refresh_complete.Run(); 555 refresh_complete.Run();
560 } 556 }
561 557
562 } // namespace device 558 } // namespace device
OLDNEW
« no previous file with comments | « device/usb/usb_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698