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

Side by Side Diff: content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc

Issue 1353053002: Handle RESCAN events from the Bluetooth chooser by starting or extending a discovery session. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkcr
Patch Set: Revert removal of mock {Add,Remove}Observer. Created 5 years, 3 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provid er.h" 5 #include "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provid er.h"
6 6
7 #include "base/bind.h"
8 #include "base/bind_helpers.h"
7 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/location.h"
8 #include "base/strings/stringprintf.h" 11 #include "base/strings/stringprintf.h"
12 #include "base/thread_task_runner_handle.h"
9 #include "device/bluetooth/bluetooth_adapter.h" 13 #include "device/bluetooth/bluetooth_adapter.h"
10 #include "device/bluetooth/bluetooth_device.h" 14 #include "device/bluetooth/bluetooth_device.h"
11 #include "device/bluetooth/bluetooth_discovery_session.h" 15 #include "device/bluetooth/bluetooth_discovery_session.h"
12 #include "device/bluetooth/bluetooth_uuid.h" 16 #include "device/bluetooth/bluetooth_uuid.h"
13 #include "device/bluetooth/test/mock_bluetooth_adapter.h" 17 #include "device/bluetooth/test/mock_bluetooth_adapter.h"
14 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h" 18 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h"
15 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" 19 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h"
16 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
17 21
18 using device::BluetoothAdapter; 22 using device::BluetoothAdapter;
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 else if (fake_adapter_name == "MissingServiceGenericAccessAdapter") 119 else if (fake_adapter_name == "MissingServiceGenericAccessAdapter")
116 return GetMissingServiceGenericAccessAdapter(); 120 return GetMissingServiceGenericAccessAdapter();
117 else if (fake_adapter_name == "MissingCharacteristicGenericAccessAdapter") 121 else if (fake_adapter_name == "MissingCharacteristicGenericAccessAdapter")
118 return GetMissingCharacteristicGenericAccessAdapter(); 122 return GetMissingCharacteristicGenericAccessAdapter();
119 else if (fake_adapter_name == "GenericAccessAdapter") 123 else if (fake_adapter_name == "GenericAccessAdapter")
120 return GetGenericAccessAdapter(); 124 return GetGenericAccessAdapter();
121 else if (fake_adapter_name == "FailingConnectionsAdapter") 125 else if (fake_adapter_name == "FailingConnectionsAdapter")
122 return GetFailingConnectionsAdapter(); 126 return GetFailingConnectionsAdapter();
123 else if (fake_adapter_name == "FailingGATTOperationsAdapter") 127 else if (fake_adapter_name == "FailingGATTOperationsAdapter")
124 return GetFailingGATTOperationsAdapter(); 128 return GetFailingGATTOperationsAdapter();
129 else if (fake_adapter_name == "SecondDiscoveryFindsHeartRateAdapter")
130 return GetSecondDiscoveryFindsHeartRateAdapter();
125 else if (fake_adapter_name == "") 131 else if (fake_adapter_name == "")
126 return NULL; 132 return NULL;
127 133
128 NOTREACHED() << fake_adapter_name; 134 NOTREACHED() << fake_adapter_name;
129 return NULL; 135 return NULL;
130 } 136 }
131 137
132 // Adapters 138 // Adapters
133 139
134 // static 140 // static
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 scoped_refptr<NiceMockBluetoothAdapter> 247 scoped_refptr<NiceMockBluetoothAdapter>
242 LayoutTestBluetoothAdapterProvider::GetGlucoseHeartRateAdapter() { 248 LayoutTestBluetoothAdapterProvider::GetGlucoseHeartRateAdapter() {
243 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); 249 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter());
244 250
245 adapter->AddMockDevice(GetHeartRateDevice(adapter.get())); 251 adapter->AddMockDevice(GetHeartRateDevice(adapter.get()));
246 adapter->AddMockDevice(GetGlucoseDevice(adapter.get())); 252 adapter->AddMockDevice(GetGlucoseDevice(adapter.get()));
247 253
248 return adapter.Pass(); 254 return adapter.Pass();
249 } 255 }
250 256
257 static void AddDevice(scoped_refptr<NiceMockBluetoothAdapter> adapter,
scheib 2015/09/23 03:35:00 This is hard enough to trace code flow to warrant
Jeffrey Yasskin 2015/09/23 19:32:05 Done.
258 scoped_ptr<NiceMockBluetoothDevice> new_device) {
259 NiceMockBluetoothDevice* new_device_ptr = new_device.get();
260 adapter->AddMockDevice(new_device.Pass());
261 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, adapter->GetObservers(),
262 DeviceAdded(adapter.get(), new_device_ptr));
263 }
264
265 // static
266 scoped_refptr<NiceMockBluetoothAdapter>
267 LayoutTestBluetoothAdapterProvider::GetSecondDiscoveryFindsHeartRateAdapter() {
268 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetPoweredAdapter());
269 NiceMockBluetoothAdapter* adapter_ptr = adapter.get();
270
271 EXPECT_CALL(*adapter, StartDiscoverySessionWithFilterRaw(_, _, _))
272 .WillOnce(RunCallbackWithResult<1 /* success_callback */>(
273 []() { return GetDiscoverySession(); }))
274 .WillOnce(
275 RunCallbackWithResult<1 /* success_callback */>([adapter_ptr]() {
276 base::ThreadTaskRunnerHandle::Get()->PostTask(
277 FROM_HERE,
278 base::Bind(&AddDevice, make_scoped_refptr(adapter_ptr),
279
280 base::Passed(GetHeartRateDevice(adapter_ptr))));
281 return GetDiscoverySession();
282 }));
283
284 return adapter;
285 }
286
251 // static 287 // static
252 scoped_refptr<NiceMockBluetoothAdapter> 288 scoped_refptr<NiceMockBluetoothAdapter>
253 LayoutTestBluetoothAdapterProvider::GetMissingServiceGenericAccessAdapter() { 289 LayoutTestBluetoothAdapterProvider::GetMissingServiceGenericAccessAdapter() {
254 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); 290 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter());
255 291
256 adapter->AddMockDevice(GetGenericAccessDevice(adapter.get())); 292 adapter->AddMockDevice(GetGenericAccessDevice(adapter.get()));
257 293
258 return adapter.Pass(); 294 return adapter.Pass();
259 } 295 }
260 296
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return base::StringPrintf("%08x-97e5-4cd7-b9f1-f5a427670c59", alias); 587 return base::StringPrintf("%08x-97e5-4cd7-b9f1-f5a427670c59", alias);
552 } 588 }
553 589
554 // static 590 // static
555 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) { 591 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) {
556 return BluetoothDevice::CanonicalizeAddress( 592 return BluetoothDevice::CanonicalizeAddress(
557 base::StringPrintf("%012" PRIx64, addr)); 593 base::StringPrintf("%012" PRIx64, addr));
558 } 594 }
559 595
560 } // namespace content 596 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698