[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 08:03:45 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit d25aa8e2409c9e0377528b17f446818f06980157
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 20 15:42:35 2003 +0000

    	Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content
    
            Reviewed by darin.
    
            * WebView.subproj/WebFrame.m:
            (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
            * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 7e1efd2..c668041 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2003-10-19  Chris Blumenberg  <cblu at apple.com>
+
+	Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content
+
+        Reviewed by darin.
+
+        * WebView.subproj/WebFrame.m:
+        (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
+        * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar
+
 2003-10-19  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave and Ken.
diff --git a/WebKit/WebView.subproj/WebFrame.m b/WebKit/WebView.subproj/WebFrame.m
index 14aefd6..4307cbe 100644
--- a/WebKit/WebView.subproj/WebFrame.m
+++ b/WebKit/WebView.subproj/WebFrame.m
@@ -2474,6 +2474,12 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
 - (void)stopLoading
 {
+    // If this method is called from within this method, infinite recursion can occur (3442218). Avoid this.
+    if (_private->isStoppingLoad) {
+        return;
+    }
+    _private->isStoppingLoad = YES;
+    
     [self _invalidatePendingPolicyDecisionCallingDefaultAction:YES];
 
     [_private->provisionalDataSource _stopLoading];
@@ -2484,6 +2490,8 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
     // Release the provisional data source because there's no point in keeping it around since it is unused in this case.
     [self _setProvisionalDataSource:nil];
+    
+    _private->isStoppingLoad = NO;
 }
 
 
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index cd534ce..8158553 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -87,6 +87,7 @@ extern NSString *WebPageCacheDocumentViewKey;
 
     BOOL justOpenedForTargetedLink;
     BOOL quickRedirectComing;
+    BOOL isStoppingLoad;
 }
 
 - (void)setName:(NSString *)name;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list