[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:56:13 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit ed4ffbfbe88ea364e9012a62869582fe359f3f63
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Sep 13 02:11:34 2003 +0000

    WebKit:
    	Fixed 3420097.  If redirects are cancelled during a pending load don't reset the quickRedirect flag.
    
            Reviewed by Darin.
    
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge reportClientRedirectCancelled:]):
            * WebView.subproj/WebFramePrivate.h:
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
            (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
            (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
            (-[WebFrame _clientRedirectCancelled:]):
    
    WebCore:
    	Fixed 3420097.  Pass flag up to WebKit indicating that redirects are being cancelled during a pending load.
    
            Reviewed by Darin.
    
            * khtml/khtml_part.cpp:
            (KHTMLPart::cancelRedirection):
            * khtml/khtml_part.h:
            * khtml/khtmlpart_p.h:
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::provisionalLoadStarted):
            (KWQKHTMLPart::redirectionTimerStartedOrStopped):
            * kwq/WebCoreBridge.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4984 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 4023320..0a7faa4 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,18 @@
+2003-09-12  Richard Williamson   <rjw at apple.com>
+
+	Fixed 3420097.  Pass flag up to WebKit indicating that redirects are being cancelled during a pending load.
+
+        Reviewed by Darin.
+
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::cancelRedirection):
+        * khtml/khtml_part.h:
+        * khtml/khtmlpart_p.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::provisionalLoadStarted):
+        (KWQKHTMLPart::redirectionTimerStartedOrStopped):
+        * kwq/WebCoreBridge.h:
+
 === WebCore-103 ===
 
 2003-09-12  Maciej Stachowiak  <mjs at apple.com>
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 4023320..0a7faa4 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,18 @@
+2003-09-12  Richard Williamson   <rjw at apple.com>
+
+	Fixed 3420097.  Pass flag up to WebKit indicating that redirects are being cancelled during a pending load.
+
+        Reviewed by Darin.
+
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::cancelRedirection):
+        * khtml/khtml_part.h:
+        * khtml/khtmlpart_p.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::provisionalLoadStarted):
+        (KWQKHTMLPart::redirectionTimerStartedOrStopped):
+        * kwq/WebCoreBridge.h:
+
 === WebCore-103 ===
 
 2003-09-12  Maciej Stachowiak  <mjs at apple.com>
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index b946b4a..d2f901e 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -1905,9 +1905,10 @@ void KHTMLPart::scheduleHistoryNavigation( int steps )
     }
 }
 
-void KHTMLPart::cancelRedirection()
+void KHTMLPart::cancelRedirection(bool cancelWithLoadInProgress)
 {
     if (d) {
+        d->m_cancelWithLoadInProgress = cancelWithLoadInProgress;
         d->m_scheduledRedirection = noRedirectionScheduled;
         d->m_redirectionTimer.stop();
     }
diff --git a/WebCore/khtml/khtml_part.h b/WebCore/khtml/khtml_part.h
index c89fd72..363b62d 100644
--- a/WebCore/khtml/khtml_part.h
+++ b/WebCore/khtml/khtml_part.h
@@ -1076,7 +1076,7 @@ private:
   bool checkLinkSecurity(const KURL &linkURL,const QString &message = QString::null, const QString &button = QString::null);
   QVariant executeScript(QString filename, int baseLine, const DOM::Node &n, const QString &script);
   
-  void cancelRedirection();
+  void cancelRedirection(bool newLoadInProgress = false);
 
   KJSProxy *jScript();
 
diff --git a/WebCore/khtml/khtmlpart_p.h b/WebCore/khtml/khtmlpart_p.h
index 22566ae..b593754 100644
--- a/WebCore/khtml/khtmlpart_p.h
+++ b/WebCore/khtml/khtmlpart_p.h
@@ -162,6 +162,8 @@ public:
     m_bPendingChildRedirection = false;
     m_executingJavaScriptFormAction = false;
 
+    m_cancelWithLoadInProgress = false;
+    
     // inherit settings from parent
     if(parent && parent->inherits("KHTMLPart"))
     {
@@ -398,6 +400,8 @@ public:
   bool m_bPendingChildRedirection;
 
   bool m_executingJavaScriptFormAction;
+  
+  bool m_cancelWithLoadInProgress;
 };
 
 #endif
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 279c57a..f382d3f 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -188,7 +188,7 @@ void KWQKHTMLPart::provisionalLoadStarted()
     // we don't want to wait until we get an actual http response back
     // to cancel pending redirects, otherwise they might fire before
     // that happens.
-    cancelRedirection();
+    cancelRedirection(true);
 }
 
 bool KWQKHTMLPart::openURL(const KURL &url)
