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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:37:02 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 97873a0f6ad96d28e62d593ed892ab7f4630d7c5
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Sep 8 22:53:00 2002 +0000

    	Finished weaning us from handleDidCancelLoading. Now I will remove both
    	handleDidBeginLoading and handleDidCancelLoading.
    
            * WebCoreSupport.subproj/WebSubresourceClient.h: Add a handle method.
            * WebCoreSupport.subproj/WebSubresourceClient.m:
            (-[WebSubresourceClient handleDidCancelLoading:]): Remove guts, move to cancel.
            (-[WebSubresourceClient handleDidFinishLoading:]): Remove the client from the
    	data source now, not the handle.
            (-[WebSubresourceClient handleDidFailLoading:withError:]): Ditto.
            (-[WebSubresourceClient cancel]): Move guts here, also make the above change.
            (-[WebSubresourceClient handle]): Added.
    
            * WebView.subproj/WebDataSource.m: Use clients list, not handles list.
            * WebView.subproj/WebDataSourcePrivate.h: Keep a list of subresource clients rather
    	than a list of handles for the subresources.
            * WebView.subproj/WebDataSourcePrivate.m:
            (-[WebDataSourcePrivate dealloc]): Update to match new field names.
            (-[WebDataSource _updateLoading]): Use clients, not handles.
            (-[WebDataSource _startLoading:]): Move line about starting loading out of the if
    	statement. I suspect the if statement is always true, though.
            (-[WebDataSource _addSubresourceClient:]): New name. Keep client pointer instead of
    	handle now.
            (-[WebDataSource _removeSubresourceClient:]): Ditto.
            (-[WebDataSource _stopLoading]): Move download handler line into WebMainResourceClient
    	since the "not sent when application is quitting" issue is gone now. Stop the subresource
    	clients using the cancel call, not by cancelling the handle directly.
            (-[WebDataSource _defersCallbacksChanged]): Update for clients list, not handles list.
    
            * WebView.subproj/WebMainResourceClient.m:
            (-[WebMainResourceClient didCancelWithHandle:]): Cancel the download handler here.
            (-[WebMainResourceClient handleDidReceiveData:data:]): Call didCancelWithHandle here.
    	A loose end from the previous change.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index f437fe4..553e3f0 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,38 @@
+2002-09-08  Darin Adler  <darin at apple.com>
+
+	Finished weaning us from handleDidCancelLoading. Now I will remove both
+	handleDidBeginLoading and handleDidCancelLoading.
+
+        * WebCoreSupport.subproj/WebSubresourceClient.h: Add a handle method.
+        * WebCoreSupport.subproj/WebSubresourceClient.m:
+        (-[WebSubresourceClient handleDidCancelLoading:]): Remove guts, move to cancel.
+        (-[WebSubresourceClient handleDidFinishLoading:]): Remove the client from the
+	data source now, not the handle.
+        (-[WebSubresourceClient handleDidFailLoading:withError:]): Ditto.
+        (-[WebSubresourceClient cancel]): Move guts here, also make the above change.
+        (-[WebSubresourceClient handle]): Added.
+
+        * WebView.subproj/WebDataSource.m: Use clients list, not handles list.
+        * WebView.subproj/WebDataSourcePrivate.h: Keep a list of subresource clients rather
+	than a list of handles for the subresources.
+        * WebView.subproj/WebDataSourcePrivate.m:
+        (-[WebDataSourcePrivate dealloc]): Update to match new field names.
+        (-[WebDataSource _updateLoading]): Use clients, not handles.
+        (-[WebDataSource _startLoading:]): Move line about starting loading out of the if
+	statement. I suspect the if statement is always true, though.
+        (-[WebDataSource _addSubresourceClient:]): New name. Keep client pointer instead of
+	handle now.
+        (-[WebDataSource _removeSubresourceClient:]): Ditto.
+        (-[WebDataSource _stopLoading]): Move download handler line into WebMainResourceClient
+	since the "not sent when application is quitting" issue is gone now. Stop the subresource
+	clients using the cancel call, not by cancelling the handle directly.
+        (-[WebDataSource _defersCallbacksChanged]): Update for clients list, not handles list.
+
+        * WebView.subproj/WebMainResourceClient.m:
+        (-[WebMainResourceClient didCancelWithHandle:]): Cancel the download handler here.
+        (-[WebMainResourceClient handleDidReceiveData:data:]): Call didCancelWithHandle here.
+	A loose end from the previous change.
+
 2002-09-07  Chris Blumenberg  <cblu at apple.com>
 
 	Made the wizzy scaling an experiment.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index f437fe4..553e3f0 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,38 @@
