[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 06:53:49 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 8d018a478f954d36f14c6b49007d7e75b7328d2d
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Oct 24 16:18:18 2002 +0000
Always copy request, we can't count on it being immutable.
This was the cause of the ASSERT from last night's checkin.
* WebView.subproj/WebBaseResourceHandleDelegate.m:
(-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
Only send serverRedirectedForDataSource: if URL changed.
* WebView.subproj/WebDataSourcePrivate.m:
(-[WebDataSource _setRequest:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 0f921c3..50a26d0 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,16 @@
+2002-10-24 Richard Williamson <rjw at apple.com>
+
+ Always copy request, we can't count on it being immutable.
+ This was the cause of the ASSERT from last night's checkin.
+
+ * WebView.subproj/WebBaseResourceHandleDelegate.m:
+ (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
+
+ Only send serverRedirectedForDataSource: if URL changed.
+
+ * WebView.subproj/WebDataSourcePrivate.m:
+ (-[WebDataSource _setRequest:]):
+
2002-10-24 Chris Blumenberg <cblu at apple.com>
- Use "MIMEType" instead of "serviceType".
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 0f921c3..50a26d0 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,16 @@
+2002-10-24 Richard Williamson <rjw at apple.com>
+
+ Always copy request, we can't count on it being immutable.
+ This was the cause of the ASSERT from last night's checkin.
+
+ * WebView.subproj/WebBaseResourceHandleDelegate.m:
+ (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
+
+ Only send serverRedirectedForDataSource: if URL changed.
+
+ * WebView.subproj/WebDataSourcePrivate.m:
+ (-[WebDataSource _setRequest:]):
+
2002-10-24 Chris Blumenberg <cblu at apple.com>
- Use "MIMEType" instead of "serviceType".
diff --git a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
index 789796a..f8b12e6 100644
--- a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
+++ b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
@@ -121,29 +121,31 @@
[newRequest setUserAgent:[[dataSource controller] userAgentForURL:[newRequest URL]]];
- [newRequest retain];
- [request release];
+ // No need to retain here, will be copied after delegate callback.
request = newRequest;
if (identifier == nil){
// The identifier is released after the last callback, rather than in dealloc
// to avoid potential cycles.
- identifier = [[resourceLoadDelegate identifierForInitialRequest: newRequest fromDataSource: dataSource] retain];
+ identifier = [[resourceLoadDelegate identifierForInitialRequest: request fromDataSource: dataSource] retain];
}
if (resourceLoadDelegate)
- newRequest = [resourceLoadDelegate resource: identifier willSendRequest: newRequest fromDataSource: dataSource];
+ request = [resourceLoadDelegate resource: identifier willSendRequest: request fromDataSource: dataSource];
[[WebStandardPanels sharedStandardPanels] _didStopLoadingURL:currentURL inController: [dataSource controller]];
- if ([newRequest URL] != currentURL){
+ if ([request URL] != currentURL){
[currentURL release];
- currentURL = [[newRequest URL] retain];
+ currentURL = [[request URL] retain];
}
[[WebStandardPanels sharedStandardPanels] _didStartLoadingURL:currentURL inController:[dataSource controller]];
- return newRequest;
+ // It'd be nice if we could depend on WebResourceRequest being immutable, but we can't so always
+ // copy.
+ request = [request copy];
+ return request;
}
-(void)handle:(WebResourceHandle *)h didReceiveResponse:(WebResourceResponse *)r
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index bb036e8..5761a86 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -271,16 +271,17 @@
// source is committed. It would be a WebFoundation bug if it sent
// a redirect callback after commit.
ASSERT(!_private->committed);
- if (_private->request == request){
- ERROR ("_private->request == request\n");
- return;
- }
+ ASSERT (_private->request != request);
- [request retain];
- [_private->request release];
- _private->request = request;
+ WebResourceRequest *oldRequest = _private->request;
+
+ _private->request = [request retain];
- [[_private->controller locationChangeDelegate] serverRedirectedForDataSource:self];
+ // Only send serverRedirectedForDataSource: if URL changed.
+ if (![[oldRequest URL] isEqual: [request URL]])
+ [[_private->controller locationChangeDelegate] serverRedirectedForDataSource:self];
+
+ [oldRequest release];
}
- (void)_setResponse:(WebResourceResponse *)response
diff --git a/WebKit/WebView.subproj/WebLoader.m b/WebKit/WebView.subproj/WebLoader.m
index 789796a..f8b12e6 100644
--- a/WebKit/WebView.subproj/WebLoader.m
+++ b/WebKit/WebView.subproj/WebLoader.m
@@ -121,29 +121,31 @@
[newRequest setUserAgent:[[dataSource controller] userAgentForURL:[newRequest URL]]];
- [newRequest retain];
- [request release];
+ // No need to retain here, will be copied after delegate callback.
request = newRequest;
if (identifier == nil){
// The identifier is released after the last callback, rather than in dealloc
// to avoid potential cycles.
- identifier = [[resourceLoadDelegate identifierForInitialRequest: newRequest fromDataSource: dataSource] retain];
+ identifier = [[resourceLoadDelegate identifierForInitialRequest: request fromDataSource: dataSource] retain];
}
if (resourceLoadDelegate)
- newRequest = [resourceLoadDelegate resource: identifier willSendRequest: newRequest fromDataSource: dataSource];
+ request = [resourceLoadDelegate resource: identifier willSendRequest: request fromDataSource: dataSource];
[[WebStandardPanels sharedStandardPanels] _didStopLoadingURL:currentURL inController: [dataSource controller]];
- if ([newRequest URL] != currentURL){
+ if ([request URL] != currentURL){
[currentURL release];
- currentURL = [[newRequest URL] retain];
+ currentURL = [[request URL] retain];
}
[[WebStandardPanels sharedStandardPanels] _didStartLoadingURL:currentURL inController:[dataSource controller]];
- return newRequest;
+ // It'd be nice if we could depend on WebResourceRequest being immutable, but we can't so always
+ // copy.
+ request = [request copy];
+ return request;
}
-(void)handle:(WebResourceHandle *)h didReceiveResponse:(WebResourceResponse *)r
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list