Bug 992206: Use |SocketIODeleteInstanceRunnable| for Bluetooth sockets, r=shuang

This commit is contained in:
Thomas Zimmermann 2014-08-07 11:37:49 +02:00
Родитель 5a48c70476
Коммит d1a9709a19
1 изменённых файлов: 3 добавлений и 22 удалений

Просмотреть файл

@ -184,25 +184,6 @@ private:
ConnectionStatus mConnectionStatus;
};
template<class T>
class DeleteInstanceRunnable : public nsRunnable
{
public:
DeleteInstanceRunnable(T* aInstance)
: mInstance(aInstance)
{ }
NS_IMETHOD Run()
{
delete mInstance;
return NS_OK;
}
private:
T* mInstance;
};
class ShutdownSocketTask : public Task {
virtual void Run()
{
@ -215,9 +196,9 @@ class ShutdownSocketTask : public Task {
// that no more tasks reference it.
mImpl->ShutdownOnIOThread();
nsRefPtr<nsIRunnable> t(new DeleteInstanceRunnable<
mozilla::dom::bluetooth::DroidSocketImpl>(mImpl));
nsresult rv = NS_DispatchToMainThread(t);
nsRefPtr<nsRunnable> r =
new SocketIODeleteInstanceRunnable<DroidSocketImpl>(mImpl);
nsresult rv = NS_DispatchToMainThread(r);
NS_ENSURE_SUCCESS_VOID(rv);
}