Chromium Code Reviews| Index: chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
| diff --git a/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc b/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
| index bb0a492dc8c6b3c3fa4e9257786b90d981571394..1853b04f6951a7e3f30a3981f8e15d91a23ba5d1 100644 |
| --- a/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
| +++ b/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
| @@ -41,12 +41,9 @@ ExtensionBluetoothEventRouter::~ExtensionBluetoothEventRouter() { |
| } |
| } |
| -scoped_refptr<device::BluetoothAdapter> |
| -ExtensionBluetoothEventRouter::GetAdapter() { |
| - if (adapter_) |
| - return adapter_; |
| - |
| - return device::BluetoothAdapterFactory::DefaultAdapter(); |
| +void ExtensionBluetoothEventRouter::RunCallbackOnAdapterReady( |
| + const device::BluetoothAdapterFactory::AdapterCallback& callback) { |
| + device::BluetoothAdapterFactory::RunCallbackOnAdapterReady(callback); |
|
bryeung
2013/01/08 22:24:27
Since this is just a pass-through method now...why
youngki
2013/01/09 15:12:03
We could.. But then we cannot mock the bluetooth a
bryeung
2013/01/09 15:28:01
Okay.
|
| } |
| void ExtensionBluetoothEventRouter::OnListenerAdded() { |
| @@ -178,11 +175,19 @@ void ExtensionBluetoothEventRouter::DeviceAdded( |
| void ExtensionBluetoothEventRouter::InitializeAdapterIfNeeded() { |
| if (!adapter_) { |
| - adapter_ = GetAdapter(); |
| - adapter_->AddObserver(this); |
| + RunCallbackOnAdapterReady( |
| + base::Bind(&ExtensionBluetoothEventRouter::InitializeAdapter, |
| + base::Unretained(this))); |
| } |
| } |
| +bool ExtensionBluetoothEventRouter::InitializeAdapter( |
| + scoped_refptr<device::BluetoothAdapter> adapter) { |
| + adapter_ = adapter; |
| + adapter_->AddObserver(this); |
| + return true; |
| +} |
| + |
| void ExtensionBluetoothEventRouter::MaybeReleaseAdapter() { |
| if (adapter_ && num_event_listeners_ == 0) { |
| adapter_->RemoveObserver(this); |