From b64d2f865c1867dbc54bfcfcffd9755d0dfd341b Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Fri, 24 Oct 2014 15:19:16 +1300 Subject: [PATCH] Bug 1055395 - Don't load plugin library twice on Mac. r=smichaud --- content/media/gmp/GMPChild.cpp | 11 +++-------- content/media/gmp/GMPChild.h | 8 ++++---- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/content/media/gmp/GMPChild.cpp b/content/media/gmp/GMPChild.cpp index 01010c44892d..29f1d8d4585e 100644 --- a/content/media/gmp/GMPChild.cpp +++ b/content/media/gmp/GMPChild.cpp @@ -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); diff --git a/content/media/gmp/GMPChild.h b/content/media/gmp/GMPChild.h index f969d9764eaa..e6e1da989027 100644 --- a/content/media/gmp/GMPChild.h +++ b/content/media/gmp/GMPChild.h @@ -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;