summaryrefslogtreecommitdiffstats
path: root/device
Commit message (Collapse)AuthorAgeFilesLines
* Move base::FreeDeleter into its own header.dcheng2016-03-261-0/+1
| | | | | | | | | | Final blocker to wholly deleting base/memory/scoped_ptr.h. BUG=554298 Review URL: https://codereview.chromium.org/1837483003 Cr-Commit-Position: refs/heads/master@{#383417}
* WebUsb Android chooser UIjuncai2016-03-252-1/+30
| | | | | | | | | | This patch added code to display a chooser UI on Android for WebUsb. BUG=591735 Review URL: https://codereview.chromium.org/1739523002 Cr-Commit-Position: refs/heads/master@{#383351}
* bluetooth: Test & make StartNotifySession reentrant.scheib2016-03-257-29/+150
| | | | | | | | | | | | | | | | Follow up work from "bluetooth: android: Confirm the notify session after the descriptor has been written." https://crrev.com/1712593002. o Protects against reentrancy issue in OnStartNotifySessionSuccess and OnStartNotifySessionError by swapping callbacks container. o Adds unit test for StartNotifySession failure condition. o Adds unit test for StartNotifySession after GATT objects deleted. BUG=584369 Review URL: https://codereview.chromium.org/1779083002 Cr-Commit-Position: refs/heads/master@{#383285}
* bluetooth: Refactor GetDescriptorForUUID to GetDescriptorsForUUID.scheib2016-03-258-65/+102
| | | | | | | | | | | | | Follow up work from "bluetooth: android: Confirm the notify session after the descriptor has been written." https://crrev.com/1712593002. Support multiple descriptors with the same UUID. BUG=584369, 576900 Review URL: https://codereview.chromium.org/1765773002 Cr-Commit-Position: refs/heads/master@{#383218}
* Track USB endpoint state in Blink.lkgrreillyg2016-03-241-1/+1
| | | | | | | | | | | | | The last in a series of patches putting input validation for the WebUSB directly into Blink. This one adds bit vectors that track which endpoints are available given the current set of claimed interfaces and selected alternate interfaces. BUG=593164 Review URL: https://codereview.chromium.org/1830833002 Cr-Commit-Position: refs/heads/master@{#383194}
* Set interface_number in USB to Mojo type converter.reillyg2016-03-231-0/+1
| | | | | | | | | | | | | The type converter for device::UsbInterfaceDescriptor neglected to set interface_number on the new device::usb::InterfaceInfo. Aside from the wrong data being exposed to apps now that Blink does more sanity checking of API calls this breaks everything. BUG=None Review URL: https://codereview.chromium.org/1825303003 Cr-Commit-Position: refs/heads/master@{#382970}
* Fix IPC loop in DeviceManager::GetDeviceChanges.reillyg2016-03-232-5/+19
| | | | | | | | | | | | | | | | | DeviceManagerImpl::MaybeRunDeviceChangesCallback is supposed to wait until there are changes to the set of connected devices before calling the stored callback. A bug introduced in r379393 removed this check which meant that calls to GetDeviceChanges would return immediately. As most callers issue another call to this method when it returns this would lead to an infinite loop. This change adds a test case exercising this case. BUG=None Review URL: https://codereview.chromium.org/1826883002 Cr-Commit-Position: refs/heads/master@{#382924}
* Simplifying Objective-Cjlebel2016-03-234-88/+101
| | | | | | | | | | Simplifying Objective-C. Only using MockCBPeripheral (and removing OCMock). Adding |using base::scoped_nsobject;|. BUG=None Review URL: https://codereview.chromium.org/1758863002 Cr-Commit-Position: refs/heads/master@{#382826}
* Add bluetooth BLE devices as TYPE_BLUETOOTHjosephsih2016-03-231-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a bluetooth low-energy (BLE) keyboard is paired with a keyboard-less chrome os device, e.g., Mickey, on the OOBE screen and a user uses a usb mouse to click the "Continue" button to proceed to login screen, the bluetooth adapter of the device would be powered off which makes the BLE keyboard un-usable. The root cause of the issue is that a BLE device is not registered under the bluetooth/hid subsystems in Linux as a classic bluetooth device is. Instead, a BLE device is registered under the virtual misc/hid subsystems. The OnContinueButtonClicked() in hid_detection_screen.cc regards that there is no bluetooth device used and thus switches off the bluetooth adapter. For more details about an example BLE device in /dev/input/event2: $ udevadm info -a /dev/input/event2 looking at device '/devices/virtual/misc/uhid/0005:0000:0000.0019/input/input26/event2': ... looking at parent device '/devices/virtual/misc/uhid/0005:0000:0000.0019': SUBSYSTEMS=="hid" ... looking at parent device '/devices/virtual/misc/uhid': SUBSYSTEMS=="misc" ... For an example classic bluetooth device in /dev/input/event2: $ udevadm info -a /dev/input/event2 looking at device '/devices/ff180000.serial/tty/ttyS0/hci0/hci0:11:23/0005:04E8:A006.0016/input/input23/event2': ... looking at parent device '/devices/ff180000.serial/tty/ttyS0/hci0/hci0:11:23/0005:04E8:A006.0016': SUBSYSTEMS=="hid" ... looking at parent device '/devices/ff180000.serial/tty/ttyS0/hci0/hci0:11:23': SUBSYSTEMS=="bluetooth" ... This patch adds the additional condition about misc/hid subsystems for BLE when determining bluetooth type. BUG=chrome-os-partner:48868 TEST=Execute the steps below: 1. Boot a keyboard-less chrome os machine, e.g., Mickey, into OOBE. 2. Pair a BLE keyboard, e.g., Microsoft Universal Foldable Keyboard, to the machine. 3. Plug in a usb mouse to click the "Continue" button on OOBE to proceed to login screen. 4. Confirm that the bluetooth adapter is still powered on in the system tray on the bottom right-hand corner and the BLE keyboard works correctly. Review URL: https://codereview.chromium.org/1820803002 Cr-Commit-Position: refs/heads/master@{#382781}
* Add GetUUIDs to device::BluetoothAdapter for BlueZsmbarber2016-03-2214-0/+91
| | | | | | | | | | | | | | Add GetUUIDs to device::BluetoothAdapter so that a client can get the list of services registered on the adapter. This can include standard profiles (e.g. A2DP) or UUIDs associated with listening RFCOMM or L2CAP sockets. BUG=b:26275233 R=rkc@chromium.org, scheib@chromium.org Review URL: https://codereview.chromium.org/1781143002 Cr-Commit-Position: refs/heads/master@{#382641}
* Replace -[IOBluetoothL2CAPChannel getDevice] with -[IOBluetoothL2CAPChannel ↵erikchen2016-03-171-2/+2
| | | | | | | | | | | | | | device]. The former method is deprecated, the latter is not. They have the same functionality. https://developer.apple.com/library/mac/releasenotes/General/MacOSXLionAPIDiffs/IOBluetooth.html BUG=592663 Review URL: https://codereview.chromium.org/1813533002 Cr-Commit-Position: refs/heads/master@{#381618}
* Track USB device configuration state in Blink.reillyg2016-03-1510-16/+12
| | | | | | | | | | | | | | | | | Blink now tracks the currently selected device configuration and can thus provide it as an IDL attribute without a getConfiguration() method which has been removed. This continues the trend of being able to handle errors in Blink before calling methods on the Mojo interface. BUG=593164 R=juncai@chromium.org TBR=dgozman@chromium.org Review URL: https://codereview.chromium.org/1784733002 Cr-Commit-Position: refs/heads/master@{#381288}
* bluetooth: Move StartNotifySession_Multiple adjacent to related tests.scheib2016-03-141-34/+34
| | | | | | | | | | | Improve bluetooth_gatt_characteristic_unittest.cc readability by keeping StartNotifySessions_ tests contiguous. R=ortuno@chromium.org Review URL: https://codereview.chromium.org/1784913004 Cr-Commit-Position: refs/heads/master@{#381109}
* bluetooth: android: Confirm the notify session after the descriptor has been ↵tommyt2016-03-1417-104/+1015
| | | | | | | | | | | | | | | written. This change also implements WriteRemoteDescriptor and ReadRemoteDescriptor. Because of this, I've also added quite a few descriptor unit tests. These tests are pretty much the same as the read/write tests for characteristics. BUG=584369 Review URL: https://codereview.chromium.org/1712593002 Cr-Commit-Position: refs/heads/master@{#381088}
* bluetooth: android: Register JNI for BluetoothRemoteGattDescriptorAndroidscheib2016-03-141-0/+3
| | | | | | | | BUG=566533 Review URL: https://codereview.chromium.org/1793983004 Cr-Commit-Position: refs/heads/master@{#381059}
* Rename web_usb_permission_bubble.cc/h and webusb_permission_bubble.mojomjuncai2016-03-143-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch renamed the following three files: web_usb_permission_bubble.cc/h -> web_usb_chooser_service.cc/h //components/webusb/public/interfaces/webusb_permission_bubble.mojom -> //device/usb/public/interfaces/chooser_service.mojom The previous filenames are misleading and confusing, since the word "bubble" in the original filename is a Chrome UI concept, but these files are not UI related. The new filenames better reflect the responsibilities and roles of these files. By moving //components/webusb/public/interfaces/webusb_permission_bubble.mojom to //device/usb/public/interfaces/chooser_service.mojom, it removes the //components dependency of: //content/renderer/usb/DEPS, the depencency breaks the DEP rule at: //content/renderer/DEPS This patch is a follow-up patch for: https://codereview.chromium.org/1624573004/ The above patch is closed. BUG=492204, 590268 Review URL: https://codereview.chromium.org/1742753002 Cr-Commit-Position: refs/heads/master@{#381004}
* Implementing GATT connection/disconnect on OS X.jlebel2016-03-1417-80/+465
| | | | | | | | BUG=520774 Review URL: https://codereview.chromium.org/1538173003 Cr-Commit-Position: refs/heads/master@{#380951}
* Change scoped_ptr to a type alias for std::unique_ptr for OS_MACOSXdcheng2016-03-121-1/+1
| | | | | | | | | | BUG=554298, 579269 R=danakj@chromium.org TBR=avi@chromium.org,scheib@chromium.org,sdefresne@chromium.org Review URL: https://codereview.chromium.org/1789723006 Cr-Commit-Position: refs/heads/master@{#380861}
* bluetooth: Clarify how StartNotifySession function worksortuno2016-03-111-0/+6
| | | | | | | | | | | And what happens when the device doesn't have the expected descriptor. BUG=591864 Review URL: https://codereview.chromium.org/1758293003 Cr-Commit-Position: refs/heads/master@{#380538}
* Replace template_util.h stuff with C++11 <type_traits>tzik2016-03-101-1/+2
| | | | | | | | BUG=554293 Review URL: https://codereview.chromium.org/1774443002 Cr-Commit-Position: refs/heads/master@{#380369}
* Review comments from https://codereview.chromium.org/1415573014/rkc2016-03-099-78/+74
| | | | | | | | | R=ortuno@chromium.org BUG=None Review URL: https://codereview.chromium.org/1472223002 Cr-Commit-Position: refs/heads/master@{#380229}
* Change scoped_ptr to a type alias for std::unique_ptr on OS_WINdcheng2016-03-081-0/+4
| | | | | | | | | | | | | | This also removes the infinite recursion part of the ReferenceCycle test. While it's nice not to crash like this, [unique.ptr.single.dtor] doesn't actually require ~unique_ptr to reset the stored pointer to nullptr on destruction. Thus, infinite recursion, while not useful, is allowed per the spec. BUG=554298,579269 Review URL: https://codereview.chromium.org/1763983002 Cr-Commit-Position: refs/heads/master@{#379962}
* Remove Mojo bindings environment.Yuzhu Shen2016-03-088-8/+0
| | | | | | | | | BUG=585942 R=ben@chromium.org Review URL: https://codereview.chromium.org/1765243002 . Cr-Commit-Position: refs/heads/master@{#379839}
* Convert the PermissionProvider Mojo interface to plain C++.reillyg2016-03-0414-352/+228
| | | | | | | | | | | | | | This interface allows a separate Mojo service to provide permissions management for a DeviceManager instance. This will be useful if USB device handling is ever moved into a separate process but until then it adds needless complexity to the implementation because access checks are made asynchronous. Make it a normal C++ interface for now. BUG=None Review URL: https://codereview.chromium.org/1742333003 Cr-Commit-Position: refs/heads/master@{#379393}
* Check USB device permissions with a full device::usb::DeviceInfo.reillyg2016-03-041-1/+1
| | | | | | | | | | | | | | | | | | | UsbChooserContext::HasDevicePermission was originally written to take the device GUID. The problem with this is that it means that the device::UsbDevice object has to be looked up based on that GUID and if the device has been disconnected (as happens when trying to fire the navigator.usb.ondisconnect event) then that lookup fails and so the permission check always fails. Thus, no events are delivered. Instead, since WebUsbPermissionProvider has it anyways, HasDevicePermission can take the DeviceInfo object representing the device which has enough information to do a permission check even if the device has been disconnected. BUG=None Review URL: https://codereview.chromium.org/1747543002 Cr-Commit-Position: refs/heads/master@{#379161}
* Implement read & write remote GATT characteristic value for Windowsgogerald2016-03-0311-59/+608
| | | | | | | | | | This CL implements read & write remote GATT characteristic value for Windows and related unit tests. BUG=579202 Review URL: https://codereview.chromium.org/1739383002 Cr-Commit-Position: refs/heads/master@{#379103}
* Convert Pass()→std::move() on Windowsdcheng2016-03-025-23/+29
| | | | | | | | | | | | | Also cleaned up a few stragglers from grepping the source: it's unclear if these are just building with weird defines, don't build at all, only build on obscure platforms, or something else… either way, Pass() itself will be removed shortly after this. BUG=557422 Review URL: https://codereview.chromium.org/1752233002 Cr-Commit-Position: refs/heads/master@{#378872}
* Add missing 'override' to BluetoothRemoteGattDescriptorWin destructor.Daniel Cheng2016-03-021-1/+1
| | | | | | | | | BUG=82385 R=scheib@chromium.org, thakis@chromium.org Review URL: https://codereview.chromium.org/1745273005 . Cr-Commit-Position: refs/heads/master@{#378627}
* Implement BluetoothRemoteGattCharacteristicWin::GetDescriptorsgogerald2016-03-0117-140/+648
| | | | | | | | | | | This CL implements GetDescriptors() in BluetoothRemoteGattCharacteristicWin. It also optimized previous codes by renaming interfaces, data structures and so on. BUG=579202 Review URL: https://codereview.chromium.org/1728163006 Cr-Commit-Position: refs/heads/master@{#378552}
* bluetooth: android: register for adapter on/off events followup.scheib2016-02-261-1/+2
| | | | | | | | | | Followup changes requested by tedchoc on https://codereview.chromium.org/1711393002 BUG=543060 Review URL: https://codereview.chromium.org/1745463002 Cr-Commit-Position: refs/heads/master@{#378022}
* bluetooth: android: register for adapter on/off events.perja2016-02-2610-3/+134
| | | | | | | | | | | Register for BluetoothAdapter.ACTION_STATE_CHANGED and reflect the state changes in the device chooser dialog. BUG=543060 Review URL: https://codereview.chromium.org/1711393002 Cr-Commit-Position: refs/heads/master@{#377982}
* Implement BluetoothRemoteGattServiceWin and related unit testsgogerald2016-02-2619-111/+1107
| | | | | | | | | | This CL implements BluetoothRemoteGattServiceWin and related unit tests. BUG=579202 Review URL: https://codereview.chromium.org/1690133002 Cr-Commit-Position: refs/heads/master@{#377893}
* Ensure libusb_close is called from the FILE thread.reillyg2016-02-261-2/+8
| | | | | | | | | | | | | | If libusb_close is called from the UsbEventHandler thread then it will deadlock trying to reacquire libusb's open_devs_lock. To avoid this and generally ensure that libusb calls happen on the FILE thread this patch posts a task if the UsbDeviceHandleImpl destructor is not already running on the FILE thread. BUG=589592 Review URL: https://codereview.chromium.org/1736703002 Cr-Commit-Position: refs/heads/master@{#377821}
* bluetooth: Check if Object Manager is supported before initializing clients ↵ortuno2016-02-2620-63/+238
| | | | | | | | | | | | | | | | | | | | | | | | on linux Two big changes: 1. On Linux, we check if Object Manager is supported before we try to initialize the DBus clients. This solves the log spamming issue. On Chrome OS we initialize the clients regardless of Object Manager support (we've always done this); we keep the current behavior because by the time BluezDBusManager is initialized Bluez is not ready and it appears as if Bluetooth is not supported 2. BluetoothAdapterBluez::CreateAdapter now takes a callback which runs after we know whether Object Manager is supported or not and BluetoothAdapter is initialized. Because of this change we fix all tests and users that assumed BluetoothAdapterFactory::CreateAdapter was synchronous. Design doc: https://docs.google.com/a/chromium.org/document/d/1xmMV7RsnEM6bejH-fYejAdE7q4BkucutuVFP7WI7mgY/edit?usp=sharing BUG=583637 Review URL: https://codereview.chromium.org/1679983002 Cr-Commit-Position: refs/heads/master@{#377772}
* Rename WeakBindingSet/WeakInterfacePtrSet to BindingSet/InterfacePtrSet.yzshen2016-02-251-2/+2
| | | | | | | | | | | | | | This CL also renames the element type (WeakBinding/WeakInterfacePtr) to Element and hide them in the corresonding *Set class. BUG=None CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/632d319842096e6998d174e2f251865979ce2b72 Cr-Commit-Position: refs/heads/master@{#377384} Review URL: https://codereview.chromium.org/1735583002 Cr-Commit-Position: refs/heads/master@{#377528}
* Revert "Rename WeakBindingSet/WeakInterfacePtrSet to ↵yzshen2016-02-241-2/+2
| | | | | | | | | | | | | | BindingSet/InterfacePtrSet." This reverts commit 632d319842096e6998d174e2f251865979ce2b72. TBR=jam@chromium.org BUG= CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review URL: https://codereview.chromium.org/1734803002 . Cr-Commit-Position: refs/heads/master@{#377393}
* Rename WeakBindingSet/WeakInterfacePtrSet to BindingSet/InterfacePtrSet.yzshen2016-02-241-2/+2
| | | | | | | | | | | This CL also renames the element type (WeakBinding/WeakInterfacePtr) to Element and hide them in the corresonding *Set class. BUG=None CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review URL: https://codereview.chromium.org/1735583002 Cr-Commit-Position: refs/heads/master@{#377384}
* device: Add out-of-line copy ctors for complex classes.vmpstr2016-02-2412-0/+36
| | | | | | | | | | | | | This patch adds out of line copy constructors for classes that our clang-plugin considers heavy. This is an effort to enable copy constructor checks by default. BUG=436357 R=reillyg@chromium.org, dcheng@chromium.org, thakis@chromium.org Review URL: https://codereview.chromium.org/1729843003 Cr-Commit-Position: refs/heads/master@{#377367}
* Determine device type via bluetooth appearance in OOBEjosephsih2016-02-2415-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | In OOBE, the device type is determined exclusively based on the bluetooth class. However, some keyboards do not advertise the bluetooth class. Instead, the bluetooth appearance is advertised. This patch utilizes the bluetooth appearance to determine the device type if the bluetooth class information is missing. Note that this patch only takes effect on keyboard-less devices such as Mickey and Monroe. BUG=578337, 546616 TEST=Execute the steps below: 1. Let a keyboard-less device boot into OOBE. 2. Unfold Microsoft Universal Foldable Keyboard to power it on. 3. Press Func 1 key on the keyboard for a few seconds until its back light begins blinking. 4. Press "OS" key on the top right corner a few times until Android logo lights on. 3. Observe the pairing takes effect and asks the user to type the pin code. (Without this patch, the pairing never takes effect since the particular keyboard is not considered as a keyboard.) Review URL: https://codereview.chromium.org/1656253002 Cr-Commit-Position: refs/heads/master@{#377257}
* Chrome doesn't need to compile on 10.6, cleaning up the codejlebel2016-02-246-54/+30
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/1712183002 Cr-Commit-Position: refs/heads/master@{#377208}
* Add dependency between device_usb and device_usb_mojo_bindings.reillyg2016-02-201-0/+1
| | | | | | | | | | | This missing dependency causes flake in the GYP build. BUG=None R=rockot@chromium.org Review URL: https://codereview.chromium.org/1719493003 Cr-Commit-Position: refs/heads/master@{#376599}
* Revert of Parse USB interface association descriptors. (patchset #3 ↵gab2016-02-144-163/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/1568673002/ ) Reason for revert: http://crbug.com/586824 Makes Chrome hang when using USB devices. Original issue's description: > Parse USB interface association descriptors. > > USB interface association descriptors are used to combine multiple > interfaces into a single functional group. This patch adds support for > parsing them out of the |extra_data| field left by libusb's parsing of > configuration, interface and endpoint descriptors. The resulting > association is then represented by setting the |first_interface| field > of each interface in a function to the |interface_number| of the first > interface in the function. > > WebUSB will use these associations to set permissions for an entire > function with a single descriptor. > TBR=rockot@chromium.org,pfeldman@chromium.org,stevenjb@chromium.org,reillyg@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=492204, 586824 Review URL: https://codereview.chromium.org/1697863003 Cr-Commit-Position: refs/heads/master@{#375392}
* Enable device_unittests on OS X trybots.reillyg2016-02-131-0/+4
| | | | | | | | | | | | | | | The rule I followed here is that anywhere we run extensions_unittests we should probably also be running device_unittests. An additional test guard was required for a Bluetooth test that requires support for Bluetooth Low Energy, which is not available on the swarming bots. BUG=None Review URL: https://codereview.chromium.org/1698523002 Cr-Commit-Position: refs/heads/master@{#375331}
* Destroy DeviceImpl when the underlying UsbDevice is disconnected.reillyg2016-02-138-7/+77
| | | | | | | | | | | | | | | | | | A open message pipe to a DeviceImpl represents a physical resource, the USB device connected to the host. Instead of continuing to support handling messages sent on this pipe after the device is disconnected it makes more sense to simply close it. For efficiency and because DeviceImpls can outlive the DeviceManagerImpl that created them a new observer interface is added to UsbDevice so that the DeviceImpl can listed for the removal of the physical device all on its own. BUG=492204 Review URL: https://codereview.chromium.org/1695643002 Cr-Commit-Position: refs/heads/master@{#375329}
* Parse USB interface association descriptors.reillyg2016-02-134-1/+163
| | | | | | | | | | | | | | | | | | | USB interface association descriptors are used to combine multiple interfaces into a single functional group. This patch adds support for parsing them out of the |extra_data| field left by libusb's parsing of configuration, interface and endpoint descriptors. The resulting association is then represented by setting the |first_interface| field of each interface in a function to the |interface_number| of the first interface in the function. WebUSB will use these associations to set permissions for an entire function with a single descriptor. BUG=492204 Review URL: https://codereview.chromium.org/1568673002 Cr-Commit-Position: refs/heads/master@{#375324}
* Mojo C++ bindings: make Array/Map/String non-null by default.yzshen2016-02-134-6/+6
| | | | | | | | | | | | | | | Array<X> a; // Default construct an empty array. Array<X> b(nullptr); // Construct a null array. a.clear(); // Set to an empty array. a = nullptr; // Set to a null array. BUG=579634 TEST=None Review URL: https://codereview.chromium.org/1693943002 Cr-Commit-Position: refs/heads/master@{#375304}
* Move two files into mojo/public/cpp/bindings.yzshen2016-02-121-1/+1
| | | | | | | | | | | | | They are: - weak_binding_set.h - weak_interface_ptr_set.h BUG=None CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review URL: https://codereview.chromium.org/1692783002 Cr-Commit-Position: refs/heads/master@{#375180}
* Construct USB descriptors over explicit values.reillyg2016-02-129-118/+111
| | | | | | | | | | | | Instead of specifying a bunch of arbitrary defaults and then updating them in the code building the structure. This makes them friendly to use with C++11's emplace_back() method. BUG=None Review URL: https://codereview.chromium.org/1468423003 Cr-Commit-Position: refs/heads/master@{#375081}
* Improve Bluetooth name in ChromeOS.xdai2016-02-121-0/+7
| | | | | | | | BUG=577486 Review URL: https://codereview.chromium.org/1680293002 Cr-Commit-Position: refs/heads/master@{#375063}
* usb: Make sure remaining interfaces are released on the right thread.reillyg2016-02-111-4/+10
| | | | | | | | | | | | | | When a USB device handle is closed any remaining claimed interfaces are automatically released. This function needs the same thread hopping logic used in ReleaseInterface to make sure that if there are no other references to the InterfaceClaimer object (such as ones held by pending transfers) it is released on the blocking thread. BUG=None Review URL: https://codereview.chromium.org/1695513002 Cr-Commit-Position: refs/heads/master@{#375019}