Bug 1055395 - Don't load plugin library twice on Mac. r=smichaud

This commit is contained in:
Chris Pearce 2014-10-24 15:19:16 +13:00
Родитель 977efff305
Коммит b64d2f865c
2 изменённых файлов: 7 добавлений и 12 удалений

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

@ -228,7 +228,7 @@ GetAppPaths(nsCString &aAppPath, nsCString &aAppBinaryPath)
}
void
GMPChild::OnChannelConnected(int32_t aPid)
GMPChild::StartMacSandbox()
{
nsAutoCString pluginDirectoryPath, pluginFilePath;
if (!GetPluginPaths(mPluginPath, pluginDirectoryPath, pluginFilePath)) {
@ -253,13 +253,6 @@ GMPChild::OnChannelConnected(int32_t aPid)
NS_WARNING(err.get());
MOZ_CRASH("sandbox_init() failed");
}
if (!LoadPluginLibrary(mPluginPath)) {
err.AppendPrintf("Failed to load GMP plugin \"%s\"",
mPluginPath.c_str());
NS_WARNING(err.get());
MOZ_CRASH("Failed to load GMP plugin");
}
}
#endif // XP_MACOSX && MOZ_GMP_SANDBOX
@ -332,6 +325,8 @@ GMPChild::RecvStartPlugin()
#if defined(MOZ_SANDBOX) && defined(XP_WIN)
mozilla::SandboxTarget::Instance()->StartSandbox();
#elif defined(XP_MACOSX) && defined(MOZ_GMP_SANDBOX)
StartMacSandbox();
#endif
return LoadPluginLibrary(mPluginPath);

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

@ -25,10 +25,6 @@ public:
GMPChild();
virtual ~GMPChild();
#if defined(XP_MACOSX) && defined(MOZ_GMP_SANDBOX)
void OnChannelConnected(int32_t aPid);
#endif
bool Init(const std::string& aPluginPath,
base::ProcessHandle aParentProcessHandle,
MessageLoop* aIOLoop,
@ -51,6 +47,10 @@ public:
private:
#if defined(XP_MACOSX) && defined(MOZ_GMP_SANDBOX)
void StartMacSandbox();
#endif
virtual bool RecvSetNodeId(const nsCString& aNodeId) MOZ_OVERRIDE;
virtual bool RecvStartPlugin() MOZ_OVERRIDE;