Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/ClearOnShutdown.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef mozilla_ClearOnShutdown_h
8
#define mozilla_ClearOnShutdown_h
9
10
#include "mozilla/LinkedList.h"
11
#include "mozilla/StaticPtr.h"
12
#include "mozilla/Array.h"
13
#include "MainThreadUtils.h"
14
15
/*
16
 * This header exports one public method in the mozilla namespace:
17
 *
18
 *   template<class SmartPtr>
19
 *   void ClearOnShutdown(SmartPtr *aPtr, aPhase=ShutdownPhase::ShutdownFinal)
20
 *
21
 * This function takes a pointer to a smart pointer and nulls the smart pointer
22
 * on shutdown (and a particular phase of shutdown as needed).  If a phase
23
 * is specified, the ptr will be cleared at the start of that phase.  Also,
24
 * if a phase has already occurred when ClearOnShutdown() is called it will
25
 * cause a MOZ_ASSERT.  In case a phase is not explicitly cleared we will
26
 * clear it on the next phase that occurs.
27
 *
28
 * This is useful if you have a global smart pointer object which you don't
29
 * want to "leak" on shutdown.
30
 *
31
 * Although ClearOnShutdown will work with any smart pointer (i.e., nsCOMPtr,
32
 * nsRefPtr, nsAutoPtr, StaticRefPtr, and StaticAutoPtr), you probably want to
33
 * use it only with StaticRefPtr and StaticAutoPtr.  There is no way to undo a
34
 * call to ClearOnShutdown, so you can call it only on smart pointers which you
35
 * know will live until the program shuts down.  In practice, these are likely
36
 * global variables, which should be Static{Ref,Auto}Ptr.
37
 *
38
 * ClearOnShutdown is currently main-thread only because we don't want to
39
 * accidentally free an object from a different thread than the one it was
40
 * created on.
41
 */
