| Index: chrome/browser/extensions/bluetooth_event_router.cc
|
| diff --git a/chrome/browser/extensions/bluetooth_event_router.cc b/chrome/browser/extensions/bluetooth_event_router.cc
|
| index d38db9e8b925a6438b7a199889ee2f576b1ea5dc..b969e8b46eadd12fe0bfdd4433a25f6993ce7562 100644
|
| --- a/chrome/browser/extensions/bluetooth_event_router.cc
|
| +++ b/chrome/browser/extensions/bluetooth_event_router.cc
|
| @@ -27,10 +27,20 @@ ExtensionBluetoothEventRouter::ExtensionBluetoothEventRouter(Profile* profile)
|
| responsible_for_discovery_(false),
|
| profile_(profile),
|
| adapter_(device::BluetoothAdapterFactory::DefaultAdapter()),
|
| + observing_(false),
|
| + next_socket_id_(1) {
|
| + DCHECK(profile_);
|
| +}
|
| +
|
| +ExtensionBluetoothEventRouter::ExtensionBluetoothEventRouter(
|
| + Profile* profile, device::BluetoothAdapter* adapter)
|
| + : send_discovery_events_(false),
|
| + responsible_for_discovery_(false),
|
| + profile_(profile),
|
| + adapter_(adapter),
|
| + observing_(false),
|
| next_socket_id_(1) {
|
| DCHECK(profile_);
|
| - if (adapter_.get())
|
| - adapter_->AddObserver(this);
|
| }
|
|
|
| ExtensionBluetoothEventRouter::~ExtensionBluetoothEventRouter() {
|
| @@ -62,6 +72,22 @@ bool ExtensionBluetoothEventRouter::ReleaseSocket(int id) {
|
| return true;
|
| }
|
|
|
| +bool ExtensionBluetoothEventRouter::IsBluetoothEvent(
|
| + const std::string& event_name) {
|
| + return
|
| + event_name == extensions::event_names::kBluetoothOnAvailabilityChanged ||
|
| + event_name == extensions::event_names::kBluetoothOnDiscoveringChanged ||
|
| + event_name == extensions::event_names::kBluetoothOnPowerChanged;
|
| +}
|
| +
|
| +void ExtensionBluetoothEventRouter::OnEventListenerAdded(
|
| + const std::string& event_name) {
|
| + if (!observing_ && IsBluetoothEvent(event_name) && adapter_.get()) {
|
| + adapter_->AddObserver(this);
|
| + observing_ = true;
|
| + }
|
| +}
|
| +
|
| scoped_refptr<device::BluetoothSocket>
|
| ExtensionBluetoothEventRouter::GetSocket(int id) {
|
| SocketMap::iterator socket_entry = socket_map_.find(id);
|
|
|