Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=billm,njn

MozReview-Commit-ID: EROfGuYQ6a0
This commit is contained in:
Markus Stange
2017-05-30 15:06:14 -04:00
parent 7f01640df3
commit 9b5004bdc9
32 changed files with 792 additions and 638 deletions

View File

@@ -33,10 +33,8 @@
#include "prclist.h"
#include "PluginQuirks.h"
#include "gfxPlatform.h"
#ifdef MOZ_GECKO_PROFILER
#include "CrossProcessProfilerController.h"
#endif
#include "GeckoProfiler.h"
#include "ProfilerParent.h"
#include "nsPluginTags.h"
#include "nsUnicharUtils.h"
#include "mozilla/layers/TextureClientRecycleAllocator.h"
@@ -58,9 +56,6 @@
using base::KillProcess;
using mozilla::PluginLibrary;
#ifdef MOZ_GECKO_PROFILER
using mozilla::CrossProcessProfilerController;
#endif
using mozilla::ipc::MessageChannel;
using mozilla::ipc::GeckoChildProcessHost;
@@ -638,7 +633,7 @@ PluginModuleChromeParent::OnProcessLaunched(const bool aSucceeded)
}
#ifdef MOZ_GECKO_PROFILER
mProfilerController = MakeUnique<CrossProcessProfilerController>(this);
Unused << SendInitProfiler(ProfilerParent::CreateForProcess(OtherPid()));
#endif
}
@@ -779,10 +774,6 @@ PluginModuleChromeParent::~PluginModuleChromeParent()
MOZ_CRASH("unsafe destruction");
}
#ifdef MOZ_GECKO_PROFILER
mProfilerController = nullptr;
#endif
#ifdef XP_WIN
// If we registered for audio notifications, stop.
mozilla::plugins::PluginUtilsWin::RegisterForAudioDeviceChanges(this,
@@ -3263,18 +3254,6 @@ PluginModuleChromeParent::OnCrash(DWORD processID)
#endif // MOZ_CRASHREPORTER_INJECTOR
mozilla::ipc::IPCResult
PluginModuleChromeParent::RecvProfile(const nsCString& aProfile,
const bool& aIsExitProfile)
{
#ifdef MOZ_GECKO_PROFILER
if (mProfilerController) {
mProfilerController->RecvProfile(aProfile, aIsExitProfile);
}
#endif
return IPC_OK();
}
mozilla::ipc::IPCResult
PluginModuleParent::AnswerGetKeyState(const int32_t& aVirtKey, int16_t* aRet)
{