Bug 1854550 - pt 10. Allow LOG() with zero extra arguments r=glandium
[gecko.git] / dom / base / MessageListenerManager.cpp
blobffdc63083000469b21960dc98c76dd8c353f21f1
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/. */
7 #include "mozilla/dom/MessageListenerManager.h"
8 #include "mozilla/dom/MessageBroadcaster.h"
10 namespace mozilla::dom {
12 MessageListenerManager::MessageListenerManager(
13 ipc::MessageManagerCallback* aCallback, MessageBroadcaster* aParentManager,
14 ipc::MessageManagerFlags aFlags)
15 : nsFrameMessageManager(aCallback, aFlags),
16 mParentManager(aParentManager) {}
18 MessageListenerManager::~MessageListenerManager() = default;
20 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(MessageListenerManager)
21 NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
22 NS_INTERFACE_MAP_END_INHERITING(nsFrameMessageManager)
23 NS_IMPL_ADDREF_INHERITED(MessageListenerManager, nsFrameMessageManager)
24 NS_IMPL_RELEASE_INHERITED(MessageListenerManager, nsFrameMessageManager)
26 NS_IMPL_CYCLE_COLLECTION_CLASS(MessageListenerManager)
27 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(MessageListenerManager,
28 nsFrameMessageManager)
29 NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mParentManager)
30 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
31 NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(MessageListenerManager,
32 nsFrameMessageManager)
33 NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
34 NS_IMPL_CYCLE_COLLECTION_TRACE_END
35 NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(MessageListenerManager,
36 nsFrameMessageManager)
37 NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
38 NS_IMPL_CYCLE_COLLECTION_UNLINK(mParentManager)
39 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
41 void MessageListenerManager::ClearParentManager(bool aRemove) {
42 if (aRemove && mParentManager) {
43 mParentManager->RemoveChildManager(this);
45 mParentManager = nullptr;
48 } // namespace mozilla::dom