Bug 1093693 - [e10s] Don't use sync messages between plugins and chrome process (r=jimm)

This commit is contained in:
Bill McCloskey
2014-11-18 21:46:01 -08:00
parent 2074a18500
commit c49d4cbef6
5 changed files with 178 additions and 76 deletions

View File

@@ -821,10 +821,7 @@ PluginModuleChild::CleanUp()
const char*
PluginModuleChild::GetUserAgent()
{
if (mUserAgent.IsVoid() && !CallNPN_UserAgent(&mUserAgent))
return nullptr;
return NullableStringGet(mUserAgent);
return NullableStringGet(Settings().userAgent());
}
//-----------------------------------------------------------------------------
@@ -1120,18 +1117,21 @@ _getvalue(NPP aNPP,
#endif
return NPERR_GENERIC_ERROR;
case NPNVjavascriptEnabledBool: // Intentional fall-through
case NPNVasdEnabledBool: // Intentional fall-through
case NPNVisOfflineBool: // Intentional fall-through
case NPNVSupportsXEmbedBool: // Intentional fall-through
case NPNVSupportsWindowless: { // Intentional fall-through
NPError result;
bool value;
PluginModuleChild::GetChrome()->
CallNPN_GetValue_WithBoolReturn(aVariable, &result, &value);
*(NPBool*)aValue = value ? true : false;
return result;
}
case NPNVjavascriptEnabledBool:
*(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().javascriptEnabled();
return NPERR_NO_ERROR;
case NPNVasdEnabledBool:
*(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().asdEnabled();
return NPERR_NO_ERROR;
case NPNVisOfflineBool:
*(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().isOffline();
return NPERR_NO_ERROR;
case NPNVSupportsXEmbedBool:
*(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().supportsXembed();
return NPERR_NO_ERROR;
case NPNVSupportsWindowless:
*(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().supportsWindowless();
return NPERR_NO_ERROR;
#if defined(MOZ_WIDGET_GTK)
case NPNVxDisplay: {
if (aNPP) {
@@ -1834,6 +1834,13 @@ _urlredirectresponse(NPP instance, void* notifyData, NPBool allow)
//-----------------------------------------------------------------------------
bool
PluginModuleChild::RecvSettingChanged(const PluginSettings& aSettings)
{
mCachedSettings = aSettings;
return true;
}
bool
PluginModuleChild::AnswerNP_GetEntryPoints(NPError* _retval)
{
@@ -1852,12 +1859,14 @@ PluginModuleChild::AnswerNP_GetEntryPoints(NPError* _retval)
}
bool
PluginModuleChild::AnswerNP_Initialize(NPError* _retval)
PluginModuleChild::AnswerNP_Initialize(const PluginSettings& aSettings, NPError* _retval)
{
PLUGIN_LOG_DEBUG_METHOD;
AssertPluginThread();
MOZ_ASSERT(mIsChrome);
mCachedSettings = aSettings;
#ifdef OS_WIN
SetEventHooks();
#endif