MessagePortChannelProviderImpl.h [plain text]
#pragma once
#include "MessagePortChannelProvider.h"
#include "MessagePortChannelRegistry.h"
namespace WebCore {
class MessagePortChannelProviderImpl : public MessagePortChannelProvider {
public:
MessagePortChannelProviderImpl();
~MessagePortChannelProviderImpl() final;
private:
void createNewMessagePortChannel(const MessagePortIdentifier& local, const MessagePortIdentifier& remote) final;
void entangleLocalPortInThisProcessToRemote(const MessagePortIdentifier& local, const MessagePortIdentifier& remote) final;
void messagePortDisentangled(const MessagePortIdentifier& local) final;
void messagePortClosed(const MessagePortIdentifier& local) final;
void postMessageToRemote(MessageWithMessagePorts&&, const MessagePortIdentifier& remoteTarget) final;
void takeAllMessagesForPort(const MessagePortIdentifier&, Function<void(Vector<MessageWithMessagePorts>&&, Function<void()>&&)>&&) final;
void checkRemotePortForActivity(const MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& callback) final;
void checkProcessLocalPortForActivity(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(HasActivity)>&&) final;
void performActionOnMainThread(Function<void()>&&);
MessagePortChannelRegistry m_registry;
};
}