2011-01-11 Maciej Stachowiak <mjs@apple.com>
authormjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Jan 2011 00:17:10 +0000 (00:17 +0000)
committermjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Jan 2011 00:17:10 +0000 (00:17 +0000)
        Reviewed by Anders Carlsson.

        UIProcess kills the WebProcess sometimes when detached frames exist
        https://bugs.webkit.org/show_bug.cgi?id=52227

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid
        if it came in for a detached frame.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit2/ChangeLog
WebKit2/UIProcess/WebPageProxy.cpp

index 63ab06fdbbf682b276772b84f0286e7caf88a978..c85b013b9afb34b7f52e9df55390af607ee8ef3f 100644 (file)
@@ -1,3 +1,14 @@
+2011-01-11  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        UIProcess kills the WebProcess sometimes when detached frames exist
+        https://bugs.webkit.org/show_bug.cgi?id=52227
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid
+        if it came in for a detached frame.
+
 2011-01-11  Anders Carlsson  <andersca@apple.com>
 
         Build fix.
index d691a65a8d96071fa2c54bc344522f099d3ae84e..19f2ee721258917241f5e3ef81d8d3da284b5477 100644 (file)
@@ -997,6 +997,10 @@ void WebPageProxy::didSaveFrameToPageCache(uint64_t frameID)
 
     WebFrameProxy* subframe = process()->webFrame(frameID);
     MESSAGE_CHECK(subframe);
+
+    if (!subframe->parentFrame())
+        return;
+
     MESSAGE_CHECK(subframe->isDescendantOf(m_mainFrame.get()));
 
     subframe->didRemoveFromHierarchy();