Bug 518924 - Implement NPN_AsyncCallback r=cjones

This commit is contained in:
Benjamin Smedberg 2009-12-16 17:27:18 -05:00
Родитель dec7565457
Коммит e4bea0b2ba
1 изменённых файлов: 23 добавлений и 2 удалений

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

@ -1268,14 +1268,35 @@ _poppopupsenabledstate(NPP aNPP)
return false;
}
class AsyncCallRunnable : public nsRunnable
{
public:
AsyncCallRunnable(PluginThreadCallback aFunc, void* aUserData)
: mFunc(aFunc)
, mData(aUserData)
{ }
NS_IMETHOD Run() {
mFunc(mData);
return NS_OK;
}
private:
PluginThreadCallback mFunc;
void* mData;
};
void NP_CALLBACK
_pluginthreadasynccall(NPP aNPP,
PluginThreadCallback aFunc,
void* aUserData)
{
_MOZ_LOG(__FUNCTION__);
AssertPluginThread();
NS_NOTYETIMPLEMENTED("Implement me!");
if (!aFunc)
return;
nsCOMPtr<nsIRunnable> e(new AsyncCallRunnable(aFunc, aUserData));
NS_DispatchToMainThread(e);
}
NPError NP_CALLBACK