+2002-09-08  Darin Adler  <darin at apple.com>
+
+	Finished weaning us from handleDidCancelLoading. Now I will remove both
+	handleDidBeginLoading and handleDidCancelLoading.
+
+        * WebCoreSupport.subproj/WebSubresourceClient.h: Add a handle method.
+        * WebCoreSupport.subproj/WebSubresourceClient.m:
+        (-[WebSubresourceClient handleDidCancelLoading:]): Remove guts, move to cancel.
+        (-[WebSubresourceClient handleDidFinishLoading:]): Remove the client from the
+	data source now, not the handle.
+        (-[WebSubresourceClient handleDidFailLoading:withError:]): Ditto.
+        (-[WebSubresourceClient cancel]): Move guts here, also make the above change.
+        (-[WebSubresourceClient handle]): Added.
+
+        * WebView.subproj/WebDataSource.m: Use clients list, not handles list.
+        * WebView.subproj/WebDataSourcePrivate.h: Keep a list of subresource clients rather
+	than a list of handles for the subresources.
+        * WebView.subproj/WebDataSourcePrivate.m:
+        (-[WebDataSourcePrivate dealloc]): Update to match new field names.
+        (-[WebDataSource _updateLoading]): Use clients, not handles.
+        (-[WebDataSource _startLoading:]): Move line about starting loading out of the if
+	statement. I suspect the if statement is always true, though.
+        (-[WebDataSource _addSubresourceClient:]): New name. Keep client pointer instead of
+	handle now.
+        (-[WebDataSource _removeSubresourceClient:]): Ditto.
+        (-[WebDataSource _stopLoading]): Move download handler line into WebMainResourceClient
+	since the "not sent when application is quitting" issue is gone now. Stop the subresource
+	clients using the cancel call, not by cancelling the handle directly.
+        (-[WebDataSource _defersCallbacksChanged]): Update for clients list, not handles list.
+
+        * WebView.subproj/WebMainResourceClient.m:
+        (-[WebMainResourceClient didCancelWithHandle:]): Cancel the download handler here.
+        (-[WebMainResourceClient handleDidReceiveData:data:]): Call didCancelWithHandle here.
+	A loose end from the previous change.
+
 2002-09-07  Chris Blumenberg  <cblu at apple.com>
 
 	Made the wizzy scaling an experiment.
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.h b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.h
index 645c9b1..9963947 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.h
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.h
@@ -23,4 +23,6 @@
 + (WebSubresourceClient *)startLoadingResource:(id <WebCoreResourceLoader>)resourceLoader
     withURL:(NSURL *)URL dataSource:(WebDataSource *)dataSource;
 
+- (WebResourceHandle *)handle;
+
 @end
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
index f2bad33..f225eac 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
@@ -86,7 +86,7 @@
     }
     
     client->handle = [h retain];
-    [source _addResourceHandle:h];
+    [source _addSubresourceClient:client];
     [client didStartLoadingWithURL:[h URL]];
     [client receivedProgressWithComplete:NO];
     [h loadInBackground];
