[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
trey
trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:16:25 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit bf7d82ff6ae468bd79a4b4e4fe16c24c0ec34e38
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Dec 19 03:44:15 2002 +0000
WebCore:
3098388 - Pressing the back button goes back two levels at allmusic.com
In support of the fix for this bug, WebCore passes khtml's lockHistory setting
up through the bridge.
Reviewed by Darin
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass it along.
* kwq/WebCoreBridge.h:
WebKit:
3098388 - Pressing the back button goes back two levels at allmusic.com
I rewrote the logic we use to decide whether a given redirect should be
treated as part of the previous navigation. We make use of WebCore's
lockHistory setting, the delay time and the frame state.
Reviewed by Darin.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
Pass lockHistory up to the frame.
* WebView.subproj/WebFramePrivate.h:
* WebView.subproj/WebFramePrivate.m:
(-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
New logic. No quick summary, best to read the code.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index aa22992..29f2231 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,16 @@
+2002-12-18 Trey Matteson <trey at apple.com>
+
+ 3098388 - Pressing the back button goes back two levels at allmusic.com
+
+ In support of the fix for this bug, WebCore passes khtml's lockHistory setting
+ up through the bridge.
+
+ Reviewed by Darin
+
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass it along.
+ * kwq/WebCoreBridge.h:
+
2002-12-18 Maciej Stachowiak <mjs at apple.com>
Reviewed by John.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index aa22992..29f2231 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,16 @@
+2002-12-18 Trey Matteson <trey at apple.com>
+
+ 3098388 - Pressing the back button goes back two levels at allmusic.com
+
+ In support of the fix for this bug, WebCore passes khtml's lockHistory setting
+ up through the bridge.
+
+ Reviewed by Darin
+
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass it along.
+ * kwq/WebCoreBridge.h:
+
2002-12-18 Maciej Stachowiak <mjs at apple.com>
Reviewed by John.
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 49b8878..6667715 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -306,7 +306,8 @@ void KWQKHTMLPart::redirectionTimerStartedOrStopped()
if (d->m_redirectionTimer.isActive()) {
[_bridge reportClientRedirectToURL:d->m_redirectURL.getNSString()
delay:d->m_delayRedirect
- fireDate:[d->m_redirectionTimer.getNSTimer() fireDate]];
+ fireDate:[d->m_redirectionTimer.getNSTimer() fireDate]
+ lockHistory:d->m_redirectLockHistory];
} else {
[_bridge reportClientRedirectCancelled];
}
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 87a8da4..f7a1105 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -221,7 +221,7 @@ enum FrameBorderStyle {
- (void)objectLoadedFromCacheWithURL:(NSString *)URL response:(id)response size:(unsigned)bytes;
- (BOOL)isReloading;
-- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date;
+- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory;
- (void)reportClientRedirectCancelled;
- (void)unfocusWindow;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index dbbd53b..e744a24 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,21 @@
+2002-12-18 Trey Matteson <trey at apple.com>
+
+ 3098388 - Pressing the back button goes back two levels at allmusic.com
+
+ I rewrote the logic we use to decide whether a given redirect should be
+ treated as part of the previous navigation. We make use of WebCore's
+ lockHistory setting, the delay time and the frame state.
+
+ Reviewed by Darin.
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
+ Pass lockHistory up to the frame.
+ * WebView.subproj/WebFramePrivate.h:
+ * WebView.subproj/WebFramePrivate.m:
+ (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
+ New logic. No quick summary, best to read the code.
+
2002-12-18 Chris Blumenberg <cblu at apple.com>
Reject the RealPlayer plug-in because we know it doesn't work.
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index a9a9833..96a025b 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -231,9 +231,9 @@
return [[[self dataSource] request] requestCachePolicy] == WebRequestCachePolicyLoadFromOrigin;
}
-- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date
+- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory
{
- [frame _clientRedirectedTo:[NSURL _web_URLWithString:URL] delay:seconds fireDate:date];
+ [frame _clientRedirectedTo:[NSURL _web_URLWithString:URL] delay:seconds fireDate:date lockHistory:lockHistory];
}
- (void)reportClientRedirectCancelled
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index 5117f14..051ad21 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -128,7 +128,7 @@ typedef enum {
- (void)_loadURL:(NSURL *)URL intoChild:(WebFrame *)childFrame;
- (void)_postWithURL:(NSURL *)URL data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event;
-- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date;
+- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory;
- (void)_clientRedirectCancelled;
- (void)_textSizeMultiplierChanged;
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 5519bbf..5f8c440 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -1497,17 +1497,31 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
[request release];
}
-- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date
+- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory
{
LOG(Redirect, "Client redirect to: %@", URL);
[[[self controller] locationChangeDelegate] clientWillRedirectTo:URL delay:seconds fireDate:date forFrame:self];
// If a "quick" redirect comes in an, we set a special mode so we treat the next
// load as part of the same navigation.
- // If we don't have a dataSource, we have no "original" load on which to base a redirect,
- // so we better just treat the redirect as a normal load.
- if (seconds <= 1.0 && [self dataSource]) {
- _private->quickRedirectComing = YES;
+
+ if (![self dataSource]) {
+ // If we don't have a dataSource, we have no "original" load on which to base a redirect,
+ // so we better just treat the redirect as a normal load.
+ _private->quickRedirectComing = NO;
+ } else if (lockHistory) {
+ // meta-refresh, or another case WC thinks doens't need a b/f item
+ _private->quickRedirectComing = (seconds <= 1.0);
+ } else {
+ // a redirection stemming from a JS call
+ if ([[[self controller] mainFrame] _state] == WebFrameStateCompleting) {
+ // Happened as part of closing a doc, so it's part of an onload
+ // I think delay will always be zero, but it's fine to go with the <1 policy
+ _private->quickRedirectComing = (seconds <= 1.0);
+ } else {
+ // Some other JS action, perhaps handling a user event. Treat like a normal nav.
+ _private->quickRedirectComing = NO;
+ }
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list