[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