SuspendedPageProxy.h [plain text]
#pragma once
#include "Connection.h"
#include "WebBackForwardListItem.h"
#include <WebCore/SecurityOriginData.h>
#include <wtf/RefCounted.h>
namespace WebKit {
class WebPageProxy;
class WebProcessProxy;
class SuspendedPageProxy : public RefCounted<SuspendedPageProxy> {
public:
static Ref<SuspendedPageProxy> create(WebPageProxy& page, WebProcessProxy& process, WebBackForwardListItem& item)
{
return adoptRef(*new SuspendedPageProxy(page, process, item));
}
virtual ~SuspendedPageProxy();
void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
WebPageProxy& page() const { return m_page; }
WebProcessProxy* process() const { return m_process; }
WebBackForwardListItem& item() const { return m_backForwardListItem; }
const WebCore::SecurityOriginData& origin() const { return m_origin; }
bool finishedSuspending() const { return m_finishedSuspending; }
void webProcessDidClose(WebProcessProxy&);
void destroyWebPageInWebProcess();
#if !LOG_DISABLED
const char* loggingString() const;
#endif
private:
SuspendedPageProxy(WebPageProxy&, WebProcessProxy&, WebBackForwardListItem&);
void didFinishLoad();
WebPageProxy& m_page;
WebProcessProxy* m_process;
Ref<WebBackForwardListItem> m_backForwardListItem;
WebCore::SecurityOriginData m_origin;
bool m_finishedSuspending { false };
};
}