Bug 1200361 - Back out parts of bug 1194780 so that Android can still run plugins in-process, but no other platforms will. r=jimm

This commit is contained in:
Benjamin Smedberg
2015-08-31 16:51:19 -04:00
parent 733c0540ab
commit 51ddd45d98
3 changed files with 49 additions and 2 deletions

View File

@@ -249,6 +249,16 @@ nsNPAPIPlugin::PluginCrashed(const nsAString& pluginDumpID,
host->PluginCrashed(this, pluginDumpID, browserDumpID);
}
bool
nsNPAPIPlugin::RunPluginOOP(const nsPluginTag *aPluginTag)
{
#ifdef MOZ_WIDGET_ANDROID
return false;
#else
return true;
#endif
}
inline PluginLibrary*
GetNewPluginLibrary(nsPluginTag *aPluginTag)
{
@@ -260,7 +270,10 @@ GetNewPluginLibrary(nsPluginTag *aPluginTag)
return PluginModuleContentParent::LoadModule(aPluginTag->mId);
}
return PluginModuleChromeParent::LoadModule(aPluginTag->mFullPath.get(), aPluginTag->mId, aPluginTag);
if (nsNPAPIPlugin::RunPluginOOP(aPluginTag)) {
return PluginModuleChromeParent::LoadModule(aPluginTag->mFullPath.get(), aPluginTag->mId, aPluginTag);
}
return new PluginPRLibrary(aPluginTag->mFullPath.get(), aPluginTag->mLibrary);
}
// Creates an nsNPAPIPlugin object. One nsNPAPIPlugin object exists per plugin (not instance).