[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