WebSoupRequestManagerProxy.h [plain text]
#ifndef WebSoupRequestManagerProxy_h
#define WebSoupRequestManagerProxy_h
#include "APIObject.h"
#include "MessageReceiver.h"
#include "WebContextSupplement.h"
#include "WebSoupRequestManagerClient.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/text/WTFString.h>
namespace API {
class Data;
}
namespace WebKit {
class WebContext;
class WebSoupRequestManagerProxy : public API::ObjectImpl<API::Object::Type::SoupRequestManager>, public WebContextSupplement, private IPC::MessageReceiver {
public:
static const char* supplementName();
static PassRefPtr<WebSoupRequestManagerProxy> create(WebContext*);
virtual ~WebSoupRequestManagerProxy();
void initializeClient(const WKSoupRequestManagerClientBase*);
void registerURIScheme(const String& scheme);
void didHandleURIRequest(const API::Data*, uint64_t contentLength, const String& mimeType, uint64_t requestID);
void didReceiveURIRequestData(const API::Data*, uint64_t requestID);
void didReceiveURIRequest(const String& uriString, WebPageProxy*, uint64_t requestID);
void didFailURIRequest(const WebCore::ResourceError&, uint64_t requestID);
const Vector<String>& registeredURISchemes() const { return m_registeredURISchemes; }
using API::Object::ref;
using API::Object::deref;
private:
WebSoupRequestManagerProxy(WebContext*);
virtual void contextDestroyed() override;
virtual void processDidClose(WebProcessProxy*) override;
virtual void refWebContextSupplement() override;
virtual void derefWebContextSupplement() override;
virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
void didFailToLoadURIRequest(uint64_t requestID);
WebSoupRequestManagerClient m_client;
bool m_loadFailed;
Vector<String> m_registeredURISchemes;
};
}
#endif // WebSoupRequestManagerProxy_h