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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:45:08 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 242a3fb0ff39303972a89dee138dc5727afbf40d
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jun 12 16:43:34 2003 +0000

    WebCore:
    
            Fixed by Richard, reviewed by me.
    
    	- fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
    
            * khtml/khtmlpart_p.h: Add an "executing JavaScript form action" flag.
            * kwq/WebCoreBridge.h: Add an "executing JavaScript form action" flag parameter to
            the reportClientRedirectToURL method.
    
            * khtml/khtml_part.cpp: (KHTMLPart::submitForm): In the JavaScript case, set a
            flag to say we are executing a JavaScript form action.
            * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass the
            isJavaScriptFormAction state over the bridge.
    
    WebKit:
    
            Fixed by Richard, reviewed by me.
    
    	- fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
    
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
            Added isJavaScriptFormAction parameter, passed on to frame.
    
            * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
            If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
            merged with the previous page for purposes of back/forward.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4528 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index bbe1067..03de186 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,18 @@
+2003-06-12  Darin Adler  <darin at apple.com>
+
+        Fixed by Richard, reviewed by me.
+
+	- fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
+
+        * khtml/khtmlpart_p.h: Add an "executing JavaScript form action" flag.
+        * kwq/WebCoreBridge.h: Add an "executing JavaScript form action" flag parameter to
+        the reportClientRedirectToURL method.
+
+        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): In the JavaScript case, set a
+        flag to say we are executing a JavaScript form action.
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass the
+        isJavaScriptFormAction state over the bridge.
+
 2003-06-11  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3288875, :after/:before content not getting destroyed
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index bbe1067..03de186 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,18 @@
+2003-06-12  Darin Adler  <darin at apple.com>
+
+        Fixed by Richard, reviewed by me.
+
+	- fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
+
+        * khtml/khtmlpart_p.h: Add an "executing JavaScript form action" flag.
+        * kwq/WebCoreBridge.h: Add an "executing JavaScript form action" flag parameter to
+        the reportClientRedirectToURL method.
+
+        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): In the JavaScript case, set a
+        flag to say we are executing a JavaScript form action.
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Pass the
+        isJavaScriptFormAction state over the bridge.
+
 2003-06-11  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3288875, :after/:before content not getting destroyed
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index 1d9d756..584525b 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -3272,7 +3272,9 @@ void KHTMLPart::submitForm( const char *action, const QString &url, const QByteA
 
   if ( urlstring.find( QString::fromLatin1( "javascript:" ), 0, false ) == 0 ) {
     urlstring = KURL::decode_string(urlstring);
+    d->m_executingJavaScriptFormAction = true;
     executeScript( urlstring.right( urlstring.length() - 11) );
+    d->m_executingJavaScriptFormAction = false;
     return;
   }
 
diff --git a/WebCore/khtml/khtmlpart_p.h b/WebCore/khtml/khtmlpart_p.h
index 4add4ef..7789c42 100644
--- a/WebCore/khtml/khtmlpart_p.h
+++ b/WebCore/khtml/khtmlpart_p.h
@@ -395,6 +395,8 @@ public:
   bool m_newJSInterpreterExists; // set to 1 by setOpenedByJS, for window.open
 
   bool m_bPendingChildRedirection;
+
+  bool m_executingJavaScriptFormAction;
 };
 
 #endif
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 538b0b9..e0c7bd2 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -725,7 +725,8 @@ void KWQKHTMLPart::redirectionTimerStartedOrStopped()
         [_bridge reportClientRedirectToURL:d->m_redirectURL.getNSString()
                                      delay:d->m_delayRedirect
                                   fireDate:[d->m_redirectionTimer.getNSTimer() fireDate]
-                               lockHistory:d->m_redirectLockHistory];
+                               lockHistory:d->m_redirectLockHistory
+                               isJavaScriptFormAction:d->m_executingJavaScriptFormAction];
     } else {
         [_bridge reportClientRedirectCancelled];
     }
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 9e5a07f..8622f30 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -280,7 +280,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 lockHistory:(BOOL)lockHistory;
+- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction;
 - (void)reportClientRedirectCancelled;
 
 - (void)focusWindow;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index f9343b9..ef96342 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,19 @@
+2003-06-12  Darin Adler  <darin at apple.com>
+
+        Fixed by Richard, reviewed by me.
+
+	- fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
+
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
+        Added isJavaScriptFormAction parameter, passed on to frame.
+
+        * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
+        If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
+        merged with the previous page for purposes of back/forward.
+
 2003-06-11  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index a0b9b8b..52f971a 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -390,9 +390,9 @@
     return [[[self dataSource] request] cachePolicy] == NSURLRequestReloadIgnoringCacheData;
 }
 
-- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory
+- (void)reportClientRedirectToURL:(NSString *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction
 {
-    [_frame _clientRedirectedTo:[NSURL _web_URLWithString:URL] delay:seconds fireDate:date lockHistory:lockHistory];
+    [_frame _clientRedirectedTo:[NSURL _web_URLWithString:URL] delay:seconds fireDate:date lockHistory:lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction];
 }
 
 - (void)reportClientRedirectCancelled
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index bb6cfd0..09531a0 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -146,7 +146,7 @@ extern NSString *WebCorePageCacheStateKey;
 
 - (void)_loadRequest:(NSURLRequest *)request inFrameNamed:(NSString *)frameName;
 
-- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory;
+- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction;
 - (void)_clientRedirectCancelled;
 
 - (void)_textSizeMultiplierChanged;
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 3c2a080..284bb27 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -1829,7 +1829,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     [formState release];
 }
 
-- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory
+- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction
 {
     LOG(Redirect, "Client redirect to: %@", URL);
 
@@ -1841,7 +1841,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     // 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 (![self dataSource]) {
+    if (![self dataSource] || isJavaScriptFormAction) {
         // 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;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list