Bug 1307708 - Make the GetKeyState IPDL call sync (it was intr). r=jimm

This should avoid destruction messages from deleting the actor while the intr message is awaiting a response.

--HG--
extra : rebase_source : b45e8ffcfe6f63213a289aac874fd43cb71a54ec
This commit is contained in:
David Parks 2017-02-06 11:53:59 -08:00
Родитель 7f9b3dc8cd
Коммит 2b771634a4
4 изменённых файлов: 7 добавлений и 7 удалений

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

@ -160,7 +160,7 @@ parent:
async ReturnSitesWithData(nsCString[] aSites, uint64_t aCallbackId);
intr GetKeyState(int32_t aVirtKey)
sync GetKeyState(int32_t aVirtKey)
returns (int16_t aState);
intr NPN_SetValue_NPPVpluginRequiresAudioDeviceChanges(bool shouldRegister)

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

@ -2117,7 +2117,7 @@ PMCGetKeyState(int aVirtKey)
PluginModuleChild* chromeInstance = PluginModuleChild::GetChrome();
if (chromeInstance) {
int16_t ret = 0;
if (chromeInstance->CallGetKeyState(aVirtKey, &ret)) {
if (chromeInstance->SendGetKeyState(aVirtKey, &ret)) {
return ret;
}
}

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

@ -3403,19 +3403,19 @@ PluginModuleChromeParent::RecvProfile(const nsCString& aProfile)
}
mozilla::ipc::IPCResult
PluginModuleParent::AnswerGetKeyState(const int32_t& aVirtKey, int16_t* aRet)
PluginModuleParent::RecvGetKeyState(const int32_t& aVirtKey, int16_t* aRet)
{
return IPC_FAIL_NO_REASON(this);
}
mozilla::ipc::IPCResult
PluginModuleChromeParent::AnswerGetKeyState(const int32_t& aVirtKey,
PluginModuleChromeParent::RecvGetKeyState(const int32_t& aVirtKey,
int16_t* aRet)
{
#if defined(XP_WIN)
*aRet = ::GetKeyState(aVirtKey);
return IPC_OK();
#else
return PluginModuleParent::AnswerGetKeyState(aVirtKey, aRet);
return PluginModuleParent::RecvGetKeyState(aVirtKey, aRet);
#endif
}

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

@ -213,7 +213,7 @@ protected:
virtual mozilla::ipc::IPCResult RecvProfile(const nsCString& aProfile) override { return IPC_OK(); }
virtual mozilla::ipc::IPCResult AnswerGetKeyState(const int32_t& aVirtKey, int16_t* aRet) override;
virtual mozilla::ipc::IPCResult RecvGetKeyState(const int32_t& aVirtKey, int16_t* aRet) override;
virtual mozilla::ipc::IPCResult RecvReturnClearSiteData(const NPError& aRv,
const uint64_t& aCallbackId) override;
@ -507,7 +507,7 @@ class PluginModuleChromeParent
RecvProfile(const nsCString& aProfile) override;
virtual mozilla::ipc::IPCResult
AnswerGetKeyState(const int32_t& aVirtKey, int16_t* aRet) override;
RecvGetKeyState(const int32_t& aVirtKey, int16_t* aRet) override;
private:
virtual void