#include "base/memory/ref_counted.h"
#include "chrome/browser/extensions/api/bluetooth/bluetooth_api.h"
#include "chrome/browser/extensions/api/bluetooth/bluetooth_event_router.h"
+#include "content/public/browser/browser_thread.h"
#include "device/bluetooth/bluetooth_adapter.h"
#include "device/bluetooth/bluetooth_adapter_factory.h"
+using content::BrowserThread;
+
namespace {
const char kPlatformNotSupported[] =
"This operation is not supported on your platform";
-extensions::ExtensionBluetoothEventRouter* GetEventRouter(
+extensions::BluetoothEventRouter* GetEventRouter(
content::BrowserContext* context) {
- return extensions::BluetoothAPI::Get(context)->bluetooth_event_router();
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ return extensions::BluetoothAPI::Get(context)->event_router();
}
bool IsBluetoothSupported(content::BrowserContext* context) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
return GetEventRouter(context)->IsBluetoothSupported();
}
void GetAdapter(const device::BluetoothAdapterFactory::AdapterCallback callback,
content::BrowserContext* context) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
GetEventRouter(context)->GetAdapter(callback);
}
} // namespace
namespace extensions {
-
namespace api {
BluetoothExtensionFunction::BluetoothExtensionFunction() {
BluetoothExtensionFunction::~BluetoothExtensionFunction() {
}
-bool BluetoothExtensionFunction::RunImpl() {
+bool BluetoothExtensionFunction::RunAsync() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
if (!IsBluetoothSupported(browser_context())) {
SetError(kPlatformNotSupported);
return false;
void BluetoothExtensionFunction::RunOnAdapterReady(
scoped_refptr<device::BluetoothAdapter> adapter) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DoWork(adapter);
}
} // namespace api
-
} // namespace extensions