Files
tubestation/dom/serviceworkers/ServiceWorkerContainerChild.h
Molnar Sandor d4e3e12c2a Backed out 4 changesets (bug 1715547) for causing leakcheck failures in ServiceWorkerPrivate. CLOSED TREE
Backed out changeset c2114b608577 (bug 1715547)
Backed out changeset c8985e7c6a71 (bug 1715547)
Backed out changeset 8af1f4a4be08 (bug 1715547)
Backed out changeset 85b20f601145 (bug 1715547)
2022-05-17 02:27:10 +03:00

48 lines
1.4 KiB
C++

/* -*- Mode: C++; tab-width: 8; 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 mozilla_dom_serviceworkercontainerchild_h__
#define mozilla_dom_serviceworkercontainerchild_h__
#include "mozilla/dom/PServiceWorkerContainerChild.h"
// XXX Avoid including this here by moving function bodies to the cpp file
#include "mozilla/dom/WorkerRef.h"
namespace mozilla::dom {
class RemoteServiceWorkerContainerImpl;
class IPCWorkerRef;
class ServiceWorkerContainerChild final : public PServiceWorkerContainerChild {
RefPtr<IPCWorkerRef> mIPCWorkerRef;
RemoteServiceWorkerContainerImpl* mOwner;
bool mTeardownStarted;
ServiceWorkerContainerChild();
~ServiceWorkerContainerChild() = default;
// PServiceWorkerContainerChild
void ActorDestroy(ActorDestroyReason aReason) override;
public:
NS_INLINE_DECL_REFCOUNTING(ServiceWorkerContainerChild, override);
static already_AddRefed<ServiceWorkerContainerChild> Create();
void SetOwner(RemoteServiceWorkerContainerImpl* aOwner);
void RevokeOwner(RemoteServiceWorkerContainerImpl* aOwner);
void MaybeStartTeardown();
};
} // namespace mozilla::dom
#endif // mozilla_dom_serviceworkercontainerchild_h__