@@ -120,21 +120,6 @@
 
 - (void)handleDidCancelLoading:(WebResourceHandle *)h
 {
-    ASSERT(handle == h);
-    
-    [loader cancel];
-    
-    [dataSource _removeResourceHandle:handle];
-        
-    WebError *error = [[WebError alloc] initWithErrorCode:WebResultCancelled 
-        inDomain:WebErrorDomainWebFoundation failingURL:[[dataSource originalURL] absoluteString]];
-    [self receivedError:error];
-    [error release];
-
-    [self didStopLoading];
-
-    [handle release];
-    handle = nil;
 }
 
 - (void)handleDidFinishLoading:(WebResourceHandle *)h
@@ -143,9 +128,11 @@
     ASSERT([currentURL isEqual:[handle URL]]);
     ASSERT([[handle response] statusCode] == WebResourceHandleStatusLoadComplete);
 
+    [self retain];
+
     [loader finish];
     
-    [dataSource _removeResourceHandle:handle];
+    [dataSource _removeSubresourceClient:self];
     
     WebError *nonTerminalError = [[handle response] error];
     if (nonTerminalError) {
@@ -158,16 +145,20 @@
 
     [handle release];
     handle = nil;
+    
+    [self release];
 }
 
 - (void)handleDidFailLoading:(WebResourceHandle *)h withError:(WebError *)error
 {
     ASSERT(handle == h);
     ASSERT([currentURL isEqual:[handle URL]]);
+    
+    [self retain];
 
     [loader cancel];
     
-    [dataSource _removeResourceHandle:handle];
+    [dataSource _removeSubresourceClient:self];
     
     [self receivedError:error];
 
@@ -175,6 +166,8 @@
 
     [handle release];
     handle = nil;
+    
+    [self release];
 }
 
 - (void)handleDidRedirect:(WebResourceHandle *)h toURL:(NSURL *)URL
@@ -197,7 +190,30 @@
 
 - (void)cancel
 {
+    [self retain];
+    
     [handle cancelLoadInBackground];
+    
+    [loader cancel];
+    
+    [dataSource _removeSubresourceClient:self];
+        
+    WebError *error = [[WebError alloc] initWithErrorCode:WebResultCancelled 
+        inDomain:WebErrorDomainWebFoundation failingURL:[[dataSource originalURL] absoluteString]];
+    [self receivedError:error];
+    [error release];
+
+    [self didStopLoading];
+
+    [handle release];
+    handle = nil;
+    
+    [self release];
+}
+
+- (WebResourceHandle *)handle
+{
+    return handle;
 }
 
 @end
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.h b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.h
index 645c9b1..9963947 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.h
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.h
@@ -23,4 +23,6 @@
 + (WebSubresourceClient *)startLoadingResource:(id <WebCoreResourceLoader>)resourceLoader
     withURL:(NSURL *)URL dataSource:(WebDataSource *)dataSource;
 
+- (WebResourceHandle *)handle;
+
 @end
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
index f2bad33..f225eac 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
@@ -86,7 +86,7 @@
     }
     
     client->handle = [h retain];
-    [source _addResourceHandle:h];
+    [source _addSubresourceClient:client];
     [client didStartLoadingWithURL:[h URL]];
     [client receivedProgressWithComplete:NO];
     [h loadInBackground];
@@ -120,21 +120,6 @@
 
 - (void)handleDidCancelLoading:(WebResourceHandle *)h
 {
-    ASSERT(handle == h);
-    
-    [loader cancel];
-    
-    [dataSource _removeResourceHandle:handle];
-        
-    WebError *error = [[WebError alloc] initWithErrorCode:WebResultCancelled 
-        inDomain:WebErrorDomainWebFoundation failingURL:[[dataSource originalURL] absoluteString]];
-    [self receivedError:error];
-    [error release];
-
-    [self didStopLoading];
-
-    [handle release];
-    handle = nil;
 }
 
 - (void)handleDidFinishLoading:(WebResourceHandle *)h
