New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 719813 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Feature

Blocking:
issue 569709



Sign in to add a comment

bluetooth: Implement known_service_uuids for preconnected devices.

Project Member Reported by ortuno@chromium.org, May 9 2017

Issue description

Platforms expose methods to retrieve devices that have connected outside the user agent and their UUIDs:

Android: BluetoothManager#getConnectedDevices[1] and getUuids()[2]
macOS: CBCentralManager:retrieveConnectedPeripheralsWithServices:[3]
Windows: DeviceInformation::FindAllAsync[4] with GattDeviceService::GetDeviceSelectorFromUuid()[5]

We need to allow tests to provide known_service_uuids that would cause the returned devices from the platform functions to change.

[1] https://developer.android.com/reference/android/bluetooth/BluetoothManager.html#getConnectedDevices(int)
[2] https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids()
[3] https://developer.apple.com/reference/corebluetooth/cbcentralmanager/1518924-retrieveconnectedperipheralswith?language=objc
[4] https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformation#Windows_Devices_Enumeration_DeviceInformation_FindAllAsync_System_String_
[5] https://docs.microsoft.com/en-us/uwp/api/windows.devices.bluetooth.genericattributeprofile.gattdeviceservice#Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService_GetDeviceSelectorFromUuid_System_Guid_
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/46a4de44f2d04ac212c55fbc08fe17fd2da63845

commit 46a4de44f2d04ac212c55fbc08fe17fd2da63845
Author: ortuno <ortuno@chromium.org>
Date: Fri May 12 02:54:16 2017

bluetooth: Implement known_service_uuids for Peripherals.

Platforms expose methods to retrieve devices that have connected outside the
user agent and their UUIDs:

Android: BluetoothManager#getConnectedDevices[1] and getUuids()[2]
macOS: CBCentralManager:retrieveConnectedPeripheralsWithServices:[3]
Windows: DeviceInformation::FindAllAsync[4] with GattDeviceService::GetDeviceSelectorFromUuid()[5]

Allows tests to provide known_service_uuids that would cause the returned
devices from the platform functions to change.

[1] https://developer.android.com/reference/android/bluetooth/BluetoothManager.html#getConnectedDevices(int)
[2] https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids()
[3] https://developer.apple.com/reference/corebluetooth/cbcentralmanager/1518924-retrieveconnectedperipheralswith?language=objc
[4] https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformation#Windows_Devices_Enumeration_DeviceInformation_FindAllAsync_System_String_
[5] https://docs.microsoft.com/en-us/uwp/api/windows.devices.bluetooth.genericattributeprofile.gattdeviceservice#Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService_GetDeviceSelectorFromUuid_System_Guid_

BUG= 719813 

Review-Url: https://codereview.chromium.org/2867713008
Cr-Commit-Position: refs/heads/master@{#471197}

[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/device/bluetooth/public/interfaces/BUILD.gn
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/device/bluetooth/public/interfaces/test/fake_bluetooth.mojom
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/device/bluetooth/test/fake_central.cc
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/device/bluetooth/test/fake_central.h
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/device/bluetooth/test/fake_peripheral.cc
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/device/bluetooth/test/fake_peripheral.h
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/idl/idl-BluetoothDevice.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/requestDevice/blocklisted-service-in-filter.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/requestDevice/consumes-user-gesture.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/requestDevice/not-processing-user-gesture.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/requestDevice/request-from-iframe.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/requestDevice/same-device.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/bluetooth/requestDevice/single-filter-single-service.html
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/resources/bluetooth/bluetooth-helpers.js
[modify] https://crrev.com/46a4de44f2d04ac212c55fbc08fe17fd2da63845/third_party/WebKit/LayoutTests/resources/bluetooth/web-bluetooth-test.js

Status: Fixed (was: Assigned)

Sign in to add a comment