| 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 17f31d72d9b14fccc3086ae2ffdc22f63704d1ed..3a4c2e6deaaea80cefb7de2d8b300eaac40774b4 100644 | 
| --- a/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc | 
| +++ b/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc | 
| @@ -37,7 +37,7 @@ ExtensionBluetoothEventRouter::ExtensionBluetoothEventRouter(Profile* profile) | 
| } | 
|  | 
| ExtensionBluetoothEventRouter::~ExtensionBluetoothEventRouter() { | 
| -  if (adapter_) { | 
| +  if (adapter_.get()) { | 
| adapter_->RemoveObserver(this); | 
| adapter_ = NULL; | 
| } | 
| @@ -53,13 +53,13 @@ ExtensionBluetoothEventRouter::~ExtensionBluetoothEventRouter() { | 
| } | 
|  | 
| bool ExtensionBluetoothEventRouter::IsBluetoothSupported() const { | 
| -  return adapter_ || | 
| +  return adapter_.get() || | 
| device::BluetoothAdapterFactory::IsBluetoothAdapterAvailable(); | 
| } | 
|  | 
| void ExtensionBluetoothEventRouter::GetAdapter( | 
| const device::BluetoothAdapterFactory::AdapterCallback& callback) { | 
| -  if (adapter_) { | 
| +  if (adapter_.get()) { | 
| callback.Run(scoped_refptr<device::BluetoothAdapter>(adapter_)); | 
| return; | 
| } | 
| @@ -191,7 +191,7 @@ void ExtensionBluetoothEventRouter::DispatchConnectionEvent( | 
|  | 
| void ExtensionBluetoothEventRouter::AdapterPresentChanged( | 
| device::BluetoothAdapter* adapter, bool present) { | 
| -  if (adapter != adapter_) { | 
| +  if (adapter != adapter_.get()) { | 
| DVLOG(1) << "Ignoring event for adapter " << adapter->GetAddress(); | 
| return; | 
| } | 
| @@ -200,7 +200,7 @@ void ExtensionBluetoothEventRouter::AdapterPresentChanged( | 
|  | 
| void ExtensionBluetoothEventRouter::AdapterPoweredChanged( | 
| device::BluetoothAdapter* adapter, bool has_power) { | 
| -  if (adapter != adapter_) { | 
| +  if (adapter != adapter_.get()) { | 
| DVLOG(1) << "Ignoring event for adapter " << adapter->GetAddress(); | 
| return; | 
| } | 
| @@ -209,7 +209,7 @@ void ExtensionBluetoothEventRouter::AdapterPoweredChanged( | 
|  | 
| void ExtensionBluetoothEventRouter::AdapterDiscoveringChanged( | 
| device::BluetoothAdapter* adapter, bool discovering) { | 
| -  if (adapter != adapter_) { | 
| +  if (adapter != adapter_.get()) { | 
| DVLOG(1) << "Ignoring event for adapter " << adapter->GetAddress(); | 
| return; | 
| } | 
| @@ -226,7 +226,7 @@ void ExtensionBluetoothEventRouter::AdapterDiscoveringChanged( | 
| void ExtensionBluetoothEventRouter::DeviceAdded( | 
| device::BluetoothAdapter* adapter, | 
| device::BluetoothDevice* device) { | 
| -  if (adapter != adapter_) { | 
| +  if (adapter != adapter_.get()) { | 
| DVLOG(1) << "Ignoring event for adapter " << adapter->GetAddress(); | 
| return; | 
| } | 
| @@ -245,7 +245,7 @@ void ExtensionBluetoothEventRouter::DeviceAdded( | 
| } | 
|  | 
| void ExtensionBluetoothEventRouter::InitializeAdapterIfNeeded() { | 
| -  if (!adapter_) { | 
| +  if (!adapter_.get()) { | 
| GetAdapter(base::Bind(&ExtensionBluetoothEventRouter::InitializeAdapter, | 
| weak_ptr_factory_.GetWeakPtr())); | 
| } | 
| @@ -253,14 +253,14 @@ void ExtensionBluetoothEventRouter::InitializeAdapterIfNeeded() { | 
|  | 
| void ExtensionBluetoothEventRouter::InitializeAdapter( | 
| scoped_refptr<device::BluetoothAdapter> adapter) { | 
| -  if (!adapter_) { | 
| +  if (!adapter_.get()) { | 
| adapter_ = adapter; | 
| adapter_->AddObserver(this); | 
| } | 
| } | 
|  | 
| void ExtensionBluetoothEventRouter::MaybeReleaseAdapter() { | 
| -  if (adapter_ && num_event_listeners_ == 0) { | 
| +  if (adapter_.get() && num_event_listeners_ == 0) { | 
| adapter_->RemoveObserver(this); | 
| adapter_ = NULL; | 
| } | 
| @@ -268,7 +268,7 @@ void ExtensionBluetoothEventRouter::MaybeReleaseAdapter() { | 
|  | 
| void ExtensionBluetoothEventRouter::DispatchAdapterStateEvent() { | 
| api::bluetooth::AdapterState state; | 
| -  PopulateAdapterState(*adapter_, &state); | 
| +  PopulateAdapterState(*adapter_.get(), &state); | 
|  | 
| scoped_ptr<ListValue> args(new ListValue()); | 
| args->Append(state.ToValue().release()); | 
|  |