[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
rjw
rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:40:46 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 5ff25a5c5cd0ce881a3b054ab6a3bcab742b3e1f
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed May 7 00:15:35 2003 +0000
Fixed problem for HelpViewer. HV calls stopLoading in
a webView:resource:didReceiveResponse. This causes
the premature release of the connection delegate.
Reviewed by Ken.
* WebCoreSupport.subproj/WebSubresourceClient.m:
(-[WebSubresourceClient connectionDidFinishLoading:]):
* WebKit.pbproj/project.pbxproj:
* WebView.subproj/WebBaseResourceHandleDelegate.m:
(-[WebBaseResourceHandleDelegate _releaseResources]):
(-[WebBaseResourceHandleDelegate dealloc]):
* WebView.subproj/WebMainResourceClient.m:
(-[WebMainResourceClient stopLoadingForPolicyChange]):
(-[WebMainResourceClient continueAfterContentPolicy:response:]):
(-[WebMainResourceClient continueAfterContentPolicy:]):
(-[WebMainResourceClient connection:didReceiveResponse:]):
(-[WebMainResourceClient connectionDidFinishLoading:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index b6c698a..e17603a 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,24 @@
+2003-05-06 Richard Williamson <rjw at apple.com>
+
+ Fixed problem for HelpViewer. HV calls stopLoading in
+ a webView:resource:didReceiveResponse. This causes
+ the premature release of the connection delegate.
+
+ Reviewed by Ken.
+
+ * WebCoreSupport.subproj/WebSubresourceClient.m:
+ (-[WebSubresourceClient connectionDidFinishLoading:]):
+ * WebKit.pbproj/project.pbxproj:
+ * WebView.subproj/WebBaseResourceHandleDelegate.m:
+ (-[WebBaseResourceHandleDelegate _releaseResources]):
+ (-[WebBaseResourceHandleDelegate dealloc]):
+ * WebView.subproj/WebMainResourceClient.m:
+ (-[WebMainResourceClient stopLoadingForPolicyChange]):
+ (-[WebMainResourceClient continueAfterContentPolicy:response:]):
+ (-[WebMainResourceClient continueAfterContentPolicy:]):
+ (-[WebMainResourceClient connection:didReceiveResponse:]):
+ (-[WebMainResourceClient connectionDidFinishLoading:]):
+
2003-05-06 Darin Adler <darin at apple.com>
- removed obsolete file that's still around for some reason
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
index 95900bd..164600a 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
@@ -117,10 +117,10 @@
[dataSource _removeSubresourceClient:self];
[[dataSource _webView] _finishedLoadingResourceFromDataSource:dataSource];
-
- [self release];
-
+
[super connectionDidFinishLoading:con];
+
+ [self release];
}
- (void)connection:(NSURLConnection *)con didFailLoadingWithError:(NSError *)error
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
index 95900bd..164600a 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
@@ -117,10 +117,10 @@
[dataSource _removeSubresourceClient:self];
[[dataSource _webView] _finishedLoadingResourceFromDataSource:dataSource];
-
- [self release];
-
+
[super connectionDidFinishLoading:con];
+
+ [self release];
}
- (void)connection:(NSURLConnection *)con didFailLoadingWithError:(NSError *)error
diff --git a/WebKit/WebKit.pbproj/project.pbxproj b/WebKit/WebKit.pbproj/project.pbxproj
index a2d266a..fa7c630 100644
--- a/WebKit/WebKit.pbproj/project.pbxproj
+++ b/WebKit/WebKit.pbproj/project.pbxproj
@@ -1510,7 +1510,7 @@
);
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
- shellScript = "if [ \"x$RC_RELEASE\" = \"xPanther\" ]; then\n install_name_tool -id \"${SYSTEM_LIBRARY_DIR}/PrivateFrameworks/WebKit.framework/Versions/A/WebKit\" \"${SYMROOT}/WebKit.framework/Versions/A/WebKit\" ;\n ditto \"${SYMROOT}/WebKit.framework\" \"${DSTROOT}/${SYSTEM_LIBRARY_DIR}/PrivateFrameworks/WebKit.framework\" ;\n strip -S ${DSTROOT}/\"${SYSTEM_LIBRARY_DIR}/PrivateFrameworks/WebKit.framework/Versions/A/WebKit\";\nelse\n ditto \"${SYMROOT}/WebKit.framework\" \"${DSTROOT}/AppleInternal/Library/Frameworks/WebKit.framework\"\n strip -S \"${DSTROOT}/AppleInternal/Library/Frameworks/WebKit.framework/Versions/A/WebKit\"\nfi";
+ shellScript = "if [ \"x$RC_RELEASE\" = \"xPanther\" ]; then\n install_name_tool -id \"${SYSTEM_LIBRARY_DIR}/PrivateFrameworks/WebKit.framework/Versions/A/WebKit\" \"${SYMROOT}/WebKit.framework/Versions/A/WebKit\" ;\n ditto \"${SYMROOT}/WebKit.framework\" \"${DSTROOT}/${SYSTEM_LIBRARY_DIR}/PrivateFrameworks/WebKit.framework\" ;\n strip -S ${DSTROOT}/\"${SYSTEM_LIBRARY_DIR}/PrivateFrameworks/WebKit.framework/Versions/A/WebKit\";\nelse\n ditto \"${SYMROOT}/WebKit.framework\" \"${DSTROOT}/AppleInternal/Library/PrivateFrameworks/WebKit.framework\"\n strip -S \"${DSTROOT}/AppleInternal/Library/Frameworks/WebKit.framework/Versions/A/WebKit\"\nfi";
};
6578F5DE045F817400000128 = {
fileEncoding = 30;
diff --git a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
index 4ba8e9e..8691dbc 100644
--- a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
+++ b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
@@ -28,6 +28,8 @@
- (void)_releaseResources
{
+ ASSERT (!reachedTerminalState);
+
// It's possible that when we release the handle, it will be
// deallocated and release the last reference to this object.
// We need to retain to avoid accessing the object after it
@@ -60,7 +62,7 @@
- (void)dealloc
{
- [self _releaseResources];
+ ASSERT (reachedTerminalState);
[request release];
[response release];
[super dealloc];
diff --git a/WebKit/WebView.subproj/WebLoader.m b/WebKit/WebView.subproj/WebLoader.m
index 4ba8e9e..8691dbc 100644
--- a/WebKit/WebView.subproj/WebLoader.m
+++ b/WebKit/WebView.subproj/WebLoader.m
@@ -28,6 +28,8 @@
- (void)_releaseResources
{
+ ASSERT (!reachedTerminalState);
+
// It's possible that when we release the handle, it will be
// deallocated and release the last reference to this object.
// We need to retain to avoid accessing the object after it
@@ -60,7 +62,7 @@
- (void)dealloc
{
- [self _releaseResources];
+ ASSERT (reachedTerminalState);
[request release];
[response release];
[super dealloc];
diff --git a/WebKit/WebView.subproj/WebMainResourceClient.m b/WebKit/WebView.subproj/WebMainResourceClient.m
index 7ef7d45..76cf2bd 100644
--- a/WebKit/WebView.subproj/WebMainResourceClient.m
+++ b/WebKit/WebView.subproj/WebMainResourceClient.m
@@ -89,7 +89,9 @@
-(void)stopLoadingForPolicyChange
{
+ [self retain];
[self cancelWithError:[self interruptForPolicyChangeError]];
+ [self release];
}
-(void)continueAfterNavigationPolicy:(NSURLRequest *)_request formState:(WebFormState *)state
@@ -188,18 +190,28 @@
ASSERT_NOT_REACHED();
}
+ [self retain];
+
[super connection:connection didReceiveResponse:r];
- if ([[request URL] _web_shouldLoadAsEmptyDocument]) {
- [self connectionDidFinishLoading:connection];
+ if (![dataSource _isStopping]){
+ if ([[request URL] _web_shouldLoadAsEmptyDocument]) {
+ [self connectionDidFinishLoading:connection];
+ }
}
+
+ [self release];
}
-(void)continueAfterContentPolicy:(WebPolicyAction)policy
{
NSURLResponse *r = [policyResponse retain];
+ BOOL isStopping = [dataSource _isStopping];
+
[self cancelContentPolicy];
- [self continueAfterContentPolicy:policy response:r];
+ if (!isStopping){
+ [self continueAfterContentPolicy:policy response:r];
+ }
[r release];
}
@@ -229,7 +241,6 @@
[dataSource _setResponse:r];
_contentLength = [r expectedContentLength];
- // Figure out the content policy.
[self checkContentPolicyForResponse:r];
}
@@ -267,10 +278,10 @@
[dataSource _finishedLoading];
[[dataSource _webView] _mainReceivedBytesSoFar:[[dataSource data] length]
- fromDataSource:dataSource
- complete:YES];
+ fromDataSource:dataSource
+ complete:YES];
[super connectionDidFinishLoading:con];
-
+
[self release];
}
diff --git a/WebKit/WebView.subproj/WebMainResourceLoader.m b/WebKit/WebView.subproj/WebMainResourceLoader.m
index 7ef7d45..76cf2bd 100644
--- a/WebKit/WebView.subproj/WebMainResourceLoader.m
+++ b/WebKit/WebView.subproj/WebMainResourceLoader.m
@@ -89,7 +89,9 @@
-(void)stopLoadingForPolicyChange
{
+ [self retain];
[self cancelWithError:[self interruptForPolicyChangeError]];
+ [self release];
}
-(void)continueAfterNavigationPolicy:(NSURLRequest *)_request formState:(WebFormState *)state
@@ -188,18 +190,28 @@
ASSERT_NOT_REACHED();
}
+ [self retain];
+
[super connection:connection didReceiveResponse:r];
- if ([[request URL] _web_shouldLoadAsEmptyDocument]) {
- [self connectionDidFinishLoading:connection];
+ if (![dataSource _isStopping]){
+ if ([[request URL] _web_shouldLoadAsEmptyDocument]) {
+ [self connectionDidFinishLoading:connection];
+ }
}
+
+ [self release];
}
-(void)continueAfterContentPolicy:(WebPolicyAction)policy
{
NSURLResponse *r = [policyResponse retain];
+ BOOL isStopping = [dataSource _isStopping];
+
[self cancelContentPolicy];
- [self continueAfterContentPolicy:policy response:r];
+ if (!isStopping){
+ [self continueAfterContentPolicy:policy response:r];
+ }
[r release];
}
@@ -229,7 +241,6 @@
[dataSource _setResponse:r];
_contentLength = [r expectedContentLength];
- // Figure out the content policy.
[self checkContentPolicyForResponse:r];
}
@@ -267,10 +278,10 @@
[dataSource _finishedLoading];
[[dataSource _webView] _mainReceivedBytesSoFar:[[dataSource data] length]
- fromDataSource:dataSource
- complete:YES];
+ fromDataSource:dataSource
+ complete:YES];
[super connectionDidFinishLoading:con];
-
+
[self release];
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list