WebSWServerToContextConnection.h [plain text]
#pragma once
#if ENABLE(SERVICE_WORKER)
#include "MessageReceiver.h"
#include "MessageSender.h"
#include <WebCore/SWServerToContextConnection.h>
namespace WebKit {
class WebSWServerToContextConnection : public WebCore::SWServerToContextConnection, public IPC::MessageSender, public IPC::MessageReceiver {
public:
template <typename... Args> static Ref<WebSWServerToContextConnection> create(Args&&... args)
{
return adoptRef(*new WebSWServerToContextConnection(std::forward<Args>(args)...));
}
void connectionClosed();
IPC::Connection* ipcConnection() const { return m_ipcConnection.ptr(); }
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
void terminate();
private:
WebSWServerToContextConnection(const WebCore::SecurityOriginData&, Ref<IPC::Connection>&&);
IPC::Connection* messageSenderConnection() final;
uint64_t messageSenderDestinationID() final;
void installServiceWorkerContext(const WebCore::ServiceWorkerContextData&, PAL::SessionID, const String& userAgent) final;
void fireInstallEvent(WebCore::ServiceWorkerIdentifier) final;
void fireActivateEvent(WebCore::ServiceWorkerIdentifier) final;
void terminateWorker(WebCore::ServiceWorkerIdentifier) final;
void syncTerminateWorker(WebCore::ServiceWorkerIdentifier) final;
void findClientByIdentifierCompleted(uint64_t requestIdentifier, const Optional<WebCore::ServiceWorkerClientData>&, bool hasSecurityError) final;
void matchAllCompleted(uint64_t requestIdentifier, const Vector<WebCore::ServiceWorkerClientData>&) final;
void claimCompleted(uint64_t requestIdentifier) final;
void didFinishSkipWaiting(uint64_t callbackID) final;
void connectionMayNoLongerBeNeeded() final;
Ref<IPC::Connection> m_ipcConnection;
};
}
#endif // ENABLE(SERVICE_WORKER)