[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
aroben at apple.com
aroben at apple.com
Wed Dec 22 11:30:00 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 63473c71037aa55fd44c836644901847cad73cb3
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jul 27 16:06:48 2010 +0000
Add a ProcessDidExit callback to the WKPageLoaderClient
Fixes <http://webkit.org/b/43048> UI process needs a way to find out
when the web process crashes
Reviewed by Anders Carlsson.
* UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a
processDidExit member of that type to WKPageLoaderClient.
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
WKPageLoaderClient.
* UIProcess/WebLoaderClient.h: Added processDidExit.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processDidExit): Tell the loader client the
process exited.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index d69e8ee..d91a7ce 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,25 @@
+2010-07-27 Adam Roben <aroben at apple.com>
+
+ Add a ProcessDidExit callback to the WKPageLoaderClient
+
+ Fixes <http://webkit.org/b/43048> UI process needs a way to find out
+ when the web process crashes
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a
+ processDidExit member of that type to WKPageLoaderClient.
+
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
+ WKPageLoaderClient.
+
+ * UIProcess/WebLoaderClient.h: Added processDidExit.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidExit): Tell the loader client the
+ process exited.
+
2010-07-27 Andras Becsi <abecsi at webkit.org>
Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKit2/UIProcess/API/C/WKPage.h b/WebKit2/UIProcess/API/C/WKPage.h
index 601f555..ae6469c 100644
--- a/WebKit2/UIProcess/API/C/WKPage.h
+++ b/WebKit2/UIProcess/API/C/WKPage.h
@@ -65,9 +65,10 @@ typedef void (*WKPageDidChangeProgressCallback)(WKPageRef page, const void *clie
typedef void (*WKPageDidFinishProgressCallback)(WKPageRef page, const void *clientInfo);
// WebPageNamespace Client
-// FIXME: These two methods should not be part of this client.
+// FIXME: These three functions should not be part of this client.
typedef void (*WKPageDidBecomeUnresponsiveCallback)(WKPageRef page, const void *clientInfo);
typedef void (*WKPageDidBecomeResponsiveCallback)(WKPageRef page, const void *clientInfo);
+typedef void (*WKPageProcessDidExitCallback)(WKPageRef page, const void *clientInfo);
typedef void (*WKPageDidChangeBackForwardListCallback)(WKPageRef page, const void *clientInfo);
@@ -89,9 +90,10 @@ struct WKPageLoaderClient {
WKPageDidChangeProgressCallback didChangeProgress;
WKPageDidFinishProgressCallback didFinishProgress;
- // FIXME: These two methods should not be part of this client.
+ // FIXME: These three functions should not be part of this client.
WKPageDidBecomeUnresponsiveCallback didBecomeUnresponsive;
WKPageDidBecomeResponsiveCallback didBecomeResponsive;
+ WKPageProcessDidExitCallback processDidExit;
WKPageDidChangeBackForwardListCallback didChangeBackForwardList;
};
diff --git a/WebKit2/UIProcess/WebLoaderClient.cpp b/WebKit2/UIProcess/WebLoaderClient.cpp
index ab2a664..fd6bc17 100644
--- a/WebKit2/UIProcess/WebLoaderClient.cpp
+++ b/WebKit2/UIProcess/WebLoaderClient.cpp
@@ -127,6 +127,12 @@ void WebLoaderClient::didBecomeResponsive(WebPageProxy* page)
m_pageLoaderClient.didBecomeResponsive(toRef(page), m_pageLoaderClient.clientInfo);
}
+void WebLoaderClient::processDidExit(WebPageProxy* page)
+{
+ if (m_pageLoaderClient.processDidExit)
+ m_pageLoaderClient.processDidExit(toRef(page), m_pageLoaderClient.clientInfo);
+}
+
void WebLoaderClient::didChangeBackForwardList(WebPageProxy* page)
{
if (m_pageLoaderClient.didChangeBackForwardList)
diff --git a/WebKit2/UIProcess/WebLoaderClient.h b/WebKit2/UIProcess/WebLoaderClient.h
index f9e0c2f..1909f94 100644
--- a/WebKit2/UIProcess/WebLoaderClient.h
+++ b/WebKit2/UIProcess/WebLoaderClient.h
@@ -55,9 +55,10 @@ public:
void didChangeProgress(WebPageProxy*);
void didFinishProgress(WebPageProxy*);
- // FIXME: These two methods should not be part of this client.
+ // FIXME: These three functions should not be part of this client.
void didBecomeUnresponsive(WebPageProxy*);
void didBecomeResponsive(WebPageProxy*);
+ void processDidExit(WebPageProxy*);
void didChangeBackForwardList(WebPageProxy*);
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index 863d6d9..5cd81a8 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -1014,8 +1014,9 @@ void WebPageProxy::processDidExit()
m_renderTreeExternalRepresentationCallbacks.clear();
m_estimatedProgress = 0.0;
-
+
m_pageClient->processDidExit();
+ m_loaderClient.processDidExit(this);
}
void WebPageProxy::processDidRevive()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list