| Index: device/bluetooth/bluetooth_discovery_session.cc
|
| diff --git a/device/bluetooth/bluetooth_discovery_session.cc b/device/bluetooth/bluetooth_discovery_session.cc
|
| index e07df34dd28eb102c4e0c9a8098584e331c11c7e..6818a3c6a4fc4a335efeda3bd53329c0c3fe6b8b 100644
|
| --- a/device/bluetooth/bluetooth_discovery_session.cc
|
| +++ b/device/bluetooth/bluetooth_discovery_session.cc
|
| @@ -9,13 +9,21 @@
|
|
|
| namespace device {
|
|
|
| -BluetoothDiscoverySession::BluetoothDiscoverySession(BluetoothAdapter* adapter)
|
| - : active_(true),
|
| - adapter_(adapter),
|
| - weak_ptr_factory_(this) {
|
| +BluetoothDiscoverySession::BluetoothDiscoverySession(
|
| + scoped_refptr<BluetoothAdapter> adapter)
|
| + : active_(true), adapter_(adapter), weak_ptr_factory_(this) {
|
| + DCHECK(adapter_.get());
|
| }
|
|
|
| +BluetoothDiscoverySession::BluetoothDiscoverySession()
|
| + : active_(false), weak_ptr_factory_(this) {}
|
| +
|
| BluetoothDiscoverySession::~BluetoothDiscoverySession() {
|
| + // |adapter_| may be NULL if this instance was initialized as a mock.
|
| + if (!adapter_.get()) {
|
| + DCHECK(!active_);
|
| + return;
|
| + }
|
| Stop(base::Bind(&base::DoNothing), base::Bind(&base::DoNothing));
|
| adapter_->DiscoverySessionDestroyed(this);
|
| }
|
| @@ -28,11 +36,12 @@ void BluetoothDiscoverySession::Stop(
|
| const base::Closure& callback,
|
| const ErrorCallback& error_callback) {
|
| if (!active_) {
|
| - LOG(ERROR) << "Discovery session not active. Cannot stop.";
|
| + LOG(WARNING) << "Discovery session not active. Cannot stop.";
|
| error_callback.Run();
|
| return;
|
| }
|
| VLOG(1) << "Stopping device discovery session.";
|
| + DCHECK(adapter_.get());
|
| adapter_->RemoveDiscoverySession(
|
| base::Bind(&BluetoothDiscoverySession::OnStop,
|
| weak_ptr_factory_.GetWeakPtr(),
|
|
|