@@ -143,9 +128,11 @@
     ASSERT([currentURL isEqual:[handle URL]]);
     ASSERT([[handle response] statusCode] == WebResourceHandleStatusLoadComplete);
 
+    [self retain];
+
     [loader finish];
     
-    [dataSource _removeResourceHandle:handle];
+    [dataSource _removeSubresourceClient:self];
     
     WebError *nonTerminalError = [[handle response] error];
     if (nonTerminalError) {
@@ -158,16 +145,20 @@
 
     [handle release];
     handle = nil;
+    
+    [self release];
 }
 
 - (void)handleDidFailLoading:(WebResourceHandle *)h withError:(WebError *)error
 {
     ASSERT(handle == h);
     ASSERT([currentURL isEqual:[handle URL]]);
+    
+    [self retain];
 
     [loader cancel];
     
-    [dataSource _removeResourceHandle:handle];
+    [dataSource _removeSubresourceClient:self];
     
     [self receivedError:error];
 
@@ -175,6 +166,8 @@
 
     [handle release];
     handle = nil;
+    
+    [self release];
 }
 
 - (void)handleDidRedirect:(WebResourceHandle *)h toURL:(NSURL *)URL
@@ -197,7 +190,30 @@
 
 - (void)cancel
 {
+    [self retain];
+    
     [handle cancelLoadInBackground];
+    
+    [loader cancel];
+    
+    [dataSource _removeSubresourceClient:self];
+        
+    WebError *error = [[WebError alloc] initWithErrorCode:WebResultCancelled 
+        inDomain:WebErrorDomainWebFoundation failingURL:[[dataSource originalURL] absoluteString]];
+    [self receivedError:error];
+    [error release];
+
+    [self didStopLoading];
+
+    [handle release];
+    handle = nil;
+    
+    [self release];
+}
+
+- (WebResourceHandle *)handle
+{
+    return handle;
 }
 
 @end
