[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

beidson at apple.com beidson at apple.com
Wed Apr 7 23:07:18 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit aca909e4cc4304df2058362b7b2d5695ddd089ed
Author: beidson at apple.com <beidson at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 26 23:20:25 2009 +0000

    <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
    
    Reviewed by Darin Adler.
    
    WebCore:
    
    Test: fast/loader/history-forward-in-head.html
    
    * loader/RedirectScheduler.cpp:
    (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check.
      This restores the side effect of an invalid history navigation canceling previous scheduled redirects
      and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document.
    (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before
      the redirect is scheduled.
    
    LayoutTests:
    
    * fast/loader/history-forward-in-head-expected.txt: Added.
    * fast/loader/history-forward-in-head.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 55379e1..27c867e 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2009-10-26  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Darin Adler.
+
+        <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
+
+        * fast/loader/history-forward-in-head-expected.txt: Added.
+        * fast/loader/history-forward-in-head.html: Added.
+
 2009-10-26  Alexey Proskuryakov  <ap at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/LayoutTests/fast/loader/history-forward-in-head-expected.txt b/LayoutTests/fast/loader/history-forward-in-head-expected.txt
new file mode 100644
index 0000000..f835cbe
--- /dev/null
+++ b/LayoutTests/fast/loader/history-forward-in-head-expected.txt
@@ -0,0 +1,2 @@
+http://webkit.org/b/30424 and <rdar://problem/7308952> - REGRESSION (r48687) - Some pages appear blank.
+If you can see this, the page loaded fine and the bug is fixed.
diff --git a/LayoutTests/fast/loader/history-forward-in-head.html b/LayoutTests/fast/loader/history-forward-in-head.html
new file mode 100644
index 0000000..17941a9
--- /dev/null
+++ b/LayoutTests/fast/loader/history-forward-in-head.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<script>
+if (window.layoutTestController)
+    layoutTestController.dumpAsText();
+    
+history.forward();
+</script>
+</head>
+<body>
+http://webkit.org/b/30424 and &lt;rdar://problem/7308952&gt; - REGRESSION (r48687) - Some pages appear blank.<br>
+If you can see this, the page loaded fine and the bug is fixed.
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 16583de..415bec8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-10-26  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Darin Adler.
+
+        <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
+
+        Test: fast/loader/history-forward-in-head.html
+
+        * loader/RedirectScheduler.cpp:
+        (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check.
+          This restores the side effect of an invalid history navigation canceling previous scheduled redirects
+          and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document.
+        (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before
+          the redirect is scheduled.
+
 2009-10-26  Alexey Proskuryakov  <ap at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/loader/RedirectScheduler.cpp b/WebCore/loader/RedirectScheduler.cpp
index f015c12..e419926 100644
--- a/WebCore/loader/RedirectScheduler.cpp
+++ b/WebCore/loader/RedirectScheduler.cpp
@@ -255,6 +255,13 @@ void RedirectScheduler::scheduleHistoryNavigation(int steps)
     if (!m_frame->page())
         return;
 
+    // Invalid history navigations (such as history.forward() during a new load) have the side effect of cancelling any scheduled
+    // redirects. We also avoid the possibility of cancelling the current load by avoiding the scheduled redirection altogether.
+    if (!m_frame->page()->canGoBackOrForward(steps)) { 
+        cancel(); 
+        return; 
+    } 
+
     schedule(new ScheduledRedirection(steps));
 }
 
@@ -282,8 +289,7 @@ void RedirectScheduler::timerFired(Timer<RedirectScheduler>*)
             }
             // go(i!=0) from a frame navigates into the history of the frame only,
             // in both IE and NS (but not in Mozilla). We can't easily do that.
-            if (m_frame->page()->canGoBackOrForward(redirection->historySteps))
-                m_frame->page()->goBackOrForward(redirection->historySteps);
+            m_frame->page()->goBackOrForward(redirection->historySteps);
             return;
         case ScheduledRedirection::formSubmission:
             // The submitForm function will find a target frame before using the redirection timer.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list