[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:59:34 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit b613789e485fffc1add2e007083dc721e96eea84
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 13 02:20:05 2002 +0000

    	fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com
    
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _isLoadComplete]):  Set state=completed only after we tell the bridge to
    	end the load.  This allows client redirects to be processed before we think we're complete.
            (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
    	Only process client redirects as such if we are not already complete.  This makes JS driven
    	navigations after load-time work like the user would expect, as normal navigations.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 28b2114..2113963 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,14 @@
+2002-11-12  Trey Matteson  <trey at apple.com>
+
+	fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com
+
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _isLoadComplete]):  Set state=completed only after we tell the bridge to
+	end the load.  This allows client redirects to be processed before we think we're complete.
+        (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
+	Only process client redirects as such if we are not already complete.  This makes JS driven
+	navigations after load-time work like the user would expect, as normal navigations.
+
 2002-11-12  Maciej Stachowiak  <mjs at apple.com>
 
 	- fixed 3099487 - REGRESSION: dragging an image always puts it in
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 28b2114..2113963 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,14 @@
+2002-11-12  Trey Matteson  <trey at apple.com>
+
+	fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com
+
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _isLoadComplete]):  Set state=completed only after we tell the bridge to
+	end the load.  This allows client redirects to be processed before we think we're complete.
+        (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
+	Only process client redirects as such if we are not already complete.  This makes JS driven
+	navigations after load-time work like the user would expect, as normal navigations.
+
 2002-11-12  Maciej Stachowiak  <mjs at apple.com>
 
 	- fixed 3099487 - REGRESSION: dragging an image always puts it in
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 9d20305..f0eaeb1 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -585,8 +585,6 @@ static const char * const stateNames[] = {
                 NSView <WebDocumentView> *thisDocumentView = [thisView documentView];
                 ASSERT(thisDocumentView != nil);
 
-                [self _setState: WebFrameStateComplete];
-
 		// FIXME: need to avoid doing this in the non-HTML
 		// case or the bridge may assert. Should make sure
 		// there is a bridge/part in the proper state even for
@@ -596,6 +594,11 @@ static const char * const stateNames[] = {
 		    [_private->bridge end];
 		}
 
+                // Important to flip the state after we end the load, because client redirects will
+                // come out of those, and we want to treat them as part of the same op from the
+                //user's point of view.
+                [self _setState: WebFrameStateComplete];
+
                 // Unfortunately we have to get our parent to adjust the frames in this
                 // frameset so this frame's geometry is set correctly.  This should
                 // be a reasonably inexpensive operation.
@@ -1082,12 +1085,13 @@ static const char * const stateNames[] = {
     } else {
         WebFrameLoadType previousLoadType = [self _loadType];
         WebDataSource *oldDataSource = [[self dataSource] retain];
+        WebFrameState stateBeforeStartingLoad = [self _state];
 
         [self _loadRequest:request triggeringEvent:event];
         // NB: must be done after loadRequest:, which sets the provDataSource, which
         //     inits the load type to Standard
         [self _setLoadType:loadType];
-        if (clientRedirect) {
+        if (clientRedirect && stateBeforeStartingLoad != WebFrameStateComplete) {
             // Inherit the loadType from the operation that spawned the redirect
             [self _setLoadType:previousLoadType];
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list