diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp index ff09d83e3ac7..28f2f26db548 100644 --- a/tools/profiler/core/platform.cpp +++ b/tools/profiler/core/platform.cpp @@ -17,6 +17,7 @@ #include "mozilla/UniquePtr.h" #include "mozilla/Vector.h" #include "GeckoProfiler.h" +#include "GeckoProfilerReporter.h" #include "ProfilerIOInterposeObserver.h" #include "mozilla/StackWalk.h" #include "mozilla/StaticPtr.h" diff --git a/tools/profiler/moz.build b/tools/profiler/moz.build index 8a4af33e3c67..d7b85c114fda 100644 --- a/tools/profiler/moz.build +++ b/tools/profiler/moz.build @@ -117,6 +117,7 @@ include('/ipc/chromium/chromium-config.mozbuild') EXPORTS += [ 'public/GeckoProfiler.h', + 'public/GeckoProfilerReporter.h', 'public/ProfilerControllingProcess.h', ] diff --git a/tools/profiler/public/GeckoProfiler.h b/tools/profiler/public/GeckoProfiler.h index f829fde3d620..f7180b08e0ac 100644 --- a/tools/profiler/public/GeckoProfiler.h +++ b/tools/profiler/public/GeckoProfiler.h @@ -392,7 +392,6 @@ PROFILER_FUNC(void* profiler_get_stack_top(), nullptr) #include "mozilla/Sprintf.h" #include "mozilla/ThreadLocal.h" #include "nscore.h" -#include "nsIMemoryReporter.h" // Make sure that we can use std::min here without the Windows headers messing with us. #ifdef min @@ -512,21 +511,6 @@ PseudoStack* profiler_get_pseudo_stack(); void profiler_set_js_context(JSContext* aCx); void profiler_clear_js_context(); -class GeckoProfilerReporter final : public nsIMemoryReporter -{ -public: - NS_DECL_ISUPPORTS - - GeckoProfilerReporter() {} - - NS_IMETHOD - CollectReports(nsIHandleReportCallback* aHandleReport, - nsISupports* aData, bool aAnonymize) override; - -private: - ~GeckoProfilerReporter() {} -}; - #endif // defined(MOZ_GECKO_PROFILER) namespace mozilla { diff --git a/tools/profiler/public/GeckoProfilerReporter.h b/tools/profiler/public/GeckoProfilerReporter.h new file mode 100644 index 000000000000..64837bba395f --- /dev/null +++ b/tools/profiler/public/GeckoProfilerReporter.h @@ -0,0 +1,27 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef GeckoProfilerReporter_h +#define GeckoProfilerReporter_h + +#include "nsIMemoryReporter.h" + +class GeckoProfilerReporter final : public nsIMemoryReporter +{ +public: + NS_DECL_ISUPPORTS + + GeckoProfilerReporter() {} + + NS_IMETHOD + CollectReports(nsIHandleReportCallback* aHandleReport, + nsISupports* aData, bool aAnonymize) override; + +private: + ~GeckoProfilerReporter() {} +}; + +#endif diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp index 25ea57e082a7..7e107f00018e 100644 --- a/xpcom/base/nsMemoryReporterManager.cpp +++ b/xpcom/base/nsMemoryReporterManager.cpp @@ -17,6 +17,7 @@ #include "nsIObserverService.h" #include "nsIGlobalObject.h" #include "nsIXPConnect.h" +#include "GeckoProfilerReporter.h" #if defined(XP_UNIX) || defined(MOZ_DMD) #include "nsMemoryInfoDumper.h" #endif