[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

cblu cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:50:28 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a4a213b0ba9144b48bdd721821a7158b3091cdb9
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 6 23:52:08 2003 +0000

    	Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
    
            Reviewed by rjw.
    
    	* History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
            * WebView.subproj/WebViewPrivate.m:
            (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c20ba30..609fca4 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2003-08-06  Chris Blumenberg  <cblu at apple.com>
+
+	Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
+
+        Reviewed by rjw.
+
+	* History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
+        * WebView.subproj/WebViewPrivate.m:
+        (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
+
 2003-08-04  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins
diff --git a/WebKit/History.subproj/WebHistoryItemPrivate.h b/WebKit/History.subproj/WebHistoryItemPrivate.h
index 2a30c20..7d1d9b3 100644
--- a/WebKit/History.subproj/WebHistoryItemPrivate.h
+++ b/WebKit/History.subproj/WebHistoryItemPrivate.h
@@ -63,5 +63,6 @@
 
 @interface WebBackForwardList (WebPrivate)
 - (BOOL)_usesPageCache;
+- (void)_clearPageCache;
 @end
 
diff --git a/WebKit/WebView.subproj/WebViewPrivate.m b/WebKit/WebView.subproj/WebViewPrivate.m
index 5cff487..06b6157 100644
--- a/WebKit/WebView.subproj/WebViewPrivate.m
+++ b/WebKit/WebView.subproj/WebViewPrivate.m
@@ -125,6 +125,10 @@ NSString *_WebMainFrameURLKey = @"mainFrameURL";
     [_private->mainFrame _detachFromParent];
     [_private->mainFrame release];
     _private->mainFrame = nil;
+    
+    // Clear the page cache so we call destroy on all the plug-ins in the page cache to break any retain cycles.
+    // See comment in [WebHistoryItem _releaseAllPendingPageCaches] for more information.
+    [_private->backForwardList _clearPageCache];
 }
 
 - (WebFrame *)_createFrameNamed:(NSString *)fname inParent:(WebFrame *)parent allowsScrolling:(BOOL)allowsScrolling

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list