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

Unified Diff: content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc

Issue 1697873002: bluetooth: Test Web Bluetooth getCharacteristic calls against blacklist. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bt-blacklist-integration-
Patch Set: move glucose UUID in code as well Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
index 91ca04410941e8927ea12f1bc9e737ad52d023cd..d2a989910cbbebfc345b356008e1c06a0a3ef296 100644
--- a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
+++ b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
@@ -59,16 +59,20 @@ typedef testing::NiceMock<MockBluetoothGattNotifySession>
NiceMockBluetoothGattNotifySession;
namespace {
-// Bluetooth UUIDs suitable to pass to BluetoothUUID().
+// Bluetooth UUIDs suitable to pass to BluetoothUUID():
+// Services:
const char kBatteryServiceUUID[] = "180f";
+const char kDeviceInformationServiceUUID[] = "180a";
const char kGenericAccessServiceUUID[] = "1800";
const char kGlucoseServiceUUID[] = "1808";
const char kHeartRateServiceUUID[] = "180d";
const char kHumanInterfaceDeviceServiceUUID[] = "1812";
const char kTxPowerServiceUUID[] = "1804";
-const char kHeartRateMeasurementUUID[] = "2a37";
+// Characteristics:
const char kBodySensorLocation[] = "2a38";
const char kDeviceNameUUID[] = "2a00";
+const char kHeartRateMeasurementUUID[] = "2a37";
+const char kSerialNumberStringUUID[] = "2a25";
const int kDefaultTxPower = -10; // TxPower of a device broadcasting at 0.1mW.
const int kDefaultRssi = -51; // RSSI at 1m from a device broadcasting at
@@ -480,7 +484,7 @@ LayoutTestBluetoothAdapterProvider::GetHeartRateAdapter() {
// TODO(ortuno): Implement the rest of the service's characteristics
// See: http://crbug.com/529975
- device->AddMockService(GetGenericAccessService(adapter.get(), device.get()));
+ device->AddMockService(GetGenericAccessService(device.get()));
device->AddMockService(GetHeartRateService(adapter.get(), device.get()));
adapter->AddMockDevice(std::move(device));
@@ -493,6 +497,7 @@ LayoutTestBluetoothAdapterProvider::GetHeartRateAndHIDAdapter() {
scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter());
BluetoothDevice::UUIDList uuids;
+ uuids.push_back(BluetoothUUID(kDeviceInformationServiceUUID));
uuids.push_back(BluetoothUUID(kGenericAccessServiceUUID));
uuids.push_back(BluetoothUUID(kHeartRateServiceUUID));
uuids.push_back(BluetoothUUID(kHumanInterfaceDeviceServiceUUID));
@@ -500,7 +505,8 @@ LayoutTestBluetoothAdapterProvider::GetHeartRateAndHIDAdapter() {
scoped_ptr<NiceMockBluetoothDevice> device(
GetConnectableDevice(adapter.get(), "Heart Rate And HID Device", uuids));
- device->AddMockService(GetGenericAccessService(adapter.get(), device.get()));
+ device->AddMockService(GetDeviceInformationService(device.get()));
+ device->AddMockService(GetGenericAccessService(device.get()));
device->AddMockService(GetHeartRateService(adapter.get(), device.get()));
device->AddMockService(
GetBaseGATTService(device.get(), kHumanInterfaceDeviceServiceUUID));
@@ -620,8 +626,8 @@ LayoutTestBluetoothAdapterProvider::GetGlucoseDevice(
MockBluetoothAdapter* adapter) {
BluetoothDevice::UUIDList uuids;
uuids.push_back(BluetoothUUID(kGenericAccessServiceUUID));
- uuids.push_back(BluetoothUUID(kTxPowerServiceUUID));
uuids.push_back(BluetoothUUID(kGlucoseServiceUUID));
+ uuids.push_back(BluetoothUUID(kTxPowerServiceUUID));
return GetBaseDevice(adapter, "Glucose Device", uuids, makeMACAddress(0x2));
}
@@ -705,9 +711,35 @@ LayoutTestBluetoothAdapterProvider::GetBaseGATTService(
// static
scoped_ptr<NiceMockBluetoothGattService>
+LayoutTestBluetoothAdapterProvider::GetDeviceInformationService(
+ device::MockBluetoothDevice* device) {
+ scoped_ptr<NiceMockBluetoothGattService> device_information(
+ GetBaseGATTService(device, kDeviceInformationServiceUUID));
+
+ scoped_ptr<NiceMockBluetoothGattCharacteristic> serial_number_string(
+ GetBaseGATTCharacteristic(device_information.get(),
+ kSerialNumberStringUUID,
+ BluetoothGattCharacteristic::PROPERTY_READ));
+
+ // Crash if ReadRemoteCharacteristic called. Not using GoogleMock's Expect
+ // because this is used in layout tests that may not report a mock expectation
+ // error correctly as a layout test failure.
+ ON_CALL(*serial_number_string, ReadRemoteCharacteristic(_, _))
+ .WillByDefault(
+ Invoke([](const BluetoothGattCharacteristic::ValueCallback&,
+ const BluetoothGattCharacteristic::ErrorCallback&) {
+ NOTREACHED();
+ }));
+
+ device_information->AddMockCharacteristic(std::move(serial_number_string));
+
+ return device_information;
+}
+
+// static
+scoped_ptr<NiceMockBluetoothGattService>
LayoutTestBluetoothAdapterProvider::GetGenericAccessService(
- MockBluetoothAdapter* adapter,
- MockBluetoothDevice* device) {
+ device::MockBluetoothDevice* device) {
scoped_ptr<NiceMockBluetoothGattService> generic_access(
GetBaseGATTService(device, kGenericAccessServiceUUID));

Powered by Google App Engine
This is Rietveld 408576698