42
43
namespace mozilla {
44
45
// Must be contiguous starting at 0
46
enum class ShutdownPhase {
47
  NotInShutdown = 0,
48
  WillShutdown,
49
  Shutdown,
50
  ShutdownThreads,
51
  ShutdownLoaders,
52
  ShutdownFinal,
53
  ShutdownPhase_Length, // never pass this value
54
  First = WillShutdown, // for iteration
55
  Last = ShutdownFinal
56
};
57
58
namespace ClearOnShutdown_Internal {
59
60
class ShutdownObserver : public LinkedListElement<ShutdownObserver>
61
{
62
public:
63
  virtual void Shutdown() = 0;
64
  virtual ~ShutdownObserver()
65
0
  {
66
0
  }
67
};
68
69
template<class SmartPtr>
70
class PointerClearer : public ShutdownObserver
71
{
72
public:
73
  explicit PointerClearer(SmartPtr* aPtr)
74
    : mPtr(aPtr)
75
70
  {
76
70
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::SandboxReporter> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::SandboxReporter>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<SignalPipeWatcher> >::PointerClearer(mozilla::StaticRefPtr<SignalPipeWatcher>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<FifoWatcher> >::PointerClearer(mozilla::StaticRefPtr<FifoWatcher>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<nsTString<char> > > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<nsTString<char> > >*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::AbstractThread> >::PointerClearer(mozilla::StaticRefPtr<mozilla::AbstractThread>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::InputEventStatistics, mozilla::DefaultDelete<mozilla::InputEventStatistics> > >::PointerClearer(mozilla::UniquePtr<mozilla::InputEventStatistics, mozilla::DefaultDelete<mozilla::InputEventStatistics> >*)
Unified_cpp_xpcom_threads1.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<(anonymous namespace)::ShutdownObserveHelper> >::PointerClearer(mozilla::StaticRefPtr<(anonymous namespace)::ShutdownObserveHelper>*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::intl::LocaleService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::intl::LocaleService>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::intl::OSPreferences> >::PointerClearer(mozilla::StaticRefPtr<mozilla::intl::OSPreferences>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<nsLanguageAtomService, mozilla::DefaultDelete<nsLanguageAtomService> > >::PointerClearer(mozilla::UniquePtr<nsLanguageAtomService, mozilla::DefaultDelete<nsLanguageAtomService> >*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsINetworkPredictor> >::PointerClearer(mozilla::StaticRefPtr<nsINetworkPredictor>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::CaptivePortalService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::net::CaptivePortalService>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: Unified_cpp_netwerk_base1.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::net::(anonymous namespace)::CachedPrefs> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::net::(anonymous namespace)::CachedPrefs>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsCookieService> >::PointerClearer(mozilla::StaticRefPtr<nsCookieService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::CookieServiceChild> >::PointerClearer(mozilla::StaticRefPtr<mozilla::net::CookieServiceChild>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::ChildDNSService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::net::ChildDNSService>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsDNSService> >::PointerClearer(mozilla::StaticRefPtr<nsDNSService>*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::nsHttpHandler> >::PointerClearer(mozilla::StaticRefPtr<mozilla::net::nsHttpHandler>*)
Line
Count
Source
75
1
  {
76
1
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::ExtensionProtocolHandler> >::PointerClearer(mozilla::StaticRefPtr<mozilla::net::ExtensionProtocolHandler>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::ScriptPreloader> >::PointerClearer(RefPtr<mozilla::ScriptPreloader>*)
Line
Count
Source
75
6
  {
76
6
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::URLPreloader> >::PointerClearer(mozilla::StaticRefPtr<mozilla::URLPreloader>*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsJARProtocolHandler> >::PointerClearer(mozilla::StaticRefPtr<nsJARProtocolHandler>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::SingletonThreadHolder> >::PointerClearer(mozilla::StaticRefPtr<mozilla::SingletonThreadHolder>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsScriptSecurityManager> >::PointerClearer(mozilla::StaticRefPtr<nsScriptSecurityManager>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZSampler*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZSampler*> > > > >::PointerClearer(mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZSampler*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZSampler*> > > >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZUpdater*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZUpdater*> > > > >::PointerClearer(mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZUpdater*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZUpdater*> > > >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::ComputedTimingFunction> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::ComputedTimingFunction>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::layers::CheckerboardEventStorage> >::PointerClearer(mozilla::StaticRefPtr<mozilla::layers::CheckerboardEventStorage>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::Monitor> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::Monitor>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::layers::ScrollMetadata const> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::layers::ScrollMetadata const>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::gfx::VRManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::gfx::VRManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::image::DecodePool> >::PointerClearer(mozilla::StaticRefPtr<mozilla::image::DecodePool>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ChromeMessageBroadcaster> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::ChromeMessageBroadcaster>*)
Unexecuted instantiation: Unified_cpp_dom_base3.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::VibrateWindowListener> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::VibrateWindowListener>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<RefPtr<mozilla::dom::PlacesEventCallback> > > > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<RefPtr<mozilla::dom::PlacesEventCallback> > > >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::dom::PlacesWeakCallbackWrapper> > > > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::dom::PlacesWeakCallbackWrapper> > > >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::places::INativePlacesEventCallback> > > > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::places::INativePlacesEventCallback> > > >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::TabGroup> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::TabGroup>*)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<(anonymous namespace)::PrefStore, mozilla::DefaultDelete<(anonymous namespace)::PrefStore> > >::PointerClearer(mozilla::UniquePtr<(anonymous namespace)::PrefStore, mozilla::DefaultDelete<(anonymous namespace)::PrefStore> >*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsNameSpaceManager> >::PointerClearer(mozilla::StaticRefPtr<nsNameSpaceManager>*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsWindowMemoryReporter> >::PointerClearer(mozilla::StaticRefPtr<nsWindowMemoryReporter>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::FileSystemSecurity> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::FileSystemSecurity>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::GamepadManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::GamepadManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsGeolocationService> >::PointerClearer(mozilla::StaticRefPtr<nsGeolocationService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::Geolocation> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::Geolocation>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsIWebVTTParserWrapper> >::PointerClearer(mozilla::StaticRefPtr<nsIWebVTTParserWrapper>*)
Unexecuted instantiation: Unified_cpp_dom_media5.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::MediaCache::GetMediaCache(long)::ClearThread>::PointerClearer(mozilla::MediaCache::GetMediaCache(long)::ClearThread*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::MemoryBlockCacheTelemetry> >::PointerClearer(mozilla::StaticRefPtr<mozilla::MemoryBlockCacheTelemetry>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::DDLogShutdowner, mozilla::DefaultDelete<mozilla::DDLogShutdowner> > >::PointerClearer(mozilla::UniquePtr<mozilla::DDLogShutdowner, mozilla::DefaultDelete<mozilla::DDLogShutdowner> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::DDLogDeleter, mozilla::DefaultDelete<mozilla::DDLogDeleter> > >::PointerClearer(mozilla::UniquePtr<mozilla::DDLogDeleter, mozilla::DefaultDelete<mozilla::DDLogDeleter> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::gmp::GeckoMediaPluginService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::gmp::GeckoMediaPluginService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::gmp::GMPCapabilityAndVersion> > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<mozilla::gmp::GMPCapabilityAndVersion> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::GlobalAllocPolicy>::PointerClearer(mozilla::GlobalAllocPolicy*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::PDMFactoryImpl> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::PDMFactoryImpl>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::nsSynthVoiceRegistry> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::nsSynthVoiceRegistry>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::SpeechDispatcherService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::SpeechDispatcherService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::MIDIAccessManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::MIDIAccessManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::power::PowerManagerService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::power::PowerManagerService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::quota::QuotaManagerService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::quota::QuotaManagerService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::StorageNotifierService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::StorageNotifierService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsPluginHost> >::PointerClearer(mozilla::StaticRefPtr<nsPluginHost>*)
Unexecuted instantiation: Unified_cpp_dom_indexedDB0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::SandboxHolder> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::SandboxHolder>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::IndexedDatabaseManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::IndexedDatabaseManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::OSFileConstantsService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::OSFileConstantsService>*)
Unexecuted instantiation: Unified_cpp_dom_ipc0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerImpl> >::PointerClearer(mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerImpl>*)
Unified_cpp_dom_ipc0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerChild> >::PointerClearer(mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerChild>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::dom::ContentProcessManager> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::dom::ContentProcessManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::PreallocatedProcessManagerImpl> >::PointerClearer(mozilla::StaticRefPtr<mozilla::PreallocatedProcessManagerImpl>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::WorkerDebuggerManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::WorkerDebuggerManager>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::U2FPrefManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::U2FPrefManager>*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::U2FTokenManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::U2FTokenManager>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<nsCOMPtr<nsIOffThreadScriptReceiver> > > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<nsCOMPtr<nsIOffThreadScriptReceiver> > >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ConsoleUtils> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::ConsoleUtils>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PerformanceService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::PerformanceService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::BasicCardService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::BasicCardService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PaymentRequestManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::PaymentRequestManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PaymentRequestService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::PaymentRequestService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerManager>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerRegistrar> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerRegistrar>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PrioEncoder> >::PointerClearer(mozilla::StaticRefPtr<mozilla::dom::PrioEncoder>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::dom::AvailabilityCollection> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::dom::AvailabilityCollection>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::dom::ControllerConnectionCollection> >::PointerClearer(mozilla::StaticAutoPtr<mozilla::dom::ControllerConnectionCollection>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::widget::ScreenManager> >::PointerClearer(mozilla::StaticRefPtr<mozilla::widget::ScreenManager>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::widget::HeadlessKeyBindings, mozilla::DefaultDelete<mozilla::widget::HeadlessKeyBindings> > >::PointerClearer(mozilla::UniquePtr<mozilla::widget::HeadlessKeyBindings, mozilla::DefaultDelete<mozilla::widget::HeadlessKeyBindings> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::widget::HeadlessWidget*> > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<mozilla::widget::HeadlessWidget*> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsDragService> >::PointerClearer(mozilla::StaticRefPtr<nsDragService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<nsITheme> >::PointerClearer(nsCOMPtr<nsITheme>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsISound> >::PointerClearer(mozilla::StaticRefPtr<nsISound>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsStyleGridTemplate> >::PointerClearer(mozilla::StaticAutoPtr<nsStyleGridTemplate>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::AutoCleanLinkedList<RefPtr<mozilla::dom::BrowsingContext> > > >::PointerClearer(mozilla::StaticAutoPtr<mozilla::AutoCleanLinkedList<RefPtr<mozilla::dom::BrowsingContext> > >*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsDataHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext*> > >::PointerClearer(mozilla::StaticAutoPtr<nsDataHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext*> >*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsRefPtrHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext> > >::PointerClearer(mozilla::StaticAutoPtr<nsRefPtrHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext> >*)
Line
Count
Source
75
3
  {
76
3
  }
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::TimelineConsumers> >::PointerClearer(mozilla::StaticRefPtr<mozilla::TimelineConsumers>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::a11y::DocAccessibleParent*> > >::PointerClearer(mozilla::StaticAutoPtr<nsTArray<mozilla::a11y::DocAccessibleParent*> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::ProfilerParentTracker, mozilla::DefaultDelete<mozilla::ProfilerParentTracker> > >::PointerClearer(mozilla::UniquePtr<mozilla::ProfilerParentTracker, mozilla::DefaultDelete<mozilla::ProfilerParentTracker> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsRefPtrHashtable<nsStringHashKey, mozilla::DataStorage> > >::PointerClearer(mozilla::StaticAutoPtr<nsRefPtrHashtable<nsStringHashKey, mozilla::DataStorage> >*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsXULAlerts> >::PointerClearer(mozilla::StaticRefPtr<nsXULAlerts>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<mozIExtensionProcessScript> >::PointerClearer(nsCOMPtr<mozIExtensionProcessScript>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<nsISubstitutingProtocolHandler> >::PointerClearer(nsCOMPtr<nsISubstitutingProtocolHandler>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::ExtensionPolicyService> >::PointerClearer(RefPtr<mozilla::ExtensionPolicyService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::extensions::AtomSet> >::PointerClearer(RefPtr<mozilla::extensions::AtomSet>*)
Unexecuted instantiation: Unified_cpp_extensions0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::extensions::(anonymous namespace)::AtomSetPref> >::PointerClearer(RefPtr<mozilla::extensions::(anonymous namespace)::AtomSetPref>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::extensions::WebRequestService> >::PointerClearer(RefPtr<mozilla::extensions::WebRequestService>*)
mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::nsRFPService> >::PointerClearer(mozilla::StaticRefPtr<mozilla::nsRFPService>*)
Line
Count
Source
75
3
  {
76
3
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsPrintingPromptService> >::PointerClearer(mozilla::StaticRefPtr<nsPrintingPromptService>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsPrintingProxy> >::PointerClearer(mozilla::StaticRefPtr<nsPrintingProxy>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<nsIFormAutoComplete> >::PointerClearer(nsCOMPtr<nsIFormAutoComplete>*)
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::AddonManagerStartup> >::PointerClearer(RefPtr<mozilla::AddonManagerStartup>*)
77
78
  virtual void Shutdown() override
79
0
  {
80
0
    if (mPtr) {
81
0
      *mPtr = nullptr;
82
0
    }
83
0
  }
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::SandboxReporter> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<SignalPipeWatcher> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<FifoWatcher> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<nsTString<char> > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::AbstractThread> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::InputEventStatistics, mozilla::DefaultDelete<mozilla::InputEventStatistics> > >::Shutdown()
Unexecuted instantiation: Unified_cpp_xpcom_threads1.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<(anonymous namespace)::ShutdownObserveHelper> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::intl::LocaleService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::intl::OSPreferences> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<nsLanguageAtomService, mozilla::DefaultDelete<nsLanguageAtomService> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsINetworkPredictor> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::CaptivePortalService> >::Shutdown()
Unexecuted instantiation: Unified_cpp_netwerk_base1.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::net::(anonymous namespace)::CachedPrefs> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsCookieService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::CookieServiceChild> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::ChildDNSService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsDNSService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::nsHttpHandler> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::net::ExtensionProtocolHandler> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::ScriptPreloader> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::URLPreloader> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsJARProtocolHandler> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::SingletonThreadHolder> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsScriptSecurityManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZSampler*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZSampler*> > > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZUpdater*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZUpdater*> > > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::ComputedTimingFunction> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::layers::CheckerboardEventStorage> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::Monitor> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::layers::ScrollMetadata const> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::gfx::VRManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::image::DecodePool> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ChromeMessageBroadcaster> >::Shutdown()
Unexecuted instantiation: Unified_cpp_dom_base3.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::VibrateWindowListener> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<RefPtr<mozilla::dom::PlacesEventCallback> > > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::dom::PlacesWeakCallbackWrapper> > > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::places::INativePlacesEventCallback> > > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::TabGroup> >::Shutdown()
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<(anonymous namespace)::PrefStore, mozilla::DefaultDelete<(anonymous namespace)::PrefStore> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsNameSpaceManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsWindowMemoryReporter> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::FileSystemSecurity> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::GamepadManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsGeolocationService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::Geolocation> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsIWebVTTParserWrapper> >::Shutdown()
Unexecuted instantiation: Unified_cpp_dom_media5.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::MediaCache::GetMediaCache(long)::ClearThread>::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::MemoryBlockCacheTelemetry> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::DDLogShutdowner, mozilla::DefaultDelete<mozilla::DDLogShutdowner> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::DDLogDeleter, mozilla::DefaultDelete<mozilla::DDLogDeleter> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::gmp::GeckoMediaPluginService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::gmp::GMPCapabilityAndVersion> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::GlobalAllocPolicy>::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::PDMFactoryImpl> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::nsSynthVoiceRegistry> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::SpeechDispatcherService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::MIDIAccessManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::power::PowerManagerService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::quota::QuotaManagerService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::StorageNotifierService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsPluginHost> >::Shutdown()
Unexecuted instantiation: Unified_cpp_dom_indexedDB0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::SandboxHolder> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::IndexedDatabaseManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::OSFileConstantsService> >::Shutdown()
Unexecuted instantiation: Unified_cpp_dom_ipc0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerImpl> >::Shutdown()
Unexecuted instantiation: Unified_cpp_dom_ipc0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerChild> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::dom::ContentProcessManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::PreallocatedProcessManagerImpl> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::WorkerDebuggerManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::U2FPrefManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::U2FTokenManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<nsCOMPtr<nsIOffThreadScriptReceiver> > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ConsoleUtils> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PerformanceService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::BasicCardService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PaymentRequestManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PaymentRequestService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerRegistrar> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::dom::PrioEncoder> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::dom::AvailabilityCollection> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::dom::ControllerConnectionCollection> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::widget::ScreenManager> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::widget::HeadlessKeyBindings, mozilla::DefaultDelete<mozilla::widget::HeadlessKeyBindings> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::widget::HeadlessWidget*> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsDragService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<nsITheme> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsISound> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsStyleGridTemplate> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<mozilla::AutoCleanLinkedList<RefPtr<mozilla::dom::BrowsingContext> > > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsDataHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext*> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsRefPtrHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::TimelineConsumers> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsTArray<mozilla::a11y::DocAccessibleParent*> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::UniquePtr<mozilla::ProfilerParentTracker, mozilla::DefaultDelete<mozilla::ProfilerParentTracker> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticAutoPtr<nsRefPtrHashtable<nsStringHashKey, mozilla::DataStorage> > >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsXULAlerts> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<mozIExtensionProcessScript> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<nsISubstitutingProtocolHandler> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::ExtensionPolicyService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::extensions::AtomSet> >::Shutdown()
Unexecuted instantiation: Unified_cpp_extensions0.cpp:mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::extensions::(anonymous namespace)::AtomSetPref> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::extensions::WebRequestService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<mozilla::nsRFPService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsPrintingPromptService> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<mozilla::StaticRefPtr<nsPrintingProxy> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<nsCOMPtr<nsIFormAutoComplete> >::Shutdown()
Unexecuted instantiation: mozilla::ClearOnShutdown_Internal::PointerClearer<RefPtr<mozilla::AddonManagerStartup> >::Shutdown()
84
85
private:
86
  SmartPtr* mPtr;
87
};
88
89
typedef LinkedList<ShutdownObserver> ShutdownList;
90
extern Array<StaticAutoPtr<ShutdownList>,
91
             static_cast<size_t>(ShutdownPhase::ShutdownPhase_Length)> sShutdownObservers;
92
extern ShutdownPhase sCurrentShutdownPhase;
93
94
} // namespace ClearOnShutdown_Internal
95
96
template<class SmartPtr>
97
inline void
98
ClearOnShutdown(SmartPtr* aPtr, ShutdownPhase aPhase = ShutdownPhase::ShutdownFinal)
99
70
{
100
70
  using namespace ClearOnShutdown_Internal;
101
70
102
70
  MOZ_ASSERT(NS_IsMainThread());
103
70
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
70
105
70
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
70
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
70
112
70
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
9
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
9
  }
115
70
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
70
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::SandboxReporter> >(mozilla::StaticAutoPtr<mozilla::SandboxReporter>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<SignalPipeWatcher> >(mozilla::StaticRefPtr<SignalPipeWatcher>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<FifoWatcher> >(mozilla::StaticRefPtr<FifoWatcher>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<nsTString<char> > > >(mozilla::StaticAutoPtr<nsTArray<nsTString<char> > >*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::AbstractThread> >(mozilla::StaticRefPtr<mozilla::AbstractThread>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
3
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
3
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::UniquePtr<mozilla::InputEventStatistics, mozilla::DefaultDelete<mozilla::InputEventStatistics> > >(mozilla::UniquePtr<mozilla::InputEventStatistics, mozilla::DefaultDelete<mozilla::InputEventStatistics> >*, mozilla::ShutdownPhase)
Unified_cpp_xpcom_threads1.cpp:void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<(anonymous namespace)::ShutdownObserveHelper> >(mozilla::StaticRefPtr<(anonymous namespace)::ShutdownObserveHelper>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::intl::LocaleService> >(mozilla::StaticRefPtr<mozilla::intl::LocaleService>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
3
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
3
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::intl::OSPreferences> >(mozilla::StaticRefPtr<mozilla::intl::OSPreferences>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::UniquePtr<nsLanguageAtomService, mozilla::DefaultDelete<nsLanguageAtomService> > >(mozilla::UniquePtr<nsLanguageAtomService, mozilla::DefaultDelete<nsLanguageAtomService> >*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsINetworkPredictor> >(mozilla::StaticRefPtr<nsINetworkPredictor>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::net::CaptivePortalService> >(mozilla::StaticRefPtr<mozilla::net::CaptivePortalService>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: Unified_cpp_netwerk_base1.cpp:void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::net::(anonymous namespace)::CachedPrefs> >(mozilla::StaticAutoPtr<mozilla::net::(anonymous namespace)::CachedPrefs>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsCookieService> >(mozilla::StaticRefPtr<nsCookieService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::net::CookieServiceChild> >(mozilla::StaticRefPtr<mozilla::net::CookieServiceChild>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::net::ChildDNSService> >(mozilla::StaticRefPtr<mozilla::net::ChildDNSService>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsDNSService> >(mozilla::StaticRefPtr<nsDNSService>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::net::nsHttpHandler> >(mozilla::StaticRefPtr<mozilla::net::nsHttpHandler>*, mozilla::ShutdownPhase)
Line
Count
Source
99
1
{
100
1
  using namespace ClearOnShutdown_Internal;
101
1
102
1
  MOZ_ASSERT(NS_IsMainThread());
103
1
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
1
105
1
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
1
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
1
112
1
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
1
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
1
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::net::ExtensionProtocolHandler> >(mozilla::StaticRefPtr<mozilla::net::ExtensionProtocolHandler>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<RefPtr<mozilla::ScriptPreloader> >(RefPtr<mozilla::ScriptPreloader>*, mozilla::ShutdownPhase)
Line
Count
Source
99
6
{
100
6
  using namespace ClearOnShutdown_Internal;
101
6
102
6
  MOZ_ASSERT(NS_IsMainThread());
103
6
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
6
105
6
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
6
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
6
112
6
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
6
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
6
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::URLPreloader> >(mozilla::StaticRefPtr<mozilla::URLPreloader>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsJARProtocolHandler> >(mozilla::StaticRefPtr<nsJARProtocolHandler>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::SingletonThreadHolder> >(mozilla::StaticRefPtr<mozilla::SingletonThreadHolder>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsScriptSecurityManager> >(mozilla::StaticRefPtr<nsScriptSecurityManager>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZSampler*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZSampler*> > > > >(mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZSampler*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZSampler*> > > >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZUpdater*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZUpdater*> > > > >(mozilla::StaticAutoPtr<std::__1::unordered_map<unsigned long, mozilla::layers::APZUpdater*, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, mozilla::layers::APZUpdater*> > > >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::ComputedTimingFunction> >(mozilla::StaticAutoPtr<mozilla::ComputedTimingFunction>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::layers::CheckerboardEventStorage> >(mozilla::StaticRefPtr<mozilla::layers::CheckerboardEventStorage>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::Monitor> >(mozilla::StaticAutoPtr<mozilla::Monitor>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::layers::ScrollMetadata const> >(mozilla::StaticAutoPtr<mozilla::layers::ScrollMetadata const>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::gfx::VRManager> >(mozilla::StaticRefPtr<mozilla::gfx::VRManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::image::DecodePool> >(mozilla::StaticRefPtr<mozilla::image::DecodePool>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::ChromeMessageBroadcaster> >(mozilla::StaticRefPtr<mozilla::dom::ChromeMessageBroadcaster>*, mozilla::ShutdownPhase)
Unexecuted instantiation: Unified_cpp_dom_base3.cpp:void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::VibrateWindowListener> >(mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::VibrateWindowListener>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<RefPtr<mozilla::dom::PlacesEventCallback> > > > >(mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<RefPtr<mozilla::dom::PlacesEventCallback> > > >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::dom::PlacesWeakCallbackWrapper> > > > >(mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::dom::PlacesWeakCallbackWrapper> > > >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::places::INativePlacesEventCallback> > > > >(mozilla::StaticAutoPtr<nsTArray<mozilla::dom::Flagged<mozilla::WeakPtr<mozilla::places::INativePlacesEventCallback> > > >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::TabGroup> >(mozilla::StaticRefPtr<mozilla::dom::TabGroup>*, mozilla::ShutdownPhase)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:void mozilla::ClearOnShutdown<mozilla::UniquePtr<(anonymous namespace)::PrefStore, mozilla::DefaultDelete<(anonymous namespace)::PrefStore> > >(mozilla::UniquePtr<(anonymous namespace)::PrefStore, mozilla::DefaultDelete<(anonymous namespace)::PrefStore> >*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsNameSpaceManager> >(mozilla::StaticRefPtr<nsNameSpaceManager>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsWindowMemoryReporter> >(mozilla::StaticRefPtr<nsWindowMemoryReporter>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::FileSystemSecurity> >(mozilla::StaticRefPtr<mozilla::dom::FileSystemSecurity>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::GamepadManager> >(mozilla::StaticRefPtr<mozilla::dom::GamepadManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsGeolocationService> >(mozilla::StaticRefPtr<nsGeolocationService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::Geolocation> >(mozilla::StaticRefPtr<mozilla::dom::Geolocation>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsIWebVTTParserWrapper> >(mozilla::StaticRefPtr<nsIWebVTTParserWrapper>*, mozilla::ShutdownPhase)
Unexecuted instantiation: Unified_cpp_dom_media5.cpp:void mozilla::ClearOnShutdown<mozilla::MediaCache::GetMediaCache(long)::ClearThread>(mozilla::MediaCache::GetMediaCache(long)::ClearThread*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::MemoryBlockCacheTelemetry> >(mozilla::StaticRefPtr<mozilla::MemoryBlockCacheTelemetry>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::UniquePtr<mozilla::DDLogShutdowner, mozilla::DefaultDelete<mozilla::DDLogShutdowner> > >(mozilla::UniquePtr<mozilla::DDLogShutdowner, mozilla::DefaultDelete<mozilla::DDLogShutdowner> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::UniquePtr<mozilla::DDLogDeleter, mozilla::DefaultDelete<mozilla::DDLogDeleter> > >(mozilla::UniquePtr<mozilla::DDLogDeleter, mozilla::DefaultDelete<mozilla::DDLogDeleter> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::gmp::GeckoMediaPluginService> >(mozilla::StaticRefPtr<mozilla::gmp::GeckoMediaPluginService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<mozilla::gmp::GMPCapabilityAndVersion> > >(mozilla::StaticAutoPtr<nsTArray<mozilla::gmp::GMPCapabilityAndVersion> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::GlobalAllocPolicy>(mozilla::GlobalAllocPolicy*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::PDMFactoryImpl> >(mozilla::StaticAutoPtr<mozilla::PDMFactoryImpl>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::nsSynthVoiceRegistry> >(mozilla::StaticRefPtr<mozilla::dom::nsSynthVoiceRegistry>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::SpeechDispatcherService> >(mozilla::StaticRefPtr<mozilla::dom::SpeechDispatcherService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::MIDIAccessManager> >(mozilla::StaticRefPtr<mozilla::dom::MIDIAccessManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::power::PowerManagerService> >(mozilla::StaticRefPtr<mozilla::dom::power::PowerManagerService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::quota::QuotaManagerService> >(mozilla::StaticRefPtr<mozilla::dom::quota::QuotaManagerService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::StorageNotifierService> >(mozilla::StaticRefPtr<mozilla::dom::StorageNotifierService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsPluginHost> >(mozilla::StaticRefPtr<nsPluginHost>*, mozilla::ShutdownPhase)
Unexecuted instantiation: Unified_cpp_dom_indexedDB0.cpp:void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::SandboxHolder> >(mozilla::StaticRefPtr<mozilla::dom::(anonymous namespace)::SandboxHolder>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::IndexedDatabaseManager> >(mozilla::StaticRefPtr<mozilla::dom::IndexedDatabaseManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::OSFileConstantsService> >(mozilla::StaticRefPtr<mozilla::OSFileConstantsService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: Unified_cpp_dom_ipc0.cpp:void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerImpl> >(mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerImpl>*, mozilla::ShutdownPhase)
Unified_cpp_dom_ipc0.cpp:void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerChild> >(mozilla::StaticRefPtr<(anonymous namespace)::ProcessPriorityManagerChild>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::dom::ContentProcessManager> >(mozilla::StaticAutoPtr<mozilla::dom::ContentProcessManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::PreallocatedProcessManagerImpl> >(mozilla::StaticRefPtr<mozilla::PreallocatedProcessManagerImpl>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::WorkerDebuggerManager> >(mozilla::StaticRefPtr<mozilla::dom::WorkerDebuggerManager>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::U2FPrefManager> >(mozilla::StaticRefPtr<mozilla::dom::U2FPrefManager>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
3
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
3
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::U2FTokenManager> >(mozilla::StaticRefPtr<mozilla::dom::U2FTokenManager>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<nsCOMPtr<nsIOffThreadScriptReceiver> > > >(mozilla::StaticAutoPtr<nsTArray<nsCOMPtr<nsIOffThreadScriptReceiver> > >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::ConsoleUtils> >(mozilla::StaticRefPtr<mozilla::dom::ConsoleUtils>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::PerformanceService> >(mozilla::StaticRefPtr<mozilla::dom::PerformanceService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::BasicCardService> >(mozilla::StaticRefPtr<mozilla::dom::BasicCardService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::PaymentRequestManager> >(mozilla::StaticRefPtr<mozilla::dom::PaymentRequestManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::PaymentRequestService> >(mozilla::StaticRefPtr<mozilla::dom::PaymentRequestService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerManager> >(mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerManager>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerRegistrar> >(mozilla::StaticRefPtr<mozilla::dom::ServiceWorkerRegistrar>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::dom::PrioEncoder> >(mozilla::StaticRefPtr<mozilla::dom::PrioEncoder>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::dom::AvailabilityCollection> >(mozilla::StaticAutoPtr<mozilla::dom::AvailabilityCollection>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::dom::ControllerConnectionCollection> >(mozilla::StaticAutoPtr<mozilla::dom::ControllerConnectionCollection>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::widget::ScreenManager> >(mozilla::StaticRefPtr<mozilla::widget::ScreenManager>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::UniquePtr<mozilla::widget::HeadlessKeyBindings, mozilla::DefaultDelete<mozilla::widget::HeadlessKeyBindings> > >(mozilla::UniquePtr<mozilla::widget::HeadlessKeyBindings, mozilla::DefaultDelete<mozilla::widget::HeadlessKeyBindings> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<mozilla::widget::HeadlessWidget*> > >(mozilla::StaticAutoPtr<nsTArray<mozilla::widget::HeadlessWidget*> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsDragService> >(mozilla::StaticRefPtr<nsDragService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<nsCOMPtr<nsITheme> >(nsCOMPtr<nsITheme>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsISound> >(mozilla::StaticRefPtr<nsISound>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsStyleGridTemplate> >(mozilla::StaticAutoPtr<nsStyleGridTemplate>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<mozilla::AutoCleanLinkedList<RefPtr<mozilla::dom::BrowsingContext> > > >(mozilla::StaticAutoPtr<mozilla::AutoCleanLinkedList<RefPtr<mozilla::dom::BrowsingContext> > >*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsDataHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext*> > >(mozilla::StaticAutoPtr<nsDataHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext*> >*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsRefPtrHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext> > >(mozilla::StaticAutoPtr<nsRefPtrHashtable<nsUint64HashKey, mozilla::dom::BrowsingContext> >*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::TimelineConsumers> >(mozilla::StaticRefPtr<mozilla::TimelineConsumers>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsTArray<mozilla::a11y::DocAccessibleParent*> > >(mozilla::StaticAutoPtr<nsTArray<mozilla::a11y::DocAccessibleParent*> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::UniquePtr<mozilla::ProfilerParentTracker, mozilla::DefaultDelete<mozilla::ProfilerParentTracker> > >(mozilla::UniquePtr<mozilla::ProfilerParentTracker, mozilla::DefaultDelete<mozilla::ProfilerParentTracker> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticAutoPtr<nsRefPtrHashtable<nsStringHashKey, mozilla::DataStorage> > >(mozilla::StaticAutoPtr<nsRefPtrHashtable<nsStringHashKey, mozilla::DataStorage> >*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsXULAlerts> >(mozilla::StaticRefPtr<nsXULAlerts>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<nsCOMPtr<mozIExtensionProcessScript> >(nsCOMPtr<mozIExtensionProcessScript>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<nsCOMPtr<nsISubstitutingProtocolHandler> >(nsCOMPtr<nsISubstitutingProtocolHandler>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<RefPtr<mozilla::ExtensionPolicyService> >(RefPtr<mozilla::ExtensionPolicyService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<RefPtr<mozilla::extensions::AtomSet> >(RefPtr<mozilla::extensions::AtomSet>*, mozilla::ShutdownPhase)
Unexecuted instantiation: Unified_cpp_extensions0.cpp:void mozilla::ClearOnShutdown<RefPtr<mozilla::extensions::(anonymous namespace)::AtomSetPref> >(RefPtr<mozilla::extensions::(anonymous namespace)::AtomSetPref>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<RefPtr<mozilla::extensions::WebRequestService> >(RefPtr<mozilla::extensions::WebRequestService>*, mozilla::ShutdownPhase)
void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<mozilla::nsRFPService> >(mozilla::StaticRefPtr<mozilla::nsRFPService>*, mozilla::ShutdownPhase)
Line
Count
Source
99
3
{
100
3
  using namespace ClearOnShutdown_Internal;
101
3
102
3
  MOZ_ASSERT(NS_IsMainThread());
103
3
  MOZ_ASSERT(aPhase != ShutdownPhase::ShutdownPhase_Length);
104
3
105
3
  // Adding a ClearOnShutdown for a "past" phase is an error.
106
3
  if (!(static_cast<size_t>(sCurrentShutdownPhase) < static_cast<size_t>(aPhase))) {
107
0
    MOZ_ASSERT(false, "ClearOnShutdown for phase that already was cleared");
108
0
    *aPtr = nullptr;
109
0
    return;
110
0
  }
111
3
112
3
  if (!(sShutdownObservers[static_cast<size_t>(aPhase)])) {
113
0
    sShutdownObservers[static_cast<size_t>(aPhase)] = new ShutdownList();
114
0
  }
115
3
  sShutdownObservers[static_cast<size_t>(aPhase)]->insertBack(new PointerClearer<SmartPtr>(aPtr));
116
3
}
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsPrintingPromptService> >(mozilla::StaticRefPtr<nsPrintingPromptService>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<mozilla::StaticRefPtr<nsPrintingProxy> >(mozilla::StaticRefPtr<nsPrintingProxy>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<nsCOMPtr<nsIFormAutoComplete> >(nsCOMPtr<nsIFormAutoComplete>*, mozilla::ShutdownPhase)
Unexecuted instantiation: void mozilla::ClearOnShutdown<RefPtr<mozilla::AddonManagerStartup> >(RefPtr<mozilla::AddonManagerStartup>*, mozilla::ShutdownPhase)
117
118
// Called when XPCOM is shutting down, after all shutdown notifications have
119
// been sent and after all threads' event loops have been purged.
120
void KillClearOnShutdown(ShutdownPhase aPhase);
121
122
} // namespace mozilla
123
124
#endif