Index: extensions/browser/api/bluetooth/bluetooth_event_router.cc |
diff --git a/extensions/browser/api/bluetooth/bluetooth_event_router.cc b/extensions/browser/api/bluetooth/bluetooth_event_router.cc |
index 5524f5abd96d2a4b19a223dc8436e0fd07893375..a105e8cd11818fc362b59122cf054936d35f4ede 100644 |
--- a/extensions/browser/api/bluetooth/bluetooth_event_router.cc |
+++ b/extensions/browser/api/bluetooth/bluetooth_event_router.cc |
@@ -329,8 +329,11 @@ void BluetoothEventRouter::AdapterDiscoveringChanged( |
DispatchAdapterStateEvent(); |
// Release the adapter after dispatching the event. |
- if (!discovering) |
- MaybeReleaseAdapter(); |
+ if (!discovering) { |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, base::Bind(&BluetoothEventRouter::MaybeReleaseAdapter, |
+ weak_ptr_factory_.GetWeakPtr())); |
+ } |
} |
void BluetoothEventRouter::DeviceAdded(device::BluetoothAdapter* adapter, |