@@ -766,7 +766,7 @@ void KWQKHTMLPart::redirectionTimerStartedOrStopped()
                                lockHistory:d->m_redirectLockHistory
                                isJavaScriptFormAction:d->m_executingJavaScriptFormAction];
     } else {
-        [_bridge reportClientRedirectCancelled];
+        [_bridge reportClientRedirectCancelled:d->m_cancelWithLoadInProgress];
     }
 }
 
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index d6218db..9ec8176 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -280,7 +280,7 @@ typedef enum {
 - (BOOL)isReloading;
 
 - (void)reportClientRedirectToURL:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction;
-- (void)reportClientRedirectCancelled;
+- (void)reportClientRedirectCancelled:(BOOL)cancelWithLoadInProgress;
 
 - (void)focusWindow;
 - (void)unfocusWindow;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 6dd15a0..91f6ff1 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,18 @@
+2003-09-12  Richard Williamson   <rjw at apple.com>
+
+	Fixed 3420097.  If redirects are cancelled during a pending load don't reset the quickRedirect flag.
+
+        Reviewed by Darin.
+
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge reportClientRedirectCancelled:]):
+        * WebView.subproj/WebFramePrivate.h:
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
+        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
+        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
+        (-[WebFrame _clientRedirectCancelled:]):
+
 === WebKit-103 ===
 
 2003-09-12  Richard Williamson   <rjw at apple.com>
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 338dc33..8568c57 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -395,9 +395,9 @@
     [_frame _clientRedirectedTo:URL delay:seconds fireDate:date lockHistory:lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction];
 }
 
-- (void)reportClientRedirectCancelled
+- (void)reportClientRedirectCancelled:(BOOL)cancelWithLoadInProgress
 {
-    [_frame _clientRedirectCancelled];
+    [_frame _clientRedirectCancelled:cancelWithLoadInProgress];
 }
 
 - (void)close
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index b4f61a3..514741c 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -147,7 +147,7 @@ extern NSString *WebCorePageCacheStateKey;
 - (void)_loadRequest:(NSURLRequest *)request inFrameNamed:(NSString *)frameName;
 
 - (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction;
-- (void)_clientRedirectCancelled;
+- (void)_clientRedirectCancelled:(BOOL)cancelWithLoadInProgress;
 
 - (void)_textSizeMultiplierChanged;
 
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 6f52f2d..9e4b58c 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -1600,6 +1600,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     WebDataSource *dataSrc = [self dataSource];
 
     BOOL isRedirect = _private->quickRedirectComing;
+    LOG(Redirect, "%@(%p) _private->quickRedirectComing = %d", [self name], self, (int)_private->quickRedirectComing);
     _private->quickRedirectComing = NO;
 
     [dataSrc _setURL:URL];
@@ -1742,6 +1743,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     } else {
         [self _loadRequest:request triggeringAction:action loadType:loadType formState:formState];
         if (_private->quickRedirectComing) {
+            LOG(Redirect, "%@(%p) _private->quickRedirectComing = %d", [self name], self, (int)_private->quickRedirectComing);
             _private->quickRedirectComing = NO;
             
             // need to transfer BF items from the dataSource that we're replacing
@@ -1845,7 +1847,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
 - (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction
 {
-    LOG(Redirect, "Client redirect to: %@", URL);
+    LOG(Redirect, "%@(%p) Client redirect to: %@, [self dataSource] = %p, lockHistory = %d, isJavaScriptFormAction = %d", [self name], self, URL, [self dataSource], (int)lockHistory, (int)isJavaScriptFormAction);
 
     [[[self webView] _frameLoadDelegateForwarder] webView:_private->webView
                                 willPerformClientRedirectToURL:URL
@@ -1859,16 +1861,20 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
         // 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;
+        LOG(Redirect, "%@(%p) _private->quickRedirectComing = %d", [self name], self, (int)_private->quickRedirectComing);
     } else {
         _private->quickRedirectComing = lockHistory;
+        LOG(Redirect, "%@(%p) _private->quickRedirectComing = %d", [self name], self, (int)_private->quickRedirectComing);
     }
 }
 
-- (void)_clientRedirectCancelled
+- (void)_clientRedirectCancelled:(BOOL)cancelWithLoadInProgress
 {
     [[[self webView] _frameLoadDelegateForwarder] webView:_private->webView
                                didCancelClientRedirectForFrame:self];
-    _private->quickRedirectComing = NO;
+    if (!cancelWithLoadInProgress)
+        _private->quickRedirectComing = NO;
+    LOG(Redirect, "%@(%p) _private->quickRedirectComing = %d", [self name], self, (int)_private->quickRedirectComing);
 }
 
 - (void)_saveScrollPositionToItem:(WebHistoryItem *)item

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list