QtWebPageLoadClient.h [plain text]
#ifndef QtWebPageLoadClient_h
#define QtWebPageLoadClient_h
#include <QtGlobal>
#include <WKPage.h>
QT_BEGIN_NAMESPACE
class QUrl;
QT_END_NAMESPACE
class QQuickWebView;
namespace WebKit {
class WebPageProxy;
class QtWebPageLoadClient {
public:
QtWebPageLoadClient(WKPageRef, QQuickWebView*);
int loadProgress() const { return m_loadProgress; }
void completeLoadWhenProcessDidCrashIfNeeded();
private:
void didStartProvisionalLoad(const QUrl&);
void didCommitLoad();
void didSameDocumentNavigation();
void didReceiveTitle();
void didFirstVisuallyNonEmptyLayout();
void didChangeBackForwardList();
void dispatchLoadSucceeded();
void dispatchLoadFailed(WKErrorRef);
void setLoadProgress(int);
static void didStartProvisionalLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef userData, const void* clientInfo);
static void didFailProvisionalLoadWithErrorForFrame(WKPageRef, WKFrameRef, WKErrorRef, WKTypeRef userData, const void* clientInfo);
static void didCommitLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef userData, const void* clientInfo);
static void didFinishLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef userData, const void* clientInfo);
static void didFailLoadWithErrorForFrame(WKPageRef, WKFrameRef, WKErrorRef, WKTypeRef userData, const void* clientInfo);
static void didSameDocumentNavigationForFrame(WKPageRef, WKFrameRef, WKSameDocumentNavigationType, WKTypeRef userData, const void* clientInfo);
static void didReceiveTitleForFrame(WKPageRef, WKStringRef, WKFrameRef, WKTypeRef userData, const void* clientInfo);
static void didStartProgress(WKPageRef, const void* clientInfo);
static void didChangeProgress(WKPageRef, const void* clientInfo);
static void didFinishProgress(WKPageRef, const void* clientInfo);
static void didFirstVisuallyNonEmptyLayoutForFrame(WKPageRef, WKFrameRef, WKTypeRef userData, const void* clientInfo);
static void didChangeBackForwardList(WKPageRef, WKBackForwardListItemRef, WKArrayRef, const void *clientInfo);
QQuickWebView* m_webView;
WebPageProxy* m_webPageProxy;
int m_loadProgress;
};
}
#endif // QtWebPageLoadClient_h