[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 07:00:03 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 043758d804aa5347f4b0212ff4e38050e3ef04f3
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Nov 14 09:13:54 2002 +0000
WebCore:
- fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
Don't force all redirects to be reloads, because the ones from JavaScript must
not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
redirects from other location changes.
* khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
are actually equal, but if they differ in anchor we will just go to the anchor.
This is the bug fix.
* kwq/WebCoreBridge.h: Add reload parameter.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
parameter into the URLArgs.
WebKit:
- fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
Make the reload flag pass across the bridge.
* WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
Pass a reload flag, based on the load type, to the bridge.
* WebView.subproj/WebFramePrivate.m:
(-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a
reload flag of NO in the anchor case. Preserve reload load types even when
doing client redirects (have to talk with Trey about this tomorrow).
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 6106d73..48ab5bf 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,22 @@
2002-11-14 Darin Adler <darin at apple.com>
+ - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
+
+ Don't force all redirects to be reloads, because the ones from JavaScript must
+ not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
+ redirects from other location changes.
+
+ * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
+ comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
+ are actually equal, but if they differ in anchor we will just go to the anchor.
+ This is the bug fix.
+
+ * kwq/WebCoreBridge.h: Add reload parameter.
+ * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
+ parameter into the URLArgs.
+
+2002-11-14 Darin Adler <darin at apple.com>
+
- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
* kwq/WebCoreBridge.h: Add needsLayout.
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 6106d73..48ab5bf 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,22 @@
2002-11-14 Darin Adler <darin at apple.com>
+ - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
+
+ Don't force all redirects to be reloads, because the ones from JavaScript must
+ not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
+ redirects from other location changes.
+
+ * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
+ comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
+ are actually equal, but if they differ in anchor we will just go to the anchor.
+ This is the bug fix.
+
+ * kwq/WebCoreBridge.h: Add reload parameter.
+ * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
+ parameter into the URLArgs.
+
+2002-11-14 Darin Adler <darin at apple.com>
+
- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
* kwq/WebCoreBridge.h: Add needsLayout.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 6106d73..48ab5bf 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,22 @@
2002-11-14 Darin Adler <darin at apple.com>
+ - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
+
+ Don't force all redirects to be reloads, because the ones from JavaScript must
+ not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
+ redirects from other location changes.
+
+ * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
+ comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
+ are actually equal, but if they differ in anchor we will just go to the anchor.
+ This is the bug fix.
+
+ * kwq/WebCoreBridge.h: Add reload parameter.
+ * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
+ parameter into the URLArgs.
+
+2002-11-14 Darin Adler <darin at apple.com>
+
- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
* kwq/WebCoreBridge.h: Add needsLayout.
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index 4d17d8d..01d392f 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -1782,7 +1782,7 @@ void KHTMLPart::slotRedirect()
return;
}
KParts::URLArgs args;
- if ( urlcmp( u, m_url.url(), true, true ) )
+ if ( urlcmp( u, m_url.url(), true, false ) )
args.reload = true;
args.setLockHistory( d->m_redirectLockHistory );
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 858f8ba..dfae706 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -94,7 +94,7 @@ enum FrameBorderStyle {
- (void)setParent:(WebCoreBridge *)parent;
-- (void)openURL:(NSURL *)URL withHeaders:(NSDictionary *)headers;
+- (void)openURL:(NSURL *)URL reload:(BOOL)reload headers:(NSDictionary *)headers;
- (void)addData:(NSData *)data withEncoding:(NSString *)encoding;
- (void)addData:(NSData *)data withOverrideEncoding:(NSString *)encoding;
- (void)closeURL;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 85ebafe..3684287 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -52,6 +52,8 @@
#import "WebCoreDOMPrivate.h"
+using KParts::URLArgs;
+
using DOM::DocumentImpl;
using khtml::parseURL;
@@ -108,15 +110,20 @@ using khtml::RenderPart;
_part->setParent([parent part]);
}
-- (void)openURL:(NSURL *)URL withHeaders:(NSDictionary *)headers
+- (void)openURL:(NSURL *)URL reload:(BOOL)reload headers:(NSDictionary *)headers
{
+ URLArgs args(_part->browserExtension()->urlArgs());
+
+ // reload
+ args.reload = reload;
+
// Content-Type
NSString *contentType = [headers objectForKey:@"Content-Type"];
if (contentType) {
- KParts::URLArgs args(_part->browserExtension()->urlArgs());
args.serviceType = QString::fromNSString(contentType);
- _part->browserExtension()->setURLArgs(args);
}
+
+ _part->browserExtension()->setURLArgs(args);
// URL
_part->openURL([[URL absoluteString] cString]);
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 59aeb0f..2eeff63 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,18 @@
2002-11-14 Darin Adler <darin at apple.com>
+ - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
+
+ Make the reload flag pass across the bridge.
+
+ * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
+ Pass a reload flag, based on the load type, to the bridge.
+ * WebView.subproj/WebFramePrivate.m:
+ (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a
+ reload flag of NO in the anchor case. Preserve reload load types even when
+ doing client redirects (have to talk with Trey about this tomorrow).
+
+2002-11-14 Darin Adler <darin at apple.com>
+
- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
* WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 59aeb0f..2eeff63 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,5 +1,18 @@
2002-11-14 Darin Adler <darin at apple.com>
+ - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
+
+ Make the reload flag pass across the bridge.
+
+ * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
+ Pass a reload flag, based on the load type, to the bridge.
+ * WebView.subproj/WebFramePrivate.m:
+ (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a
+ reload flag of NO in the anchor case. Preserve reload load types even when
+ doing client redirects (have to talk with Trey about this tomorrow).
+
+2002-11-14 Darin Adler <darin at apple.com>
+
- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
* WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index 6c974bc..885e253 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -424,17 +424,18 @@
-(void)_commitIfReady
{
if (![self isDownloading] && _private->gotFirstByte && !_private->committed) {
+ WebFrameLoadType loadType = [[self webFrame] _loadType];
+ bool reload = loadType == WebFrameLoadTypeReload
+ || loadType == WebFrameLoadTypeReloadAllowingStaleData;
+
+ NSDictionary *headers = [_private->response isKindOfClass:[WebHTTPResourceResponse class]]
+ ? [(WebHTTPResourceResponse *)_private->response headers] : nil;
+
LOG(Loading, "committed resource = %@", [[self request] URL]);
_private->committed = TRUE;
-
[self _makeRepresentation];
[[self webFrame] _transitionToCommitted];
- [[self _bridge] openURL:[_private->response URL]
- withHeaders:[_private->response isKindOfClass:[WebHTTPResourceResponse class]]
- ? [(WebHTTPResourceResponse *)_private->response headers] : nil];
-
- // Must do this after dataSourceChanged. makeRep installs a new view, which blows away
- // scroll state, which is saved within _transitionToCommitted
+ [[self _bridge] openURL:[_private->response URL] reload:reload headers:headers];
}
}
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 5b82283..6bb1000 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -1080,7 +1080,7 @@ static const char * const stateNames[] = {
ASSERT(![_private previousItem]);
// will save form state to current item, since prevItem not set
- [_private->bridge openURL:URL withHeaders:nil];
+ [_private->bridge openURL:URL reload:NO headers:nil];
[dataSrc _setURL:URL];
// NB: must happen after _setURL, since we add based on the current request
[self _addBackForwardItemClippedAtTarget:NO];
@@ -1099,8 +1099,12 @@ static const char * const stateNames[] = {
[self _setLoadType:loadType];
if (_private->instantRedirectComing) {
_private->instantRedirectComing = NO;
- // Inherit the loadType from the operation that spawned the redirect
- [self _setLoadType:previousLoadType];
+
+ // Inherit the loadType from the operation that spawned the redirect,
+ // unless the new load type is some kind of reload.
+ if (loadType != WebFrameLoadTypeReload && loadType != WebFrameLoadTypeReloadAllowingStaleData) {
+ [self _setLoadType:previousLoadType];
+ }
// need to transfer BF items from the dataSource that we're replacing
WebDataSource *newDataSource = [self provisionalDataSource];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list