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

jhawkins at chromium.org jhawkins at chromium.org
Wed Dec 22 11:56:21 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 0bdad3e58a1ecae5906ad7c615dbbcd3adb786c2
Author: jhawkins at chromium.org <jhawkins at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 11 20:10:55 2010 +0000

    2010-08-11  James Hawkins  <jhawkins at chromium.org>
    
            Reviewed by Dmitry Titov.
    
            [Chromium] Notify the WebFrameClient when the frame is detached from
            the view. This is used to clear the cached frame in the FormManager.
            Eventually this will be removed once handling forms is moved into
            WebCore.
            https://bugs.webkit.org/show_bug.cgi?id=43648
    
            * public/WebFrameClient.h:
            (WebKit::WebFrameClient::frameDetached):
            * src/FrameLoaderClientImpl.cpp:
            (WebKit::FrameLoaderClientImpl::detachedFromParent3):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 4ed2024..94acc55 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-11  James Hawkins  <jhawkins at chromium.org>
+
+        Reviewed by Dmitry Titov.
+
+        [Chromium] Notify the WebFrameClient when the frame is detached from
+        the view. This is used to clear the cached frame in the FormManager.
+        Eventually this will be removed once handling forms is moved into
+        WebCore.
+        https://bugs.webkit.org/show_bug.cgi?id=43648
+
+        * public/WebFrameClient.h:
+        (WebKit::WebFrameClient::frameDetached):
+        * src/FrameLoaderClientImpl.cpp:
+        (WebKit::FrameLoaderClientImpl::detachedFromParent3):
+
 2010-08-11  Dimitri Glazkov  <dglazkov at chromium.org>
 
         Build fix, turn off yet-unbaked DEVICE_ORIENTATION stuff.
diff --git a/WebKit/chromium/public/WebFrameClient.h b/WebKit/chromium/public/WebFrameClient.h
index 2b7ee0d..91f0e38 100644
--- a/WebKit/chromium/public/WebFrameClient.h
+++ b/WebKit/chromium/public/WebFrameClient.h
@@ -90,6 +90,12 @@ public:
 
     // General notifications -----------------------------------------------
 
+    // This frame has been detached from the view.
+    //
+    // FIXME: Do not use this in new code. Currently this is used by code in
+    // Chromium that errantly caches WebKit objects.
+    virtual void frameDetached(WebFrame*) { }
+
     // This frame is about to be closed.
     virtual void willClose(WebFrame*) { }
 
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index db74080..74186bf 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -248,7 +248,12 @@ void FrameLoaderClientImpl::detachedFromParent3()
     // go to a page and then navigate to a new page without getting any asserts
     // or crashes.
     m_webFrame->frame()->script()->proxy()->clearForClose();
-    
+
+    // Alert the client that the frame is being detached. This is the last
+    // chance we have to communicate with the client.
+    if (m_webFrame->client())
+        m_webFrame->client()->frameDetached(m_webFrame);
+
     // Stop communicating with the WebFrameClient at this point since we are no
     // longer associated with the Page.
     m_webFrame->setClient(0);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list