summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp
diff options
context:
space:
mode:
authorMilian Wolff <milian.wolff@kdab.com>2013-08-27 17:23:41 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-02 18:09:23 +0200
commitd6fee73e2129588ef14f57f88ab1556fe5a1fa98 (patch)
tree9a3bc5ee4cf1d09218cb156afb227d2c8220cdc1 /Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp
parent9f77554d6667f5c5dc6e172f3d1dee2277e33917 (diff)
downloadqtwebkit-d6fee73e2129588ef14f57f88ab1556fe5a1fa98.tar.gz
[Qt] Enable QML handling of crashed/unresponsive QtWebProcess
https://bugs.webkit.org/show_bug.cgi?id=108474 Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive and processDidBecomeResponsive signals to QML's WebView.experimental. Reviewed by Jocelyn Turcotte. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::processDidCrash): (QQuickWebViewPrivate::didRelaunchProcess): (QQuickWebViewPrivate::processDidBecomeUnresponsive): (QQuickWebViewPrivate::processDidBecomeResponsive): * UIProcess/API/qt/qquickwebview_p.h: * UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewPrivate): NOTE: This is the initial iteration of the patch attached to upstream bug report 108474, i.e.: https://bug-108474-attachments.webkit.org/attachment.cgi?id=185771 The actually committed version is incompatible with the status of QtWebKit stable as the architecture changed too much. Change-Id: I91d28dde2774fd1487a96ac36a14b522ffb7756c git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153580 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp')
-rw-r--r--Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp b/Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp
index b877ca8df..9f9021221 100644
--- a/Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp
@@ -47,6 +47,8 @@ QtWebPageLoadClient::QtWebPageLoadClient(WKPageRef pageRef, QQuickWebView* webVi
loadClient.didChangeProgress = didChangeProgress;
loadClient.didFinishProgress = didFinishProgress;
loadClient.didChangeBackForwardList = didChangeBackForwardList;
+ loadClient.processDidBecomeUnresponsive = processDidBecomeUnresponsive;
+ loadClient.processDidBecomeResponsive = processDidBecomeResponsive;
WKPageSetPageLoaderClient(pageRef, &loadClient);
}
@@ -88,6 +90,16 @@ void QtWebPageLoadClient::didChangeBackForwardList()
m_webView->d_func()->backForwardListDidChange();
}
+void QtWebPageLoadClient::processDidBecomeUnresponsive()
+{
+ m_webView->d_func()->processDidBecomeUnresponsive();
+}
+
+void QtWebPageLoadClient::processDidBecomeResponsive()
+{
+ m_webView->d_func()->processDidBecomeResponsive();
+}
+
void QtWebPageLoadClient::dispatchLoadSucceeded()
{
m_webView->d_func()->loadDidSucceed();
@@ -213,4 +225,14 @@ void QtWebPageLoadClient::didChangeBackForwardList(WKPageRef, WKBackForwardListI
toQtWebPageLoadClient(clientInfo)->didChangeBackForwardList();
}
+void QtWebPageLoadClient::processDidBecomeUnresponsive(WKPageRef, const void* clientInfo)
+{
+ toQtWebPageLoadClient(clientInfo)->processDidBecomeUnresponsive();
+}
+
+void QtWebPageLoadClient::processDidBecomeResponsive(WKPageRef, const void* clientInfo)
+{
+ toQtWebPageLoadClient(clientInfo)->processDidBecomeResponsive();
+}
+
} // namespace Webkit