[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 13:17:42 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit bf92439f3b474114f72fb7b6414422da7a412d58
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Sep 10 15:50:43 2010 +0000

    Don't crash when a frame is destroyed after the UI process has disconnected
    
    Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
    WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
    
    Reviewed by Darin Adler.
    
    * WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
    dereferencing it.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index cd8bb79..5fde4e5 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,17 @@
+2010-09-10  Adam Roben  <aroben at apple.com>
+
+        Don't crash when a frame is destroyed after the UI process has
+        disconnected
+
+        Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
+        WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
+        dereferencing it.
+
 2010-09-09  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Adam Roben.
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index 2c93ffd..ffc6d17 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -392,6 +392,12 @@ void WebProcess::addWebFrame(uint64_t frameID, WebFrame* frame)
 void WebProcess::removeWebFrame(uint64_t frameID)
 {
     m_frameMap.remove(frameID);
+
+    // We can end up here after our connection has closed when WebCore's frame life-support timer
+    // fires when the application is shutting down. There's no need (and no way) to update the UI
+    // process in this case.
+    if (!m_connection)
+        return;
     m_connection->send(WebProcessProxyMessage::DidDestroyFrame, 0, CoreIPC::In(frameID));
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list