diff --git a/WebKit/WebView.subproj/WebDataSource.m b/WebKit/WebView.subproj/WebDataSource.m
index 93d35b8..ef71bba 100644
--- a/WebKit/WebView.subproj/WebDataSource.m
+++ b/WebKit/WebView.subproj/WebDataSource.m
@@ -71,7 +71,7 @@
 - (NSData *)data
 {
     if(!_private->resourceData){
-        return [_private->mainHandleClient resourceData];
+        return [_private->mainClient resourceData];
     }else{
         return _private->resourceData;
     }
@@ -223,7 +223,7 @@
     if (!_private->primaryLoadComplete && _private->loading) {
         return YES;
     }
-    if ([_private->resourceHandles count]) {
+    if ([_private->resourceClients count]) {
 	return YES;
     }
      
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.h b/WebKit/WebView.subproj/WebDataSourcePrivate.h
index 64a6621..68af00e 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.h
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.h
@@ -1,9 +1,9 @@
 /*	WebDataSourcePrivate.h
-	Copyright 2001, Apple, Inc. All rights reserved.
+	Copyright 2001, 2002, Apple, Inc. All rights reserved.
 
-        Private header file.  This file may reference classes (both ObjectiveC and C++)
+        Private header file.  This file may reference classes
         in WebCore.  Instances of this class are referenced by _private in
-        NSWebPageDataSource.
+        WebDataSource.
 */
 
 #import <WebKit/WebDataSource.h>
@@ -12,6 +12,7 @@
 @class WebIconLoader;
 @class WebResourceHandle;
 @class WebMainResourceClient;
+ at class WebSubresourceClient;
 @protocol WebDocumentRepresentation;
 
 @interface WebDataSourcePrivate : NSObject
@@ -36,16 +37,12 @@
     // Child frames of this frame.
     NSMutableDictionary *frames;
 
-    // The main handle.
+    // Client for main resource, and corresponding handle.
+    WebMainResourceClient *mainClient;
     WebResourceHandle *mainHandle;
-
-    // The handle client for the main document associated with the
-    // datasource.
-    WebMainResourceClient *mainHandleClient;
     
-    // Active WebResourceHandles for resources associated with the
-    // datasource.
-    NSMutableArray *resourceHandles;
+    // Clients for other resources.
+    NSMutableArray *resourceClients;
 
     // The time when the data source was told to start loading.
     double loadingStartedTime;
@@ -93,8 +90,8 @@
 - (void)_stopLoading;
 - (BOOL)_isStopping;
 - (void)_recursiveStopLoading;
-- (void)_addResourceHandle: (WebResourceHandle *)handle;
-- (void)_removeResourceHandle: (WebResourceHandle *)handle;
+- (void)_addSubresourceClient:(WebSubresourceClient *)client;
+- (void)_removeSubresourceClient:(WebSubresourceClient *)client;
 - (void)_setPrimaryLoadComplete: (BOOL)flag;
 - (double)_loadingStartedTime;
 - (void)_setTitle: (NSString *)title;
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index 50e5680..6e68acd 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -20,6 +20,7 @@
 #import <WebKit/WebImageRepresentation.h>
 #import <WebKit/WebLocationChangeHandler.h>
 #import <WebKit/WebMainResourceClient.h>
+#import <WebKit/WebSubresourceClient.h>
 #import <WebKit/WebTextRepresentation.h>
 #import <WebKit/WebController.h>
 #import <WebKit/WebControllerPrivate.h>
@@ -66,9 +67,9 @@
     [attributes release];
     [finalURL release];
     [frames release];
+    [mainClient release];
     [mainHandle release];
-    [mainHandleClient release];
-    [resourceHandles release];
+    [resourceClients release];
     [pageTitle release];
     [encoding release];
     [contentType release];
@@ -122,7 +123,7 @@
 
 - (void)_updateLoading
 {
-    [self _setLoading: _private->mainHandle || [_private->resourceHandles count]];
+    [self _setLoading:_private->mainClient || [_private->resourceClients count]];
 }
 
 - (void)_setController: (WebController *)controller
@@ -152,8 +153,8 @@
 	// there's no callback for that.
         [self _loadIcon];
 
-        [_private->mainHandleClient release];
-        _private->mainHandleClient = 0; 
+        [_private->mainClient release];
+        _private->mainClient = 0; 
         [_private->mainHandle release];
         _private->mainHandle = 0;
         [self _updateLoading];
@@ -180,30 +181,30 @@
 
     // Fire this guy up.
     if (!_private->mainHandle) {
-        _private->mainHandleClient = [[WebMainResourceClient alloc] initWithDataSource: self];
-        WebResourceRequest *request = [[WebResourceRequest alloc] initWithClient:_private->mainHandleClient URL:_private->inputURL attributes:_private->attributes flags:_private->flags];
+        _private->mainClient = [[WebMainResourceClient alloc] initWithDataSource: self];
+        WebResourceRequest *request = [[WebResourceRequest alloc] initWithClient:_private->mainClient URL:_private->inputURL attributes:_private->attributes flags:_private->flags];
         _private->mainHandle = [[WebResourceHandle alloc] initWithRequest:request];
         [request release];
-        [_private->mainHandleClient didStartLoadingWithURL:[_private->mainHandle URL]];
     }
+    [_private->mainClient didStartLoadingWithURL:[_private->mainHandle URL]];
     [_private->mainHandle loadInBackground];
 }
 
-- (void)_addResourceHandle: (WebResourceHandle *)handle
+- (void)_addSubresourceClient:(WebSubresourceClient *)client
 {
-    if (_private->resourceHandles == nil) {
-        _private->resourceHandles = [[NSMutableArray alloc] init];
+    if (_private->resourceClients == nil) {
+        _private->resourceClients = [[NSMutableArray alloc] init];
     }
     if ([_private->controller _defersCallbacks]) {
-        [handle setDefersCallbacks:YES];
+        [[client handle] setDefersCallbacks:YES];
     }
-    [_private->resourceHandles addObject:handle];
+    [_private->resourceClients addObject:client];
     [self _setLoading:YES];
 }
 
-- (void)_removeResourceHandle: (WebResourceHandle *)handle
+- (void)_removeSubresourceClient:(WebSubresourceClient *)client
 {
-    [_private->resourceHandles removeObject: handle];
+    [_private->resourceClients removeObject:client];
     [self _updateLoading];
 }
 
@@ -214,11 +215,6 @@
 
 - (void)_stopLoading
 {
-    NSArray *handles;
-
-    // Stop download here because handleDidCancelLoading isn't sent when the app quits.
-    [[_private->mainHandleClient downloadHandler] cancel];
-
     if (!_private->loading) {
 	return;
     }
@@ -226,11 +222,11 @@
     _private->stopping = YES;
     
     [_private->mainHandle cancelLoadInBackground];
-    [_private->mainHandleClient didCancelWithHandle:_private->mainHandle];
+    [_private->mainClient didCancelWithHandle:_private->mainHandle];
     
-    handles = [_private->resourceHandles copy];
-    [handles makeObjectsPerformSelector:@selector(cancelLoadInBackground)];
-    [handles release];
+    NSArray *clients = [_private->resourceClients copy];
+    [clients makeObjectsPerformSelector:@selector(cancel)];
+    [clients release];
 
     if (_private->committed) {
 	[[self _bridge] closeURL];        
@@ -509,10 +505,10 @@
 
     _private->defersCallbacks = defers;
     [_private->mainHandle setDefersCallbacks:defers];
-    NSEnumerator *e = [_private->resourceHandles objectEnumerator];
-    WebResourceHandle *handle;
-    while ((handle = [e nextObject])) {
-        [handle setDefersCallbacks:defers];
+    NSEnumerator *e = [_private->resourceClients objectEnumerator];
+    WebSubresourceClient *client;
+    while ((client = [e nextObject])) {
+        [[client handle] setDefersCallbacks:defers];
     }
 
     [[self children] makeObjectsPerformSelector:@selector(_defersCallbacksChanged)];
diff --git a/WebKit/WebView.subproj/WebMainResourceClient.m b/WebKit/WebView.subproj/WebMainResourceClient.m
index e6165df..089a0fb 100644
--- a/WebKit/WebView.subproj/WebMainResourceClient.m
+++ b/WebKit/WebView.subproj/WebMainResourceClient.m
@@ -133,6 +133,7 @@
     [self receivedError:error forHandle:handle];
     [error release];
     
+    [downloadHandler cancel];
     [downloadHandler release];
     downloadHandler = nil;
 
@@ -228,6 +229,7 @@
         break;
     case WebContentPolicyIgnore:
         [handle cancelLoadInBackground];
+        [self didCancelWithHandle:handle];
         [frame _setProvisionalDataSource:nil];
 	[[[dataSource controller] locationChangeHandler] locationChangeDone:nil forDataSource:dataSource];
         break;
diff --git a/WebKit/WebView.subproj/WebMainResourceLoader.m b/WebKit/WebView.subproj/WebMainResourceLoader.m
index e6165df..089a0fb 100644
--- a/WebKit/WebView.subproj/WebMainResourceLoader.m
+++ b/WebKit/WebView.subproj/WebMainResourceLoader.m
@@ -133,6 +133,7 @@
     [self receivedError:error forHandle:handle];
     [error release];
     
+    [downloadHandler cancel];
     [downloadHandler release];
     downloadHandler = nil;
 
@@ -228,6 +229,7 @@
         break;
     case WebContentPolicyIgnore:
         [handle cancelLoadInBackground];
+        [self didCancelWithHandle:handle];
         [frame _setProvisionalDataSource:nil];
 	[[[dataSource controller] locationChangeHandler] locationChangeDone:nil forDataSource:dataSource];
         break;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list