[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 06:55:44 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 943c258e760a10642d0b5679e1273b1148633fde
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 29 01:49:29 2002 +0000

    	Fixed 3041616 - Extra page added in back button history
    
    	Client-side redirects would always put an extra item in the backforward list.
    	According to Darin this is a regression all the way back from functionality moving
    	from WebBrowser to WebKit.
    
            * WebCoreSupport.subproj/WebBridge.h:
    	Added state to know if we're doing an "internal" type of load
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
    	Set internalLoad bit if delay==0
            (-[WebBridge reportClientRedirectCancelled]):
    	Clear internalLoad
            (-[WebBridge loadURL:]):
    	Set frame's loadType if doing an internal load (similar to what we do when loading
    	child frames)
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2499 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 6cd907f..cb2040f 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,22 @@
+2002-10-28  Trey Matteson  <trey at apple.com>
+
+	Fixed 3041616 - Extra page added in back button history
+
+	Client-side redirects would always put an extra item in the backforward list.
+	According to Darin this is a regression all the way back from functionality moving
+	from WebBrowser to WebKit.	
+
+        * WebCoreSupport.subproj/WebBridge.h:
+	Added state to know if we're doing an "internal" type of load
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
+	Set internalLoad bit if delay==0
+        (-[WebBridge reportClientRedirectCancelled]):
+	Clear internalLoad
+        (-[WebBridge loadURL:]):
+	Set frame's loadType if doing an internal load (similar to what we do when loading
+	child frames)
+
 2002-10-28  Darin Adler  <darin at apple.com>
 
 	- fixed storage leak of WebNetscapePluginPackage objects
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 6cd907f..cb2040f 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,22 @@
+2002-10-28  Trey Matteson  <trey at apple.com>
+
+	Fixed 3041616 - Extra page added in back button history
+
+	Client-side redirects would always put an extra item in the backforward list.
+	According to Darin this is a regression all the way back from functionality moving
+	from WebBrowser to WebKit.	
+
+        * WebCoreSupport.subproj/WebBridge.h:
+	Added state to know if we're doing an "internal" type of load
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
+	Set internalLoad bit if delay==0
+        (-[WebBridge reportClientRedirectCancelled]):
+	Clear internalLoad
+        (-[WebBridge loadURL:]):
+	Set frame's loadType if doing an internal load (similar to what we do when loading
+	child frames)
+
 2002-10-28  Darin Adler  <darin at apple.com>
 
 	- fixed storage leak of WebNetscapePluginPackage objects
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.h b/WebKit/WebCoreSupport.subproj/WebBridge.h
index 9f6b6af..1f745fe 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.h
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.h
@@ -13,6 +13,7 @@
 @interface WebBridge : WebCoreBridge <WebCoreBridge>
 {
     WebFrame *frame;
+    BOOL _doingInternalLoad;
 }
 
 - (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)dataSource;
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 7349999..f073d9f 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -214,11 +214,16 @@
 - (void)reportClientRedirectTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date
 {
     [[[frame controller] locationChangeDelegate] clientWillRedirectTo:URL delay:seconds fireDate:date forFrame:frame];
+    if (seconds == 0.0) {
+        // used to set loadType to internal, to prevent a redirect from going in the backforward list
+        _doingInternalLoad = YES;
+    }
 }
 
 - (void)reportClientRedirectCancelled
 {
     [[[frame controller] locationChangeDelegate] clientRedirectCancelledForFrame:frame];
+    _doingInternalLoad = NO;
 }
 
 - (void)setFrame:(WebFrame *)webFrame
@@ -302,6 +307,11 @@
         WebResourceRequest *request = [[WebResourceRequest alloc] initWithURL:URL];
         [request setReferrer:[self referrer]];
         [self loadRequest:request];
+        if (_doingInternalLoad) {
+            // client side redirects shouldn't be treated like user navigations
+            [frame _setLoadType:WebFrameLoadTypeInternal];
+            _doingInternalLoad = NO;
+        }
         [request release];
     }
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list