Reviewed by John.
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Aug 2004 15:38:31 +0000 (15:38 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Aug 2004 15:38:31 +0000 (15:38 +0000)
        Checked in by Ken

        Ken comments: It looks like Maciej forgot to land this when he checked in the
        WebCore portion of this change.

        <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website

        Because we will stop parsing when there is a pending redirection,
        avoid setting one if no navigation would actually take place
        because the number of steps is out of range.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canGoBackOrForward:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/WebCoreSupport.subproj/WebBridge.m

index fa76e5acc057ccfda96aca8bebdb58f73da22ed4..bee18eecbf843e6808d77c819f3cc0bdb5c97b87 100644 (file)
@@ -1,3 +1,20 @@
+2004-08-27  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by John. 
+        Checked in by Ken
+        
+        Ken comments: It looks like Maciej forgot to land this when he checked in the
+        WebCore portion of this change.
+
+        <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
+            
+        Because we will stop parsing when there is a pending redirection,
+        avoid setting one if no navigation would actually take place
+        because the number of steps is out of range.
+    
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge canGoBackOrForward:]):
+
 2004-08-27  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by Chris
index c3e02521b66df82190bb85a1113d218b39b7712f..4317717f04fb0e46cb707cbf3637899d37ffaa65 100644 (file)
@@ -1078,6 +1078,20 @@ static BOOL loggedObjectCacheSize = NO;
     return [[[_frame webView] backForwardList] backListCount] + 1;
 }
 
+- (BOOL)canGoBackOrForward:(int)distance
+{
+    if (distance == 0)
+        return TRUE;
+
+    if (distance > 0 && distance <= [[[_frame webView] backForwardList] forwardListCount])
+        return TRUE;
+
+    if (distance < 0 && -distance <= [[[_frame webView] backForwardList] backListCount])
+        return TRUE;
+    
+    return FALSE;
+}
+
 - (void)goBackOrForward:(int)distance
 {
     if (distance == 0) {