OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/browser/api/bluetooth/bluetooth_api.h" | 5 #include "extensions/browser/api/bluetooth/bluetooth_api.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
11 #include "base/bind_helpers.h" | 11 #include "base/bind_helpers.h" |
12 #include "base/lazy_instance.h" | 12 #include "base/lazy_instance.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 14 #include "components/device_event_log/device_event_log.h" |
14 #include "content/public/browser/browser_thread.h" | 15 #include "content/public/browser/browser_thread.h" |
15 #include "device/bluetooth/bluetooth_adapter.h" | 16 #include "device/bluetooth/bluetooth_adapter.h" |
16 #include "device/bluetooth/bluetooth_device.h" | 17 #include "device/bluetooth/bluetooth_device.h" |
17 #include "extensions/browser/api/bluetooth/bluetooth_api_utils.h" | 18 #include "extensions/browser/api/bluetooth/bluetooth_api_utils.h" |
18 #include "extensions/browser/api/bluetooth/bluetooth_event_router.h" | 19 #include "extensions/browser/api/bluetooth/bluetooth_event_router.h" |
19 #include "extensions/browser/event_router.h" | 20 #include "extensions/browser/event_router.h" |
20 #include "extensions/common/api/bluetooth.h" | 21 #include "extensions/common/api/bluetooth.h" |
21 | 22 |
22 using content::BrowserContext; | 23 using content::BrowserContext; |
23 using content::BrowserThread; | 24 using content::BrowserThread; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 | 58 |
58 // static | 59 // static |
59 BluetoothAPI* BluetoothAPI::Get(BrowserContext* context) { | 60 BluetoothAPI* BluetoothAPI::Get(BrowserContext* context) { |
60 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 61 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
61 return GetFactoryInstance()->Get(context); | 62 return GetFactoryInstance()->Get(context); |
62 } | 63 } |
63 | 64 |
64 BluetoothAPI::BluetoothAPI(content::BrowserContext* context) | 65 BluetoothAPI::BluetoothAPI(content::BrowserContext* context) |
65 : browser_context_(context) { | 66 : browser_context_(context) { |
66 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 67 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 68 BLUETOOTH_LOG(EVENT) << "BluetoothAPI: " << browser_context_; |
67 EventRouter* event_router = EventRouter::Get(browser_context_); | 69 EventRouter* event_router = EventRouter::Get(browser_context_); |
68 event_router->RegisterObserver(this, | 70 event_router->RegisterObserver(this, |
69 bluetooth::OnAdapterStateChanged::kEventName); | 71 bluetooth::OnAdapterStateChanged::kEventName); |
70 event_router->RegisterObserver(this, bluetooth::OnDeviceAdded::kEventName); | 72 event_router->RegisterObserver(this, bluetooth::OnDeviceAdded::kEventName); |
71 event_router->RegisterObserver(this, bluetooth::OnDeviceChanged::kEventName); | 73 event_router->RegisterObserver(this, bluetooth::OnDeviceChanged::kEventName); |
72 event_router->RegisterObserver(this, bluetooth::OnDeviceRemoved::kEventName); | 74 event_router->RegisterObserver(this, bluetooth::OnDeviceRemoved::kEventName); |
73 } | 75 } |
74 | 76 |
75 BluetoothAPI::~BluetoothAPI() {} | 77 BluetoothAPI::~BluetoothAPI() { |
| 78 BLUETOOTH_LOG(EVENT) << "~BluetoothAPI: " << browser_context_; |
| 79 } |
76 | 80 |
77 BluetoothEventRouter* BluetoothAPI::event_router() { | 81 BluetoothEventRouter* BluetoothAPI::event_router() { |
78 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 82 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
79 if (!event_router_) { | 83 if (!event_router_) { |
| 84 BLUETOOTH_LOG(EVENT) << "BluetoothAPI: Creating BluetoothEventRouter"; |
80 event_router_.reset(new BluetoothEventRouter(browser_context_)); | 85 event_router_.reset(new BluetoothEventRouter(browser_context_)); |
81 } | 86 } |
82 return event_router_.get(); | 87 return event_router_.get(); |
83 } | 88 } |
84 | 89 |
85 void BluetoothAPI::Shutdown() { | 90 void BluetoothAPI::Shutdown() { |
86 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 91 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 92 BLUETOOTH_LOG(EVENT) << "BluetoothAPI: Shutdown"; |
87 EventRouter::Get(browser_context_)->UnregisterObserver(this); | 93 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
88 } | 94 } |
89 | 95 |
90 void BluetoothAPI::OnListenerAdded(const EventListenerInfo& details) { | 96 void BluetoothAPI::OnListenerAdded(const EventListenerInfo& details) { |
91 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 97 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
92 if (event_router()->IsBluetoothSupported()) | 98 if (event_router()->IsBluetoothSupported()) |
93 event_router()->OnListenerAdded(); | 99 event_router()->OnListenerAdded(details); |
94 } | 100 } |
95 | 101 |
96 void BluetoothAPI::OnListenerRemoved(const EventListenerInfo& details) { | 102 void BluetoothAPI::OnListenerRemoved(const EventListenerInfo& details) { |
97 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 103 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
98 if (event_router()->IsBluetoothSupported()) | 104 if (event_router()->IsBluetoothSupported()) |
99 event_router()->OnListenerRemoved(); | 105 event_router()->OnListenerRemoved(details); |
100 } | 106 } |
101 | 107 |
102 namespace api { | 108 namespace api { |
103 | 109 |
104 BluetoothGetAdapterStateFunction::~BluetoothGetAdapterStateFunction() {} | 110 BluetoothGetAdapterStateFunction::~BluetoothGetAdapterStateFunction() {} |
105 | 111 |
106 bool BluetoothGetAdapterStateFunction::DoWork( | 112 bool BluetoothGetAdapterStateFunction::DoWork( |
107 scoped_refptr<BluetoothAdapter> adapter) { | 113 scoped_refptr<BluetoothAdapter> adapter) { |
108 bluetooth::AdapterState state; | 114 bluetooth::AdapterState state; |
109 PopulateAdapterState(*adapter, &state); | 115 PopulateAdapterState(*adapter, &state); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 ->StopDiscoverySession( | 203 ->StopDiscoverySession( |
198 adapter.get(), GetExtensionId(), | 204 adapter.get(), GetExtensionId(), |
199 base::Bind(&BluetoothStopDiscoveryFunction::OnSuccessCallback, this), | 205 base::Bind(&BluetoothStopDiscoveryFunction::OnSuccessCallback, this), |
200 base::Bind(&BluetoothStopDiscoveryFunction::OnErrorCallback, this)); | 206 base::Bind(&BluetoothStopDiscoveryFunction::OnErrorCallback, this)); |
201 | 207 |
202 return true; | 208 return true; |
203 } | 209 } |
204 | 210 |
205 } // namespace api | 211 } // namespace api |
206 } // namespace extensions | 212 } // namespace extensions |
OLD | NEW |