[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

jberlin at webkit.org jberlin at webkit.org
Wed Dec 22 15:16:58 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit f8f9919825c98eff036066b0b58363b77cf609ac
Author: jberlin at webkit.org <jberlin at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 29 19:30:43 2010 +0000

    ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send
    the DidCreateMainFrame messsage to the UIProcess.
    https://bugs.webkit.org/show_bug.cgi?id=48654
    
    Reviewed by Anders Carlsson.
    
    WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was
    registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is
    created). However, in the case where we close the page before it's had the chance to send
    the DidCreateMainFrame message back to the UI process, the UI Process will get the
    DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go
    through WebPageProxy.
    
    Remove the assert because it is invalid in this case.
    
    * UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::frameDestroyed):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70915 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index f1780b1..03bb508 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,23 @@
+2010-10-29  Jessie Berlin  <jberlin at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send
+        the DidCreateMainFrame messsage to the UIProcess.
+        https://bugs.webkit.org/show_bug.cgi?id=48654
+
+        WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was
+        registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is
+        created). However, in the case where we close the page before it's had the chance to send
+        the DidCreateMainFrame message back to the UI process, the UI Process will get the
+        DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go
+        through WebPageProxy.
+
+        Remove the assert because it is invalid in this case.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::frameDestroyed):
+
 2010-10-29  Adam Roben  <aroben at apple.com>
 
         Build fix when Carbon plugins are disabled
diff --git a/WebKit2/UIProcess/WebProcessProxy.cpp b/WebKit2/UIProcess/WebProcessProxy.cpp
index 58ad2cc..8b0ac99 100644
--- a/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -485,7 +485,9 @@ void WebProcessProxy::frameCreated(uint64_t frameID, WebFrameProxy* frameProxy)
 
 void WebProcessProxy::frameDestroyed(uint64_t frameID)
 {
-    ASSERT(m_frameMap.contains(frameID));
+    // If the page is closed before it has had the chance to send the DidCreateMainFrame message
+    // back to the UIProcess, then the frameDestroyed message will still be received because it
+    // gets sent directly to the WebProcessProxy.
     m_frameMap.remove(frameID);
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list