LayoutTests:
authorggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Aug 2006 20:23:08 +0000 (20:23 +0000)
committerggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Aug 2006 20:23:08 +0000 (20:23 +0000)
        Reviewed by ggaren.

        Introducing a small test suite for bugs related to various navigation techniques,
        e.g., back/forward, reload, various redirect flavors, POST, POST-then-redirect,
        within-page anchors.  Most of the tests are done with and without an enclosing frameset.
        The tests verify the content of the final page (which may include restored form
        state), scroll location (also sometimes restored), and the full content of the
        back-forward list.

        * fast/overflow/scrollRevealButton-expected.txt:
           Updated to include scroll location that is now emitted.
        * http/tests/navigation/anchor-basic-expected.txt: Added.
        * http/tests/navigation/anchor-basic.html: Added.
        * http/tests/navigation/anchor-frames-expected.txt: Added.
        * http/tests/navigation/anchor-frames.html: Added.
        * http/tests/navigation/anchor-goback-expected.txt: Added.
        * http/tests/navigation/anchor-goback.html: Added.
        * http/tests/navigation/anchor-subframeload-expected.txt: Added.
        * http/tests/navigation/anchor-subframeload.html: Added.
        * http/tests/navigation/error404-basic-expected.txt: Added.
        * http/tests/navigation/error404-basic.html: Added.
        * http/tests/navigation/error404-frames-expected.txt: Added.
        * http/tests/navigation/error404-frames.html: Added.
        * http/tests/navigation/error404-goback-expected.txt: Added.
        * http/tests/navigation/error404-goback.html: Added.
        * http/tests/navigation/error404-subframeload-expected.txt: Added.
        * http/tests/navigation/error404-subframeload.html: Added.
        * http/tests/navigation/javascriptlink-basic-expected.txt: Added.
        * http/tests/navigation/javascriptlink-basic.html: Added.
        * http/tests/navigation/javascriptlink-frames-expected.txt: Added.
        * http/tests/navigation/javascriptlink-frames.html: Added.
        * http/tests/navigation/javascriptlink-goback-expected.txt: Added.
        * http/tests/navigation/javascriptlink-goback.html: Added.
        * http/tests/navigation/javascriptlink-subframeload-expected.txt: Added.
        * http/tests/navigation/javascriptlink-subframeload.html: Added.
        * http/tests/navigation/metaredirect-basic-expected.txt: Added.
        * http/tests/navigation/metaredirect-basic.html: Added.
        * http/tests/navigation/metaredirect-frames-expected.txt: Added.
        * http/tests/navigation/metaredirect-frames.html: Added.
        * http/tests/navigation/metaredirect-goback-expected.txt: Added.
        * http/tests/navigation/metaredirect-goback.html: Added.
        * http/tests/navigation/metaredirect-subframeload-expected.txt: Added.
        * http/tests/navigation/metaredirect-subframeload.html: Added.
        * http/tests/navigation/post-basic-expected.txt: Added.
        * http/tests/navigation/post-basic.html: Added.
        * http/tests/navigation/post-frames-expected.txt: Added.
        * http/tests/navigation/post-frames-goback1.html-disabled: Added.
        * http/tests/navigation/post-frames.html: Added.
        * http/tests/navigation/post-goback1-expected.txt: Added.
        * http/tests/navigation/post-goback1.html: Added.
        * http/tests/navigation/post-goback2-expected.txt: Added.
        * http/tests/navigation/post-goback2.html: Added.
        * http/tests/navigation/postredirect-basic-expected.txt: Added.
        * http/tests/navigation/postredirect-basic.html: Added.
        * http/tests/navigation/postredirect-frames-expected.txt: Added.
        * http/tests/navigation/postredirect-frames-goback1.html-disabled: Added.
        * http/tests/navigation/postredirect-frames.html: Added.
        * http/tests/navigation/postredirect-goback1-expected.txt: Added.
        * http/tests/navigation/postredirect-goback1.html: Added.
        * http/tests/navigation/postredirect-goback2-expected.txt: Added.
        * http/tests/navigation/postredirect-goback2.html: Added.
        * http/tests/navigation/redirect302-basic-expected.txt: Added.
        * http/tests/navigation/redirect302-basic.html: Added.
        * http/tests/navigation/redirect302-frames-expected.txt: Added.
        * http/tests/navigation/redirect302-frames.html: Added.
        * http/tests/navigation/redirect302-goback-expected.txt: Added.
        * http/tests/navigation/redirect302-goback.html: Added.
        * http/tests/navigation/redirect302-subframeload-expected.txt: Added.
        * http/tests/navigation/redirect302-subframeload.html: Added.
        * http/tests/navigation/relativeanchor-basic-expected.txt: Added.
        * http/tests/navigation/relativeanchor-basic.html: Added.
        * http/tests/navigation/relativeanchor-frames-expected.txt: Added.
        * http/tests/navigation/relativeanchor-frames.html: Added.
        * http/tests/navigation/relativeanchor-goback-expected.txt: Added.
        * http/tests/navigation/relativeanchor-goback.html: Added.
        * http/tests/navigation/resources/error404.pl: Added.
        * http/tests/navigation/resources/frameset.pl: Added.
        * http/tests/navigation/resources/javascriptlink.html: Added.
        * http/tests/navigation/resources/metaredirect.html: Added.
        * http/tests/navigation/resources/otherpage.html: Added.
        * http/tests/navigation/resources/postresult.pl: Added.
        * http/tests/navigation/resources/redirect302.pl: Added.
        * http/tests/navigation/resources/slowmetaredirect.html: Added.
        * http/tests/navigation/resources/slowtimerredirect.html: Added.
        * http/tests/navigation/resources/success200.html: Added.
        * http/tests/navigation/resources/testcode.js: Added.
        * http/tests/navigation/resources/timerredirect.html: Added.
        * http/tests/navigation/slowmetaredirect-basic-expected.txt: Added.
        * http/tests/navigation/slowmetaredirect-basic.html: Added.
        * http/tests/navigation/slowtimerredirect-basic-expected.txt: Added.
        * http/tests/navigation/slowtimerredirect-basic.html: Added.
        * http/tests/navigation/success200-basic-expected.txt: Added.
        * http/tests/navigation/success200-basic.html: Added.
        * http/tests/navigation/success200-frames-expected.txt: Added.
        * http/tests/navigation/success200-frames-goback.html-disabled: Added.
        * http/tests/navigation/success200-frames-loadsame-expected.txt: Added.
        * http/tests/navigation/success200-frames-loadsame.html: Added.
        * http/tests/navigation/success200-frames-reload.html-disabled: Added.
        * http/tests/navigation/success200-frames.html: Added.
        * http/tests/navigation/success200-goback-expected.txt: Added.
        * http/tests/navigation/success200-goback.html: Added.
        * http/tests/navigation/success200-loadsame-expected.txt: Added.
        * http/tests/navigation/success200-loadsame.html: Added.
        * http/tests/navigation/success200-reload-expected.txt: Added.
        * http/tests/navigation/success200-reload.html: Added.
        * http/tests/navigation/success200-subframeload-expected.txt: Added.
        * http/tests/navigation/success200-subframeload-goback.html-disabled: Added.
        * http/tests/navigation/success200-subframeload.html: Added.
        * http/tests/navigation/timerredirect-basic-expected.txt: Added.
        * http/tests/navigation/timerredirect-basic.html: Added.
        * http/tests/navigation/timerredirect-frames-expected.txt: Added.
        * http/tests/navigation/timerredirect-frames.html: Added.
        * http/tests/navigation/timerredirect-goback-expected.txt: Added.
        * http/tests/navigation/timerredirect-goback.html: Added.
        * http/tests/navigation/timerredirect-subframeload-expected.txt: Added.
        * http/tests/navigation/timerredirect-subframeload.html: Added.

WebKitTools:

        Reviewed by ggaren.

        Added support for a new set of browser navigation tests.  The main feature
        is the ability for a test to queue up a set of future actions that will
        happen after that first page is loaded.  This is used to simulate a sequence
        of user actions such as filling out forms, loading additional pages or
        going back.  In addition we can now dump out the state of the back/forward
        list, and the scroll position is dumped if not at 0,0.

        * DumpRenderTree/DumpRenderTree.m:
        (main):  Init new state
        (compareHistoryItems):  New utility to support sorting.
        (dumpHistoryItem):  Write out a WebHistoryItem and kids.
        (dumpFrameScrollPosition):  Write out the scroll position.
        (dump):  Optionally write b/f list or scroll position.
        (-[WaitUntilDoneDelegate processWork:]):  Perform queued work.
        (-[WaitUntilDoneDelegate webView:locationChangeDone:forDataSource:]):
        Kick off any queued actions.  Fixed for the case of loads started in
        a subframe instead of the root frame.
        (-[WaitUntilDoneDelegate webView:didStartProvisionalLoadForFrame:]):
        Grab the topmost frame that is being loaded.  Do this as early as possible,
        instead of in didCommitLoadForFrame.
        (-[WaitUntilDoneDelegate webView:didCommitLoadForFrame:]):
        Noting a load has started now happens in previous method.
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):  Boilerplate
        (+[LayoutTestController webScriptNameForSelector:]):  Boilerplate
        (-[LayoutTestController notifyDone]):  readyToDump var is subsumed by
        topFrameLoading
        (-[LayoutTestController dumpBackForwardList]):  New impl, just set a bit.
        (-[LayoutTestController _addWorkForTarget:selector:arg1:arg2:]):
        Add new work to the queue.
        (-[LayoutTestController _doLoad:target:]):  Do a queued load.
        (-[LayoutTestController _doBackOrForwardNav:]):  Do a queued back/forward.
        (-[LayoutTestController scheduleBackNav:]):  Ways for scripts to queue actions
        (-[LayoutTestController scheduleForwardNav:]):
        (-[LayoutTestController scheduleReload]):
        (-[LayoutTestController scheduleScript:]):
        (-[LayoutTestController scheduleLoad:target:]):
        (runTest):  Clear new state for each test.  Renamed from "dumpRenderTree"
        since it's not one of the functions that does any dumping.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

108 files changed:
LayoutTests/ChangeLog
LayoutTests/http/tests/navigation/anchor-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/anchor-subframeload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/error404-subframeload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/javascriptlink-subframeload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/metaredirect-subframeload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-frames-goback1.html-disabled [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-goback1-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-goback1.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-goback2-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/post-goback2.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-frames-goback1.html-disabled [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-goback1-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-goback1.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-goback2-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/postredirect-goback2.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/redirect302-subframeload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/relativeanchor-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/relativeanchor-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/relativeanchor-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/relativeanchor-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/relativeanchor-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/relativeanchor-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/error404.pl [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/frameset.pl [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/javascriptlink.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/metaredirect.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/otherpage.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/postresult.pl [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/redirect302.pl [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/slowmetaredirect.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/slowtimerredirect.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/success200.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/testcode.js [new file with mode: 0644]
LayoutTests/http/tests/navigation/resources/timerredirect.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/slowmetaredirect-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/slowmetaredirect-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/slowtimerredirect-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/slowtimerredirect-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-frames-goback.html-disabled [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-frames-loadsame-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-frames-loadsame.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-frames-reload.html-disabled [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-loadsame-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-loadsame.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-reload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-reload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-subframeload-goback.html-disabled [new file with mode: 0644]
LayoutTests/http/tests/navigation/success200-subframeload.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-basic-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-basic.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-frames-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-frames.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-goback-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-goback.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-subframeload-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/timerredirect-subframeload.html [new file with mode: 0644]
WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/DumpRenderTree.m

index 3ccd936..7ffde02 100644 (file)
@@ -1,3 +1,122 @@
+2006-08-22  Trey Matteson  <trey@usa.net>
+
+        Reviewed by ggaren.
+
+        Introducing a small test suite for bugs related to various navigation techniques,
+        e.g., back/forward, reload, various redirect flavors, POST, POST-then-redirect,
+        within-page anchors.  Most of the tests are done with and without an enclosing frameset.
+        The tests verify the content of the final page (which may include restored form
+        state), scroll location (also sometimes restored), and the full content of the
+        back-forward list.
+
+        * fast/overflow/scrollRevealButton-expected.txt:
+           Updated to include scroll location that is now emitted.
+        * http/tests/navigation/anchor-basic-expected.txt: Added.
+        * http/tests/navigation/anchor-basic.html: Added.
+        * http/tests/navigation/anchor-frames-expected.txt: Added.
+        * http/tests/navigation/anchor-frames.html: Added.
+        * http/tests/navigation/anchor-goback-expected.txt: Added.
+        * http/tests/navigation/anchor-goback.html: Added.
+        * http/tests/navigation/anchor-subframeload-expected.txt: Added.
+        * http/tests/navigation/anchor-subframeload.html: Added.
+        * http/tests/navigation/error404-basic-expected.txt: Added.
+        * http/tests/navigation/error404-basic.html: Added.
+        * http/tests/navigation/error404-frames-expected.txt: Added.
+        * http/tests/navigation/error404-frames.html: Added.
+        * http/tests/navigation/error404-goback-expected.txt: Added.
+        * http/tests/navigation/error404-goback.html: Added.
+        * http/tests/navigation/error404-subframeload-expected.txt: Added.
+        * http/tests/navigation/error404-subframeload.html: Added.
+        * http/tests/navigation/javascriptlink-basic-expected.txt: Added.
+        * http/tests/navigation/javascriptlink-basic.html: Added.
+        * http/tests/navigation/javascriptlink-frames-expected.txt: Added.
+        * http/tests/navigation/javascriptlink-frames.html: Added.
+        * http/tests/navigation/javascriptlink-goback-expected.txt: Added.
+        * http/tests/navigation/javascriptlink-goback.html: Added.
+        * http/tests/navigation/javascriptlink-subframeload-expected.txt: Added.
+        * http/tests/navigation/javascriptlink-subframeload.html: Added.
+        * http/tests/navigation/metaredirect-basic-expected.txt: Added.
+        * http/tests/navigation/metaredirect-basic.html: Added.
+        * http/tests/navigation/metaredirect-frames-expected.txt: Added.
+        * http/tests/navigation/metaredirect-frames.html: Added.
+        * http/tests/navigation/metaredirect-goback-expected.txt: Added.
+        * http/tests/navigation/metaredirect-goback.html: Added.
+        * http/tests/navigation/metaredirect-subframeload-expected.txt: Added.
+        * http/tests/navigation/metaredirect-subframeload.html: Added.
+        * http/tests/navigation/post-basic-expected.txt: Added.
+        * http/tests/navigation/post-basic.html: Added.
+        * http/tests/navigation/post-frames-expected.txt: Added.
+        * http/tests/navigation/post-frames-goback1.html-disabled: Added.
+        * http/tests/navigation/post-frames.html: Added.
+        * http/tests/navigation/post-goback1-expected.txt: Added.
+        * http/tests/navigation/post-goback1.html: Added.
+        * http/tests/navigation/post-goback2-expected.txt: Added.
+        * http/tests/navigation/post-goback2.html: Added.
+        * http/tests/navigation/postredirect-basic-expected.txt: Added.
+        * http/tests/navigation/postredirect-basic.html: Added.
+        * http/tests/navigation/postredirect-frames-expected.txt: Added.
+        * http/tests/navigation/postredirect-frames-goback1.html-disabled: Added.
+        * http/tests/navigation/postredirect-frames.html: Added.
+        * http/tests/navigation/postredirect-goback1-expected.txt: Added.
+        * http/tests/navigation/postredirect-goback1.html: Added.
+        * http/tests/navigation/postredirect-goback2-expected.txt: Added.
+        * http/tests/navigation/postredirect-goback2.html: Added.
+        * http/tests/navigation/redirect302-basic-expected.txt: Added.
+        * http/tests/navigation/redirect302-basic.html: Added.
+        * http/tests/navigation/redirect302-frames-expected.txt: Added.
+        * http/tests/navigation/redirect302-frames.html: Added.
+        * http/tests/navigation/redirect302-goback-expected.txt: Added.
+        * http/tests/navigation/redirect302-goback.html: Added.
+        * http/tests/navigation/redirect302-subframeload-expected.txt: Added.
+        * http/tests/navigation/redirect302-subframeload.html: Added.
+        * http/tests/navigation/relativeanchor-basic-expected.txt: Added.
+        * http/tests/navigation/relativeanchor-basic.html: Added.
+        * http/tests/navigation/relativeanchor-frames-expected.txt: Added.
+        * http/tests/navigation/relativeanchor-frames.html: Added.
+        * http/tests/navigation/relativeanchor-goback-expected.txt: Added.
+        * http/tests/navigation/relativeanchor-goback.html: Added.
+        * http/tests/navigation/resources/error404.pl: Added.
+        * http/tests/navigation/resources/frameset.pl: Added.
+        * http/tests/navigation/resources/javascriptlink.html: Added.
+        * http/tests/navigation/resources/metaredirect.html: Added.
+        * http/tests/navigation/resources/otherpage.html: Added.
+        * http/tests/navigation/resources/postresult.pl: Added.
+        * http/tests/navigation/resources/redirect302.pl: Added.
+        * http/tests/navigation/resources/slowmetaredirect.html: Added.
+        * http/tests/navigation/resources/slowtimerredirect.html: Added.
+        * http/tests/navigation/resources/success200.html: Added.
+        * http/tests/navigation/resources/testcode.js: Added.
+        * http/tests/navigation/resources/timerredirect.html: Added.
+        * http/tests/navigation/slowmetaredirect-basic-expected.txt: Added.
+        * http/tests/navigation/slowmetaredirect-basic.html: Added.
+        * http/tests/navigation/slowtimerredirect-basic-expected.txt: Added.
+        * http/tests/navigation/slowtimerredirect-basic.html: Added.
+        * http/tests/navigation/success200-basic-expected.txt: Added.
+        * http/tests/navigation/success200-basic.html: Added.
+        * http/tests/navigation/success200-frames-expected.txt: Added.
+        * http/tests/navigation/success200-frames-goback.html-disabled: Added.
+        * http/tests/navigation/success200-frames-loadsame-expected.txt: Added.
+        * http/tests/navigation/success200-frames-loadsame.html: Added.
+        * http/tests/navigation/success200-frames-reload.html-disabled: Added.
+        * http/tests/navigation/success200-frames.html: Added.
+        * http/tests/navigation/success200-goback-expected.txt: Added.
+        * http/tests/navigation/success200-goback.html: Added.
+        * http/tests/navigation/success200-loadsame-expected.txt: Added.
+        * http/tests/navigation/success200-loadsame.html: Added.
+        * http/tests/navigation/success200-reload-expected.txt: Added.
+        * http/tests/navigation/success200-reload.html: Added.
+        * http/tests/navigation/success200-subframeload-expected.txt: Added.
+        * http/tests/navigation/success200-subframeload-goback.html-disabled: Added.
+        * http/tests/navigation/success200-subframeload.html: Added.
+        * http/tests/navigation/timerredirect-basic-expected.txt: Added.
+        * http/tests/navigation/timerredirect-basic.html: Added.
+        * http/tests/navigation/timerredirect-frames-expected.txt: Added.
+        * http/tests/navigation/timerredirect-frames.html: Added.
+        * http/tests/navigation/timerredirect-goback-expected.txt: Added.
+        * http/tests/navigation/timerredirect-goback.html: Added.
+        * http/tests/navigation/timerredirect-subframeload-expected.txt: Added.
+        * http/tests/navigation/timerredirect-subframeload.html: Added.
+
 2006-08-22  Rob Buis  <buis@kde.org>
 
         Reviewed by Eric.
diff --git a/LayoutTests/http/tests/navigation/anchor-basic-expected.txt b/LayoutTests/http/tests/navigation/anchor-basic-expected.txt
new file mode 100644 (file)
index 0000000..5571bf4
--- /dev/null
@@ -0,0 +1,112 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+scrolled to 0,950
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/anchor-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html#anchor1  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/anchor-basic.html b/LayoutTests/http/tests/navigation/anchor-basic.html
new file mode 100644 (file)
index 0000000..9c5393b
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/success200.html#anchor1", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/anchor-frames-expected.txt b/LayoutTests/http/tests/navigation/anchor-frames-expected.txt
new file mode 100644 (file)
index 0000000..165748d
--- /dev/null
@@ -0,0 +1,131 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+frame 'main' scrolled to 0,1018
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/anchor-frames.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html%23anchor1  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html#anchor1 (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/anchor-frames.html b/LayoutTests/http/tests/navigation/anchor-frames.html
new file mode 100644 (file)
index 0000000..be2aaca
--- /dev/null
@@ -0,0 +1,7 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<!-- %23 below is a #, which is escaped so the anchor applies to the subframe instead of the frameset. -->
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=success200.html%23anchor1", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/anchor-goback-expected.txt b/LayoutTests/http/tests/navigation/anchor-goback-expected.txt
new file mode 100644 (file)
index 0000000..41ddbf3
--- /dev/null
@@ -0,0 +1,113 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/anchor-goback.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html#anchor1  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/anchor-goback.html b/LayoutTests/http/tests/navigation/anchor-goback.html
new file mode 100644 (file)
index 0000000..f67cd28
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html#anchor1", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/anchor-subframeload-expected.txt b/LayoutTests/http/tests/navigation/anchor-subframeload-expected.txt
new file mode 100644 (file)
index 0000000..9170a37
--- /dev/null
@@ -0,0 +1,134 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+frame 'main' scrolled to 0,1018
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/anchor-subframeload.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html#anchor1 (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/anchor-subframeload.html b/LayoutTests/http/tests/navigation/anchor-subframeload.html
new file mode 100644 (file)
index 0000000..20055f4
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameTest("resources/success200.html#anchor1");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/error404-basic-expected.txt b/LayoutTests/http/tests/navigation/error404-basic-expected.txt
new file mode 100644 (file)
index 0000000..ee32fca
--- /dev/null
@@ -0,0 +1,12 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 364x18
+        text run at (0,0) width 364: "This 404 error was intentionally generated by a test script."
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/error404-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/error404.pl  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/error404-basic.html b/LayoutTests/http/tests/navigation/error404-basic.html
new file mode 100644 (file)
index 0000000..1cbd17b
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/error404.pl", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/error404-frames-expected.txt b/LayoutTests/http/tests/navigation/error404-frames-expected.txt
new file mode 100644 (file)
index 0000000..b2879fe
--- /dev/null
@@ -0,0 +1,31 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 798x532
+          RenderView at (0,0) size 798x532
+        layer at (0,0) size 798x532
+          RenderBlock {HTML} at (0,0) size 798x532
+            RenderBody {BODY} at (8,8) size 782x516
+              RenderText {#text} at (0,0) size 364x18
+                text run at (0,0) width 364: "This 404 error was intentionally generated by a test script."
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/error404-frames.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=error404.pl  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/error404.pl (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/error404-frames.html b/LayoutTests/http/tests/navigation/error404-frames.html
new file mode 100644 (file)
index 0000000..75483a4
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=error404.pl", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/error404-goback-expected.txt b/LayoutTests/http/tests/navigation/error404-goback-expected.txt
new file mode 100644 (file)
index 0000000..ac9e717
--- /dev/null
@@ -0,0 +1,13 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 364x18
+        text run at (0,0) width 364: "This 404 error was intentionally generated by a test script."
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/error404-goback.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/error404.pl  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/error404-goback.html b/LayoutTests/http/tests/navigation/error404-goback.html
new file mode 100644 (file)
index 0000000..5b08b53
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/error404.pl", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/error404-subframeload-expected.txt b/LayoutTests/http/tests/navigation/error404-subframeload-expected.txt
new file mode 100644 (file)
index 0000000..53bca7b
--- /dev/null
@@ -0,0 +1,34 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 798x532
+          RenderView at (0,0) size 798x532
+        layer at (0,0) size 798x532
+          RenderBlock {HTML} at (0,0) size 798x532
+            RenderBody {BODY} at (8,8) size 782x516
+              RenderText {#text} at (0,0) size 364x18
+                text run at (0,0) width 364: "This 404 error was intentionally generated by a test script."
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/error404-subframeload.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/error404.pl (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/error404-subframeload.html b/LayoutTests/http/tests/navigation/error404-subframeload.html
new file mode 100644 (file)
index 0000000..8ec36c2
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameTest("resources/error404.pl");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-basic-expected.txt b/LayoutTests/http/tests/navigation/javascriptlink-basic-expected.txt
new file mode 100644 (file)
index 0000000..7b42a2b
--- /dev/null
@@ -0,0 +1,112 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/javascriptlink-basic.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/javascriptlink.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-basic.html b/LayoutTests/http/tests/navigation/javascriptlink-basic.html
new file mode 100644 (file)
index 0000000..411e7c0
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/javascriptlink.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-frames-expected.txt b/LayoutTests/http/tests/navigation/javascriptlink-frames-expected.txt
new file mode 100644 (file)
index 0000000..aeee4eb
--- /dev/null
@@ -0,0 +1,133 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/javascriptlink-frames.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=javascriptlink.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/javascriptlink.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=javascriptlink.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-frames.html b/LayoutTests/http/tests/navigation/javascriptlink-frames.html
new file mode 100644 (file)
index 0000000..9c5e285
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=javascriptlink.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-goback-expected.txt b/LayoutTests/http/tests/navigation/javascriptlink-goback-expected.txt
new file mode 100644 (file)
index 0000000..6e8f96e
--- /dev/null
@@ -0,0 +1,114 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/javascriptlink-goback.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/javascriptlink.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-goback.html b/LayoutTests/http/tests/navigation/javascriptlink-goback.html
new file mode 100644 (file)
index 0000000..18b8c26
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/javascriptlink.html", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-subframeload-expected.txt b/LayoutTests/http/tests/navigation/javascriptlink-subframeload-expected.txt
new file mode 100644 (file)
index 0000000..bff9b0d
--- /dev/null
@@ -0,0 +1,136 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/javascriptlink-subframeload.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "main")
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/javascriptlink.html (in frame "main")  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/javascriptlink-subframeload.html b/LayoutTests/http/tests/navigation/javascriptlink-subframeload.html
new file mode 100644 (file)
index 0000000..4da5a1d
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameTest("resources/javascriptlink.html");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/metaredirect-basic-expected.txt b/LayoutTests/http/tests/navigation/metaredirect-basic-expected.txt
new file mode 100644 (file)
index 0000000..47ac96d
--- /dev/null
@@ -0,0 +1,111 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/metaredirect-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/metaredirect-basic.html b/LayoutTests/http/tests/navigation/metaredirect-basic.html
new file mode 100644 (file)
index 0000000..68db72b
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/metaredirect.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/metaredirect-frames-expected.txt b/LayoutTests/http/tests/navigation/metaredirect-frames-expected.txt
new file mode 100644 (file)
index 0000000..2ab124f
--- /dev/null
@@ -0,0 +1,130 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/metaredirect-frames.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=metaredirect.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/metaredirect-frames.html b/LayoutTests/http/tests/navigation/metaredirect-frames.html
new file mode 100644 (file)
index 0000000..e8d568a
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=metaredirect.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/metaredirect-goback-expected.txt b/LayoutTests/http/tests/navigation/metaredirect-goback-expected.txt
new file mode 100644 (file)
index 0000000..ab966a6
--- /dev/null
@@ -0,0 +1,113 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/metaredirect-goback.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/metaredirect-goback.html b/LayoutTests/http/tests/navigation/metaredirect-goback.html
new file mode 100644 (file)
index 0000000..52d631f
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/metaredirect.html", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/metaredirect-subframeload-expected.txt b/LayoutTests/http/tests/navigation/metaredirect-subframeload-expected.txt
new file mode 100644 (file)
index 0000000..d13b66c
--- /dev/null
@@ -0,0 +1,133 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/metaredirect-subframeload.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/metaredirect-subframeload.html b/LayoutTests/http/tests/navigation/metaredirect-subframeload.html
new file mode 100644 (file)
index 0000000..ee86ad3
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameTest("resources/metaredirect.html");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/post-basic-expected.txt b/LayoutTests/http/tests/navigation/post-basic-expected.txt
new file mode 100644 (file)
index 0000000..034b187
--- /dev/null
@@ -0,0 +1,30 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 747x74
+        text run at (0,0) width 747: "This is just a minimal page that we navigate in response to"
+        text run at (0,37) width 222: "an HTTP POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,74) size 0x37
+      RenderText {#text} at (0,111) size 763x111
+        text run at (0,111) width 743: "If the next line is empty after the colon, it probably means"
+        text run at (0,148) width 178: "that we made "
+        text run at (178,148) width 585: "a mistake and requested this page with a GET"
+        text run at (0,185) width 436: "with no query instead of a POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,222) size 0x37
+      RenderText {#text} at (0,259) size 709x37
+        text run at (0,259) width 709: "The first text field contained: New form text from user "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderText {#text} at (0,296) size 591x37
+        text run at (0,296) width 591: "This page was requested with an HTTP POST"
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/post-basic.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/postresult.pl  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/post-basic.html b/LayoutTests/http/tests/navigation/post-basic.html
new file mode 100644 (file)
index 0000000..c54b90b
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/success200.html", "post");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/post-frames-expected.txt b/LayoutTests/http/tests/navigation/post-frames-expected.txt
new file mode 100644 (file)
index 0000000..b14b14f
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 798x532
+          RenderView at (0,0) size 798x532
+        layer at (0,0) size 798x532
+          RenderBlock {HTML} at (0,0) size 798x532
+            RenderBody {BODY} at (8,8) size 782x516
+              RenderText {#text} at (0,0) size 747x74
+                text run at (0,0) width 747: "This is just a minimal page that we navigate in response to"
+                text run at (0,37) width 222: "an HTTP POST. "
+              RenderBR {BR} at (0,0) size 0x0
+              RenderBR {BR} at (0,74) size 0x37
+              RenderText {#text} at (0,111) size 763x111
+                text run at (0,111) width 743: "If the next line is empty after the colon, it probably means"
+                text run at (0,148) width 178: "that we made "
+                text run at (178,148) width 585: "a mistake and requested this page with a GET"
+                text run at (0,185) width 436: "with no query instead of a POST. "
+              RenderBR {BR} at (0,0) size 0x0
+              RenderBR {BR} at (0,222) size 0x37
+              RenderText {#text} at (0,259) size 709x37
+                text run at (0,259) width 709: "The first text field contained: New form text from user "
+              RenderBR {BR} at (0,0) size 0x0
+              RenderText {#text} at (0,296) size 591x37
+                text run at (0,296) width 591: "This page was requested with an HTTP POST"
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/post-frames.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/postresult.pl (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/post-frames-goback1.html-disabled b/LayoutTests/http/tests/navigation/post-frames-goback1.html-disabled
new file mode 100644 (file)
index 0000000..7f8e796
--- /dev/null
@@ -0,0 +1,8 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/frameset.pl?frameURL=success200.html", 1, "post");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+
+<br>
+DISABLED due to http://bugzilla.opendarwin.org/show_bug.cgi?id=10199
diff --git a/LayoutTests/http/tests/navigation/post-frames.html b/LayoutTests/http/tests/navigation/post-frames.html
new file mode 100644 (file)
index 0000000..6339092
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=success200.html", "post");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/post-goback1-expected.txt b/LayoutTests/http/tests/navigation/post-goback1-expected.txt
new file mode 100644 (file)
index 0000000..3961ffa
--- /dev/null
@@ -0,0 +1,31 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 747x74
+        text run at (0,0) width 747: "This is just a minimal page that we navigate in response to"
+        text run at (0,37) width 222: "an HTTP POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,74) size 0x37
+      RenderText {#text} at (0,111) size 763x111
+        text run at (0,111) width 743: "If the next line is empty after the colon, it probably means"
+        text run at (0,148) width 178: "that we made "
+        text run at (178,148) width 585: "a mistake and requested this page with a GET"
+        text run at (0,185) width 436: "with no query instead of a POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,222) size 0x37
+      RenderText {#text} at (0,259) size 709x37
+        text run at (0,259) width 709: "The first text field contained: New form text from user "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderText {#text} at (0,296) size 591x37
+        text run at (0,296) width 591: "This page was requested with an HTTP POST"
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/post-goback1.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/postresult.pl  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/post-goback1.html b/LayoutTests/http/tests/navigation/post-goback1.html
new file mode 100644 (file)
index 0000000..6826f84
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html", 1, "post");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/post-goback2-expected.txt b/LayoutTests/http/tests/navigation/post-goback2-expected.txt
new file mode 100644 (file)
index 0000000..87076aa
--- /dev/null
@@ -0,0 +1,114 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/post-goback2.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/postresult.pl  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/post-goback2.html b/LayoutTests/http/tests/navigation/post-goback2.html
new file mode 100644 (file)
index 0000000..1356a4a
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html", 2, "post");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/postredirect-basic-expected.txt b/LayoutTests/http/tests/navigation/postredirect-basic-expected.txt
new file mode 100644 (file)
index 0000000..354bb5c
--- /dev/null
@@ -0,0 +1,30 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 747x74
+        text run at (0,0) width 747: "This is just a minimal page that we navigate in response to"
+        text run at (0,37) width 222: "an HTTP POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,74) size 0x37
+      RenderText {#text} at (0,111) size 763x111
+        text run at (0,111) width 743: "If the next line is empty after the colon, it probably means"
+        text run at (0,148) width 178: "that we made "
+        text run at (178,148) width 585: "a mistake and requested this page with a GET"
+        text run at (0,185) width 436: "with no query instead of a POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,222) size 0x37
+      RenderText {#text} at (0,259) size 709x37
+        text run at (0,259) width 709: "The first text field contained: New form text from user "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderText {#text} at (0,296) size 575x37
+        text run at (0,296) width 575: "This page was requested with an HTTP GET"
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/postredirect-basic.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/postresult.pl?submitwithpostredirect=Submit%20with%20POST%20followed%20by%20a%20redirect&textfield1=New%20form%20text%20from%20user&textfield2=&radiogroup1=female&checkbox2=on&selectgroup1=fiat&textarea1=More%20new%20form%20text%20from%20user%2C%20which%20should%20be%20restored%20when%20we%20return%20to%20this%20page.&redirectHappened=true  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/postredirect-basic.html b/LayoutTests/http/tests/navigation/postredirect-basic.html
new file mode 100644 (file)
index 0000000..77650c7
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/success200.html", "postredirect");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/postredirect-frames-expected.txt b/LayoutTests/http/tests/navigation/postredirect-frames-expected.txt
new file mode 100644 (file)
index 0000000..ee63b31
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 798x532
+          RenderView at (0,0) size 798x532
+        layer at (0,0) size 798x532
+          RenderBlock {HTML} at (0,0) size 798x532
+            RenderBody {BODY} at (8,8) size 782x516
+              RenderText {#text} at (0,0) size 747x74
+                text run at (0,0) width 747: "This is just a minimal page that we navigate in response to"
+                text run at (0,37) width 222: "an HTTP POST. "
+              RenderBR {BR} at (0,0) size 0x0
+              RenderBR {BR} at (0,74) size 0x37
+              RenderText {#text} at (0,111) size 763x111
+                text run at (0,111) width 743: "If the next line is empty after the colon, it probably means"
+                text run at (0,148) width 178: "that we made "
+                text run at (178,148) width 585: "a mistake and requested this page with a GET"
+                text run at (0,185) width 436: "with no query instead of a POST. "
+              RenderBR {BR} at (0,0) size 0x0
+              RenderBR {BR} at (0,222) size 0x37
+              RenderText {#text} at (0,259) size 709x37
+                text run at (0,259) width 709: "The first text field contained: New form text from user "
+              RenderBR {BR} at (0,0) size 0x0
+              RenderText {#text} at (0,296) size 575x37
+                text run at (0,296) width 575: "This page was requested with an HTTP GET"
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/postredirect-frames.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/postresult.pl (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/postredirect-frames-goback1.html-disabled b/LayoutTests/http/tests/navigation/postredirect-frames-goback1.html-disabled
new file mode 100644 (file)
index 0000000..2974202
--- /dev/null
@@ -0,0 +1,9 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/frameset.pl?frameURL=success200.html", 1, "postredirect");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+
+<br> 
+DISABLED due to http://bugzilla.opendarwin.org/show_bug.cgi?id=10199
+
diff --git a/LayoutTests/http/tests/navigation/postredirect-frames.html b/LayoutTests/http/tests/navigation/postredirect-frames.html
new file mode 100644 (file)
index 0000000..dbba5e5
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=success200.html", "postredirect");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/postredirect-goback1-expected.txt b/LayoutTests/http/tests/navigation/postredirect-goback1-expected.txt
new file mode 100644 (file)
index 0000000..6073230
--- /dev/null
@@ -0,0 +1,31 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 747x74
+        text run at (0,0) width 747: "This is just a minimal page that we navigate in response to"
+        text run at (0,37) width 222: "an HTTP POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,74) size 0x37
+      RenderText {#text} at (0,111) size 763x111
+        text run at (0,111) width 743: "If the next line is empty after the colon, it probably means"
+        text run at (0,148) width 178: "that we made "
+        text run at (178,148) width 585: "a mistake and requested this page with a GET"
+        text run at (0,185) width 436: "with no query instead of a POST. "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderBR {BR} at (0,222) size 0x37
+      RenderText {#text} at (0,259) size 709x37
+        text run at (0,259) width 709: "The first text field contained: New form text from user "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderText {#text} at (0,296) size 575x37
+        text run at (0,296) width 575: "This page was requested with an HTTP GET"
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/postredirect-goback1.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/postresult.pl?submitwithpostredirect=Submit%20with%20POST%20followed%20by%20a%20redirect&textfield1=New%20form%20text%20from%20user&textfield2=&radiogroup1=female&checkbox2=on&selectgroup1=fiat&textarea1=More%20new%20form%20text%20from%20user%2C%20which%20should%20be%20restored%20when%20we%20return%20to%20this%20page.&redirectHappened=true  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/postredirect-goback1.html b/LayoutTests/http/tests/navigation/postredirect-goback1.html
new file mode 100644 (file)
index 0000000..2f78544
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html", 1, "postredirect");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/postredirect-goback2-expected.txt b/LayoutTests/http/tests/navigation/postredirect-goback2-expected.txt
new file mode 100644 (file)
index 0000000..2c09878
--- /dev/null
@@ -0,0 +1,114 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/postredirect-goback2.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/postresult.pl?submitwithpostredirect=Submit%20with%20POST%20followed%20by%20a%20redirect&textfield1=New%20form%20text%20from%20user&textfield2=&radiogroup1=female&checkbox2=on&selectgroup1=fiat&textarea1=More%20new%20form%20text%20from%20user%2C%20which%20should%20be%20restored%20when%20we%20return%20to%20this%20page.&redirectHappened=true  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/postredirect-goback2.html b/LayoutTests/http/tests/navigation/postredirect-goback2.html
new file mode 100644 (file)
index 0000000..fcae790
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html", 2, "postredirect");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/redirect302-basic-expected.txt b/LayoutTests/http/tests/navigation/redirect302-basic-expected.txt
new file mode 100644 (file)
index 0000000..d113d68
--- /dev/null
@@ -0,0 +1,111 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/redirect302-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/redirect302-basic.html b/LayoutTests/http/tests/navigation/redirect302-basic.html
new file mode 100644 (file)
index 0000000..ffc418c
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/redirect302.pl", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/redirect302-frames-expected.txt b/LayoutTests/http/tests/navigation/redirect302-frames-expected.txt
new file mode 100644 (file)
index 0000000..d4c94e0
--- /dev/null
@@ -0,0 +1,130 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/redirect302-frames.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=redirect302.pl  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/redirect302.pl (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/redirect302-frames.html b/LayoutTests/http/tests/navigation/redirect302-frames.html
new file mode 100644 (file)
index 0000000..5649c73
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=redirect302.pl", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/redirect302-goback-expected.txt b/LayoutTests/http/tests/navigation/redirect302-goback-expected.txt
new file mode 100644 (file)
index 0000000..bceb041
--- /dev/null
@@ -0,0 +1,113 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/redirect302-goback.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/redirect302-goback.html b/LayoutTests/http/tests/navigation/redirect302-goback.html
new file mode 100644 (file)
index 0000000..0caa8eb
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/redirect302.pl", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/redirect302-subframeload-expected.txt b/LayoutTests/http/tests/navigation/redirect302-subframeload-expected.txt
new file mode 100644 (file)
index 0000000..f63d47c
--- /dev/null
@@ -0,0 +1,133 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/redirect302-subframeload.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/redirect302.pl (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/redirect302-subframeload.html b/LayoutTests/http/tests/navigation/redirect302-subframeload.html
new file mode 100644 (file)
index 0000000..017863e
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameTest("resources/redirect302.pl");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/relativeanchor-basic-expected.txt b/LayoutTests/http/tests/navigation/relativeanchor-basic-expected.txt
new file mode 100644 (file)
index 0000000..7ee9fa4
--- /dev/null
@@ -0,0 +1,113 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+scrolled to 0,950
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/relativeanchor-basic.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html#anchor1  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/relativeanchor-basic.html b/LayoutTests/http/tests/navigation/relativeanchor-basic.html
new file mode 100644 (file)
index 0000000..a679b50
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/success200.html", "relativeanchor");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/relativeanchor-frames-expected.txt b/LayoutTests/http/tests/navigation/relativeanchor-frames-expected.txt
new file mode 100644 (file)
index 0000000..bbd145f
--- /dev/null
@@ -0,0 +1,134 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+frame 'main' scrolled to 0,1018
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/relativeanchor-frames.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html#anchor1 (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/relativeanchor-frames.html b/LayoutTests/http/tests/navigation/relativeanchor-frames.html
new file mode 100644 (file)
index 0000000..845a9a6
--- /dev/null
@@ -0,0 +1,7 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<!-- %23 below is a #, which is escaped so the anchor applies to the subframe instead of the frameset. -->
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=success200.html", "relativeanchor");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/relativeanchor-goback-expected.txt b/LayoutTests/http/tests/navigation/relativeanchor-goback-expected.txt
new file mode 100644 (file)
index 0000000..9969666
--- /dev/null
@@ -0,0 +1,114 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,950
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/relativeanchor-goback.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html#anchor1  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/relativeanchor-goback.html b/LayoutTests/http/tests/navigation/relativeanchor-goback.html
new file mode 100644 (file)
index 0000000..a67f155
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html", 1, "relativeanchor");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/resources/error404.pl b/LayoutTests/http/tests/navigation/resources/error404.pl
new file mode 100644 (file)
index 0000000..afb6bb3
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/perl
+# Simple script to generate a 404 HTTP error
+
+print "Status: 404 Not Found\r\n";
+print "Content-type: text/html\r\n";
+print "\r\n";
+
+print "<html><body>";
+print "This 404 error was intentionally generated by a test script.";
+print "</body></html>";
diff --git a/LayoutTests/http/tests/navigation/resources/frameset.pl b/LayoutTests/http/tests/navigation/resources/frameset.pl
new file mode 100644 (file)
index 0000000..817ca19
--- /dev/null
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+# Simple script to generate a frameset, where the main frame is 
+# determined by a URL query parameter.
+#
+# Note we depend on the "main" frame being on top, so mouse coords
+# are the same for that view whether it is in a frame or on its
+# own, which makes the other tests that generate events work within
+# this frameset wrapper.
+
+use CGI;
+$query = new CGI;
+$frameURL = $query->param('frameURL');
+
+print "Content-type: text/html\r\n";
+print "\r\n";
+
+print <<HERE_DOC_END
+<html>
+<script type="text/javascript" src="testcode.js"/>
+body>\n";
+<frameset rows="90%,10%">
+<frame src="$frameURL" name="main">
+<frame src="otherpage.html" name="footer">
+</frameset>
+</body></html>
+HERE_DOC_END
+
diff --git a/LayoutTests/http/tests/navigation/resources/javascriptlink.html b/LayoutTests/http/tests/navigation/resources/javascriptlink.html
new file mode 100644 (file)
index 0000000..0853c14
--- /dev/null
@@ -0,0 +1,27 @@
+<html>
+<script>
+    if (window.layoutTestController)
+        layoutTestController.waitUntilDone();
+
+    function performUserEvents() {
+        if (window.eventSender) {
+            eventSender.mouseMoveTo(15, 15);
+            eventSender.mouseDown();
+            eventSender.mouseUp();
+        }
+    }
+</script>
+
+<body style="font-size: 32" onload="performUserEvents()">
+<a href="someErrantPage.html"
+   onclick="window.location='success200.html'; return false">
+Click this link</a>
+<br>
+Test failed - This page uses javascript to implement the navigation to
+another page that happens when the user clicks a link.  The key aspect
+of this test is that this page should appear in the back/forward list,
+since it is a (simulated) user action that causes the navigation from
+this page to occur (vs a timer that did the same thing, but not
+initiated by the user).
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/resources/metaredirect.html b/LayoutTests/http/tests/navigation/resources/metaredirect.html
new file mode 100644 (file)
index 0000000..f72874f
--- /dev/null
@@ -0,0 +1,14 @@
+<html>
+<meta http-equiv="refresh" content="0;URL=success200.html">
+<script>
+    if (window.layoutTestController)
+        layoutTestController.waitUntilDone();
+</script>
+
+<body>
+Test failed! - This page uses a meta redirect to load another page.
+The key aspect is that this page should not wind up in the back/forward
+list, since there should only be one entry for the navigation through
+this page to the eventual target.
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/resources/otherpage.html b/LayoutTests/http/tests/navigation/resources/otherpage.html
new file mode 100644 (file)
index 0000000..15f9c51
--- /dev/null
@@ -0,0 +1,5 @@
+<html>
+<body style="font-size: 32">
+This is just a minimal page that we navigate to as part of testing back/forward.
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/resources/postresult.pl b/LayoutTests/http/tests/navigation/resources/postresult.pl
new file mode 100644 (file)
index 0000000..14fc499
--- /dev/null
@@ -0,0 +1,81 @@
+#!/usr/bin/perl
+# Simple script to generate a POST result.
+#
+# Depending on which button was pushed in the form, we either generate a direct
+# result page, or we use the pattern where the post returns a 303 redirect,
+# and then the resulting GET yields the true POST result.  Sites do this trick
+# to avoid having POSTS in the b/f list, so you don't run into POSTs getting
+# resubmitted by accident.
+
+use CGI;
+$query = new CGI;
+$submitWithPost = $query->param('submitwithpost');
+$submitWithPostRedirect = $query->param('submitwithpostredirect');
+$redirectHappened = $query->param('redirectHappened');
+$method = $query->request_method();
+
+if (($submitWithPost && $method eq "POST") || ($redirectHappened && $method eq "GET")) {
+
+    $textFieldData = $query->param('textfield1');
+
+    print "Content-type: text/html\r\n";
+    print "Cache-Control: no-store, no-cache, must-revalidate\r\n";
+    print "\r\n";
+
+    print <<HERE_DOC_END
+    <html>
+    <body style="font-size: 32">
+    This is just a minimal page that we navigate in response to an HTTP POST.
+    <br>
+    <br>
+    If the next line is empty after the colon, it probably means that we made
+    a mistake and requested this page with a GET with no query instead of a POST.
+    <br>
+    <br>
+    The first text field contained: $textFieldData
+    <br>
+    This page was requested with an HTTP $method
+    </body>
+    </html>
+HERE_DOC_END
+
+} elsif ($submitWithPostRedirect && $method eq "POST") {
+
+    $urlQuery = $query->query_string;
+    $urlQuery =~ s/;/&/g;       # cheapo conversion from POST data to URL query format
+    # redirect to the same page, with an added param to show we've already been here
+    $urlQuery .= "&redirectHappened=true";
+
+    print "Status: 303 See Other\r\n";
+    printf "Location: postresult.pl?%s\r\n", $urlQuery;
+    print "Content-type: text/html\r\n";
+    print "\r\n";
+
+    print <<HERE_DOC_END
+    <html>
+    <body style="font-size: 32">
+    This page should not be seen - it is a 303 redirect to another page.
+    </body>
+    </html>
+HERE_DOC_END
+
+} else {
+
+    $queryString = $query->query_string;
+    print "Content-type: text/html\r\n";
+    print "\r\n";
+
+    print <<HERE_DOC_END
+    <html>
+    <body style="font-size: 32">
+    Test failure: postresult.pl was called with an unexpected set of parameters.
+    <br>
+    This page was requested with an HTTP $method
+    <br>
+    The query parameters are: $queryString
+    </body>
+    </html>
+HERE_DOC_END
+
+}
+
diff --git a/LayoutTests/http/tests/navigation/resources/redirect302.pl b/LayoutTests/http/tests/navigation/resources/redirect302.pl
new file mode 100644 (file)
index 0000000..d249a9f
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+# Simple script to generate a 302 HTTP redirect
+
+print "Status: 302 Moved Temporarily\r\n";
+print "Location: success200.html\r\n";
+print "Content-type: text/html\r\n";
+print "\r\n";
+
+print <<HERE_DOC_END
+<html><body>
+This page should not be seen - it is a 302 redirect to another page.
+The key aspect is that this page should not wind up in the back/forward
+list, since there should only be one entry for the navigation through
+this page to the eventual target.
+</body></html>
+HERE_DOC_END
diff --git a/LayoutTests/http/tests/navigation/resources/slowmetaredirect.html b/LayoutTests/http/tests/navigation/resources/slowmetaredirect.html
new file mode 100644 (file)
index 0000000..935a523
--- /dev/null
@@ -0,0 +1,14 @@
+<html>
+<meta http-equiv="refresh" content="5;URL=success200.html">
+<script>
+    if (window.layoutTestController)
+        layoutTestController.waitUntilDone();
+</script>
+
+<body>
+Test failed! - This page uses a meta redirect to load another page.
+The key point of this test is that slow meta refreshes (>1sec)
+leave the intermediate, redirecting page in the back/forward list
+instead of replacing it with the destination.
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/resources/slowtimerredirect.html b/LayoutTests/http/tests/navigation/resources/slowtimerredirect.html
new file mode 100644 (file)
index 0000000..3aa1025
--- /dev/null
@@ -0,0 +1,13 @@
+<html>
+<script>
+    if (window.layoutTestController)
+        layoutTestController.waitUntilDone();
+    setTimeout("window.location.replace('success200.html')", 5000)
+</script>
+
+<body>
+Test failed! - This page uses a timeout redirect to load another page.
+Unlike slow meta redirect, slow timers do not cause an intermediate
+page to appear in the back/forward list.
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/resources/success200.html b/LayoutTests/http/tests/navigation/resources/success200.html
new file mode 100644 (file)
index 0000000..97db1b3
--- /dev/null
@@ -0,0 +1,54 @@
+<html>
+<script type="text/javascript" src="testcode.js"/>
+<script>
+    // needed in case we arrive here via a client redirect
+    if (window.layoutTestController)
+        layoutTestController.notifyDone();
+</script>
+
+<body id="testbody" style="font-size: 32">
+This is test page that we navigate to as part of testing various navigation styles.  It
+includes a form so that we can test saving and restoring of form data, and it needs to
+be long enough that we can test saving and restoring of scroll position.
+<br>
+<br>
+<br>
+
+<hr>
+<form id="testform" action="postresult.pl" method="post">
+<input type="submit" name="submitwithpost" value="Submit with POST"/><br>
+<input type="submit" name="submitwithpostredirect" value="Submit with POST followed by a redirect"/><br>
+Here are some form elements<input type="text" name="textfield1" value="Initial text before user input"/><br>
+that we can use for testing<input type="text" name="textfield2" value=""/><br>
+<input type="radio" name="radiogroup1" id="radiooption1" value="male"/> Male<br>
+<input type="radio" name="radiogroup1" id="radiooption2" value="female"/> Female<br>
+<input type="checkbox" name="checkbox1"/> option #1<br>
+<input type="checkbox" name="checkbox2"/> option #2<br>
+
+<select name="selectgroup1">
+<option value="volvo"/>Initial Value
+<option value="saab"/>foo
+<option value="fiat"/>Value set by User that should be Restored
+<option value="audi"/>bar
+</select><br>
+
+<textarea name="textarea1" rows="10" cols="30" value="Initial text before user input">
+More initial text before user input.
+</textarea>
+</form>
+<hr>
+
+<p>Now</p>
+<p>some</p>
+<p>filler</p>
+<p>so</p>
+<p>the</p>
+<p>doc</p>
+<p>is</p>
+<p>long</p>
+<p>enough</p>
+<p>to scroll.</p>
+<p><a name="anchor1">This is an anchor point named "anchor1".</a></p>
+
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/resources/testcode.js b/LayoutTests/http/tests/navigation/resources/testcode.js
new file mode 100644 (file)
index 0000000..d23a0ad
--- /dev/null
@@ -0,0 +1,151 @@
+//
+// Here is the shared test code among the various navigation tests.  The idea is to apply
+// a number of operation sequences to a variety of navigation techniques.  "Operations"
+// are things like loading a page, or going back or forward. "Navigation techniques" are
+// things like a HTTP 302 redirect, or the idiom of a POST followed by a redirect.
+
+
+// utility function to fill the test form with some state, simulating the user's input
+function fillTestForm() {
+    // Add data to form here instead of inside longForm.html, so these settings aren't
+    // also done when we return to that page, so we are sure to test the form state restore.
+    // Currently the state of checkboxes and radio buttons doesn't affect the DumpRenderTree
+    // output, so those settings are moot.
+    testDoc = (window.frames.length == 0) ? document : window.frames['main'].document;
+    testForm = testDoc.getElementById('testform');
+    testForm.textfield1.value='New form text from user';
+    testDoc.getElementById('radiooption2').checked=true;
+    testForm.checkbox2.checked=true;
+    testForm.selectgroup1.selectedIndex=2;
+    testForm.textarea1.value='More new form text from user, which should be restored when we return to this page.';
+}
+
+// utility function to scroll the document down a bit, to test save/restore
+function scrollDocDown() {
+    testDoc = (window.frames.length == 0) ? document : window.frames['main'].document;
+    testDoc.getElementById('testbody').scrollTop=50;
+}
+
+// utility function to make a form post
+function submitFormWithPost() {
+    testDoc = (window.frames.length == 0) ? document : window.frames['main'].document;
+    testDoc.getElementById('testform').submitwithpost.click();
+}
+
+// utility function to make a form post, using the postredirect idiom
+function submitFormWithPostRedirect() {
+    testDoc = (window.frames.length == 0) ? document : window.frames['main'].document;
+    testDoc.getElementById('testform').submitwithpostredirect.click();
+}
+
+// utility function to do a jump within the page to an anchor
+function jumpToAnchor() {
+    testWin = (window.frames.length == 0) ? window : window.frames['main'];
+    testWin.location.hash = "anchor1";
+}
+
+
+
+// This is the most basic sequence.  Just load the page and verify it worked.
+// This is used for the non-frames and frames case.
+// Optionally we will also poke the page to perform a post or jump to an anchor.
+//
+// Note most back/forward bugs are due to the b/f list not being created
+// right during the loading, so this catches a lot of those.
+// When testCase is a URL with an anchor, or when we queue a jumpToAnchor(),
+// it's important to check that that we end up scrolled to the right place,
+// proving the anchor was visited.
+function runBasicTest(testCase, extraStep) {
+    if (window.layoutTestController) {
+        layoutTestController.dumpBackForwardList();
+        layoutTestController.queueLoad(testCase);
+        if (extraStep == "post") {
+            layoutTestController.queueScript("fillTestForm()");
+            layoutTestController.queueScript("submitFormWithPost()");
+        } else if (extraStep == "postredirect") {
+            layoutTestController.queueScript("fillTestForm()");
+            layoutTestController.queueScript("submitFormWithPostRedirect()");
+        } else if (extraStep == "relativeanchor") {
+            layoutTestController.queueScript("jumpToAnchor()");
+        }
+    }
+}
+
+// A sequence testing back/forward.  Tests that we made it back to
+// right page, and that the form and scroll state was saved and restored.
+// This is used for the non-frames and frames case.
+// Optionally we will also poke the page to perform a post or jump to an anchor.
+//
+// When testCase is a URL with an anchor, or when we queue a jumpToAnchor(),
+// when we go back the scroll set by the user in this sequence should override
+// the scroll implied by the anchor.
+// When we POST it is interesting to test going back to the post result,
+// and going back 2 pages to the original form.
+function runBackTest(testCase, howFarBack, extraStep) {
+    if (window.layoutTestController) {
+        layoutTestController.dumpBackForwardList();
+        layoutTestController.queueLoad(testCase);
+        layoutTestController.queueScript("fillTestForm()");
+        layoutTestController.queueScript("scrollDocDown()");
+        if (extraStep == "post") {
+            layoutTestController.queueScript("submitFormWithPost()");
+        } else if (extraStep == "postredirect") {
+            layoutTestController.queueScript("submitFormWithPostRedirect()");
+        } else if (extraStep == "relativeanchor") {
+            layoutTestController.queueScript("jumpToAnchor()");
+        }
+        layoutTestController.queueLoad("resources/otherpage.html");
+        layoutTestController.queueBackNavigation(howFarBack);
+    }
+}
+
+// A sequence testing frames, where the given nav technique is used to
+// load a single child frame, after the load of the whole frameset.
+function runLoadChildFrameTest(testCase) {
+    if (window.layoutTestController) {
+        layoutTestController.dumpBackForwardList();
+        layoutTestController.queueLoad("resources/frameset.pl?frameURL=otherpage.html");
+        layoutTestController.queueLoad(testCase, "main");
+    }
+}
+
+// A sequence testing frames, where the given nav technique is used to
+// load a single child frame, and then we go back to that point to check
+// state save/restore.  Some browsers do not let you restablish the
+// set of subframes you were viewing when you go back in a case like this.
+function runLoadChildFrameBackTest(testCase) {
+    if (window.layoutTestController) {
+        layoutTestController.dumpBackForwardList();
+        layoutTestController.queueLoad("resources/frameset.pl?frameURL=otherpage.html");
+        layoutTestController.queueLoad(testCase, "main");
+        layoutTestController.queueScript("fillTestForm()");
+        layoutTestController.queueScript("scrollDocDown()");
+        layoutTestController.queueLoad("resources/otherpage.html");
+        layoutTestController.queueBackNavigation(1);
+    }
+}
+
+
+// A sequence testing reload.  The goals are that form state is cleared,
+// scroll state is restored, and nothing is added to b/f list.
+function runReloadTest(testCase) {
+    if (window.layoutTestController) {
+        layoutTestController.dumpBackForwardList();
+        layoutTestController.queueLoad(testCase);
+        layoutTestController.queueScript("fillTestForm()");
+        layoutTestController.queueScript("scrollDocDown()");
+        layoutTestController.queueReload();
+    }
+}
+
+// A sequence testing the repeated load of the same URL, not via the reload
+// button (e.g., the user hits return in the location field).  It was decided
+// that this case should not preserve scroll state or form state, and not add
+// anything to the b/f list.
+function runLoadSameTest(testCase) {
+    layoutTestController.dumpBackForwardList();
+    layoutTestController.queueLoad(testCase);
+    layoutTestController.queueScript("fillTestForm()");
+    layoutTestController.queueScript("scrollDocDown()");
+    layoutTestController.queueLoad(testCase);
+}
diff --git a/LayoutTests/http/tests/navigation/resources/timerredirect.html b/LayoutTests/http/tests/navigation/resources/timerredirect.html
new file mode 100644 (file)
index 0000000..b5659a8
--- /dev/null
@@ -0,0 +1,14 @@
+<html>
+<script>
+    if (window.layoutTestController)
+        layoutTestController.waitUntilDone();
+    setTimeout("window.location.replace('success200.html')", 0)
+</script>
+
+<body>
+Test failed! - This page uses a timeout redirect to load another page.
+The key aspect is that this page should not wind up in the back/forward
+list, since there should only be one entry for the navigation through
+this page to the eventual target.
+</body>
+</html>
diff --git a/LayoutTests/http/tests/navigation/slowmetaredirect-basic-expected.txt b/LayoutTests/http/tests/navigation/slowmetaredirect-basic-expected.txt
new file mode 100644 (file)
index 0000000..150d723
--- /dev/null
@@ -0,0 +1,112 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/slowmetaredirect-basic.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/slowmetaredirect.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/slowmetaredirect-basic.html b/LayoutTests/http/tests/navigation/slowmetaredirect-basic.html
new file mode 100644 (file)
index 0000000..59fc463
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/slowmetaredirect.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/slowtimerredirect-basic-expected.txt b/LayoutTests/http/tests/navigation/slowtimerredirect-basic-expected.txt
new file mode 100644 (file)
index 0000000..99a1648
--- /dev/null
@@ -0,0 +1,111 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/slowtimerredirect-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/slowtimerredirect-basic.html b/LayoutTests/http/tests/navigation/slowtimerredirect-basic.html
new file mode 100644 (file)
index 0000000..bf35e14
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/slowtimerredirect.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-basic-expected.txt b/LayoutTests/http/tests/navigation/success200-basic-expected.txt
new file mode 100644 (file)
index 0000000..db415bf
--- /dev/null
@@ -0,0 +1,111 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-basic.html b/LayoutTests/http/tests/navigation/success200-basic.html
new file mode 100644 (file)
index 0000000..d6cb8b2
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-frames-expected.txt b/LayoutTests/http/tests/navigation/success200-frames-expected.txt
new file mode 100644 (file)
index 0000000..60cab64
--- /dev/null
@@ -0,0 +1,130 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-frames.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-frames-goback.html-disabled b/LayoutTests/http/tests/navigation/success200-frames-goback.html-disabled
new file mode 100644 (file)
index 0000000..61f6ea1
--- /dev/null
@@ -0,0 +1,11 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/frameset.pl?frameURL=success200.html", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+
+<br> 
+DISABLED due to http://bugzilla.opendarwin.org/show_bug.cgi?id=10161
+It probably make sense to add variants for some of the other nav techniques,
+like the various redirects, once this gets fixed.
+
diff --git a/LayoutTests/http/tests/navigation/success200-frames-loadsame-expected.txt b/LayoutTests/http/tests/navigation/success200-frames-loadsame-expected.txt
new file mode 100644 (file)
index 0000000..26b149d
--- /dev/null
@@ -0,0 +1,132 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-frames-loadsame.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=success200.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-frames-loadsame.html b/LayoutTests/http/tests/navigation/success200-frames-loadsame.html
new file mode 100644 (file)
index 0000000..28e600f
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadSameTest("resources/frameset.pl?frameURL=success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-frames-reload.html-disabled b/LayoutTests/http/tests/navigation/success200-frames-reload.html-disabled
new file mode 100644 (file)
index 0000000..6682ade
--- /dev/null
@@ -0,0 +1,8 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runReloadTest("resources/frameset.pl?frameURL=success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+
+<br>
+DISABLED due to http://bugzilla.opendarwin.org/show_bug.cgi?id=10223
diff --git a/LayoutTests/http/tests/navigation/success200-frames.html b/LayoutTests/http/tests/navigation/success200-frames.html
new file mode 100644 (file)
index 0000000..c5508a4
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-goback-expected.txt b/LayoutTests/http/tests/navigation/success200-goback-expected.txt
new file mode 100644 (file)
index 0000000..bee9401
--- /dev/null
@@ -0,0 +1,113 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 225x13
+              text run at (0,0) width 225: "Value set by User that should be Restored"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 133x13
+      text run at (1,0) width 133: "New form text from user"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 205x39
+      text run at (3,0) width 202: "More new form text from user, which "
+      text run at (3,13) width 205: "should be restored when we return to "
+      text run at (3,26) width 53: "this page."
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-goback.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/otherpage.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-goback.html b/LayoutTests/http/tests/navigation/success200-goback.html
new file mode 100644 (file)
index 0000000..ae5f65a
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBackTest("resources/success200.html", 1, "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-loadsame-expected.txt b/LayoutTests/http/tests/navigation/success200-loadsame-expected.txt
new file mode 100644 (file)
index 0000000..85298cf
--- /dev/null
@@ -0,0 +1,111 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-loadsame.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-loadsame.html b/LayoutTests/http/tests/navigation/success200-loadsame.html
new file mode 100644 (file)
index 0000000..067689c
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadSameTest("resources/success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-reload-expected.txt b/LayoutTests/http/tests/navigation/success200-reload-expected.txt
new file mode 100644 (file)
index 0000000..a61d639
--- /dev/null
@@ -0,0 +1,112 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+scrolled to 0,50
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-reload.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-reload.html b/LayoutTests/http/tests/navigation/success200-reload.html
new file mode 100644 (file)
index 0000000..8c54e9c
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runReloadTest("resources/success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/success200-subframeload-expected.txt b/LayoutTests/http/tests/navigation/success200-subframeload-expected.txt
new file mode 100644 (file)
index 0000000..4a3738e
--- /dev/null
@@ -0,0 +1,133 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/success200-subframeload.html  **nav target**
+        http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "main")
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=otherpage.html
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/success200-subframeload-goback.html-disabled b/LayoutTests/http/tests/navigation/success200-subframeload-goback.html-disabled
new file mode 100644 (file)
index 0000000..fe49784
--- /dev/null
@@ -0,0 +1,9 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameBackTest("resources/success200.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+
+<br> 
+DISABLED due to http://bugzilla.opendarwin.org/show_bug.cgi?id=10161
+
diff --git a/LayoutTests/http/tests/navigation/success200-subframeload.html b/LayoutTests/http/tests/navigation/success200-subframeload.html
new file mode 100644 (file)
index 0000000..29e354a
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runLoadChildFrameTest("resources/success200.html");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/timerredirect-basic-expected.txt b/LayoutTests/http/tests/navigation/timerredirect-basic-expected.txt
new file mode 100644 (file)
index 0000000..1e3b9c1
--- /dev/null
@@ -0,0 +1,111 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (486,110) size 0x0
+        RenderBlock {INPUT} at (3,136) size 12x13
+        RenderText {#text} at (18,118) size 73x37
+          text run at (18,118) width 73: " Male"
+        RenderBR {BR} at (91,147) size 0x0
+        RenderBlock {INPUT} at (3,173) size 12x13
+        RenderText {#text} at (18,155) size 102x37
+          text run at (18,155) width 102: " Female"
+        RenderBR {BR} at (120,184) size 0x0
+        RenderBlock {INPUT} at (3,211) size 12x12
+        RenderText {#text} at (18,192) size 130x37
+          text run at (18,192) width 130: " option #1"
+        RenderBR {BR} at (148,221) size 0x0
+        RenderBlock {INPUT} at (3,248) size 12x12
+        RenderText {#text} at (18,229) size 130x37
+          text run at (18,229) width 130: " option #2"
+        RenderBR {BR} at (148,258) size 0x0
+        RenderMenuList {SELECT} at (2,268) size 255x18
+          RenderBlock (anonymous) at (8,2) size 224x13
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: "Initial Value"
+        RenderBR {BR} at (259,281) size 0x0
+        RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,749) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,783) size 769x37
+        RenderText {#text} at (0,0) size 62x37
+          text run at (0,0) width 62: "Now"
+      RenderBlock {P} at (0,852) size 769x37
+        RenderText {#text} at (0,0) size 67x37
+          text run at (0,0) width 67: "some"
+      RenderBlock {P} at (0,921) size 769x37
+        RenderText {#text} at (0,0) size 63x37
+          text run at (0,0) width 63: "filler"
+      RenderBlock {P} at (0,990) size 769x37
+        RenderText {#text} at (0,0) size 28x37
+          text run at (0,0) width 28: "so"
+      RenderBlock {P} at (0,1059) size 769x37
+        RenderText {#text} at (0,0) size 39x37
+          text run at (0,0) width 39: "the"
+      RenderBlock {P} at (0,1128) size 769x37
+        RenderText {#text} at (0,0) size 46x37
+          text run at (0,0) width 46: "doc"
+      RenderBlock {P} at (0,1197) size 769x37
+        RenderText {#text} at (0,0) size 21x37
+          text run at (0,0) width 21: "is"
+      RenderBlock {P} at (0,1266) size 769x37
+        RenderText {#text} at (0,0) size 57x37
+          text run at (0,0) width 57: "long"
+      RenderBlock {P} at (0,1335) size 769x37
+        RenderText {#text} at (0,0) size 94x37
+          text run at (0,0) width 94: "enough"
+      RenderBlock {P} at (0,1404) size 769x37
+        RenderText {#text} at (0,0) size 112x37
+          text run at (0,0) width 112: "to scroll."
+      RenderBlock {P} at (0,1473) size 769x37
+        RenderInline {A} at (0,0) size 531x37
+          RenderText {#text} at (0,0) size 531x37
+            text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+layer at (389,363) size 142x13 scrollWidth 153
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {#text} at (1,0) size 151x13
+      text run at (1,0) width 151: "Initial text before user input"
+layer at (347,400) size 142x13
+  RenderBlock {DIV} at (3,3) size 142x13
+layer at (11,592) size 230x130
+  RenderBlock {DIV} at (1,1) size 230x130
+    RenderText {#text} at (3,0) size 185x13
+      text run at (3,0) width 185: "More initial text before user input."
+      text run at (188,0) width 0: " "
+    RenderBR {BR} at (3,13) size 0x13
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/timerredirect-basic.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/success200.html  **nav target**
+===============================================
diff --git a/LayoutTests/http/tests/navigation/timerredirect-basic.html b/LayoutTests/http/tests/navigation/timerredirect-basic.html
new file mode 100644 (file)
index 0000000..6434338
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/timerredirect.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/timerredirect-frames-expected.txt b/LayoutTests/http/tests/navigation/timerredirect-frames-expected.txt
new file mode 100644 (file)
index 0000000..fb72918
--- /dev/null
@@ -0,0 +1,130 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderFrameSet {FRAMESET} at (0,0) size 800x600
+      RenderFrame {FRAME} at (0,0) size 800x536
+        layer at (0,0) size 783x1550
+          RenderView at (0,0) size 783x532
+        layer at (0,0) size 783x1550
+          RenderBlock {HTML} at (0,0) size 783x1550
+            RenderBody {BODY} at (8,8) size 767x1510
+              RenderBlock (anonymous) at (0,0) size 767x259
+                RenderText {#text} at (0,0) size 749x185
+                  text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+                  text run at (0,37) width 333: "various navigation styles. "
+                  text run at (333,37) width 416: "It includes a form so that we can"
+                  text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+                  text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+                  text run at (0,148) width 119: "position. "
+                RenderBR {BR} at (119,177) size 0x0
+                RenderBR {BR} at (0,185) size 0x37
+                RenderBR {BR} at (0,222) size 0x37
+              RenderBlock {HR} at (0,275) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {FORM} at (0,293) size 767x424
+                RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 95x13
+                    RenderText at (0,0) size 95x13
+                      text run at (0,0) width 95: "Submit with POST"
+                RenderBR {BR} at (115,15) size 0x0
+                RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 215x13
+                    RenderText at (0,0) size 215x13
+                      text run at (0,0) width 215: "Submit with POST followed by a redirect"
+                RenderBR {BR} at (235,37) size 0x0
+                RenderText {#text} at (0,44) size 376x37
+                  text run at (0,44) width 376: "Here are some form elements"
+                RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (528,73) size 0x0
+                RenderText {#text} at (0,81) size 334x37
+                  text run at (0,81) width 334: "that we can use for testing"
+                RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderBR {BR} at (486,110) size 0x0
+                RenderBlock {INPUT} at (3,136) size 12x13
+                RenderText {#text} at (18,118) size 73x37
+                  text run at (18,118) width 73: " Male"
+                RenderBR {BR} at (91,147) size 0x0
+                RenderBlock {INPUT} at (3,173) size 12x13
+                RenderText {#text} at (18,155) size 102x37
+                  text run at (18,155) width 102: " Female"
+                RenderBR {BR} at (120,184) size 0x0
+                RenderBlock {INPUT} at (3,211) size 12x12
+                RenderText {#text} at (18,192) size 130x37
+                  text run at (18,192) width 130: " option #1"
+                RenderBR {BR} at (148,221) size 0x0
+                RenderBlock {INPUT} at (3,248) size 12x12
+                RenderText {#text} at (18,229) size 130x37
+                  text run at (18,229) width 130: " option #2"
+                RenderBR {BR} at (148,258) size 0x0
+                RenderMenuList {SELECT} at (2,268) size 255x18
+                  RenderBlock (anonymous) at (8,2) size 224x13
+                    RenderText at (0,0) size 63x13
+                      text run at (0,0) width 63: "Initial Value"
+                RenderBR {BR} at (259,281) size 0x0
+                RenderTextField {TEXTAREA} at (2,290) size 232x132 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {HR} at (0,749) size 767x2 [border: (1px inset #000000)]
+              RenderBlock {P} at (0,783) size 767x37
+                RenderText {#text} at (0,0) size 62x37
+                  text run at (0,0) width 62: "Now"
+              RenderBlock {P} at (0,852) size 767x37
+                RenderText {#text} at (0,0) size 67x37
+                  text run at (0,0) width 67: "some"
+              RenderBlock {P} at (0,921) size 767x37
+                RenderText {#text} at (0,0) size 63x37
+                  text run at (0,0) width 63: "filler"
+              RenderBlock {P} at (0,990) size 767x37
+                RenderText {#text} at (0,0) size 28x37
+                  text run at (0,0) width 28: "so"
+              RenderBlock {P} at (0,1059) size 767x37
+                RenderText {#text} at (0,0) size 39x37
+                  text run at (0,0) width 39: "the"
+              RenderBlock {P} at (0,1128) size 767x37
+                RenderText {#text} at (0,0) size 46x37
+                  text run at (0,0) width 46: "doc"
+              RenderBlock {P} at (0,1197) size 767x37
+                RenderText {#text} at (0,0) size 21x37
+                  text run at (0,0) width 21: "is"
+              RenderBlock {P} at (0,1266) size 767x37
+                RenderText {#text} at (0,0) size 57x37
+                  text run at (0,0) width 57: "long"
+              RenderBlock {P} at (0,1335) size 767x37
+                RenderText {#text} at (0,0) size 94x37
+                  text run at (0,0) width 94: "enough"
+              RenderBlock {P} at (0,1404) size 767x37
+                RenderText {#text} at (0,0) size 112x37
+                  text run at (0,0) width 112: "to scroll."
+              RenderBlock {P} at (0,1473) size 767x37
+                RenderInline {A} at (0,0) size 531x37
+                  RenderText {#text} at (0,0) size 531x37
+                    text run at (0,0) width 531: "This is an anchor point named \"anchor1\"."
+        layer at (389,363) size 142x13 scrollWidth 153
+          RenderBlock {DIV} at (3,3) size 142x13
+            RenderText {#text} at (1,0) size 151x13
+              text run at (1,0) width 151: "Initial text before user input"
+        layer at (347,400) size 142x13
+          RenderBlock {DIV} at (3,3) size 142x13
+        layer at (11,592) size 230x130
+          RenderBlock {DIV} at (1,1) size 230x130
+            RenderText {#text} at (3,0) size 185x13
+              text run at (3,0) width 185: "More initial text before user input."
+              text run at (188,0) width 0: " "
+            RenderBR {BR} at (3,13) size 0x13
+      RenderFrame {FRAME} at (0,540) size 800x60
+        layer at (0,0) size 783x90
+          RenderView at (0,0) size 783x56
+        layer at (0,0) size 783x90
+          RenderBlock {HTML} at (0,0) size 783x90
+            RenderBody {BODY} at (8,8) size 767x74
+              RenderText {#text} at (0,0) size 722x74
+                text run at (0,0) width 722: "This is just a minimal page that we navigate to as part of"
+                text run at (0,37) width 272: "testing back/forward."
+              RenderText {#text} at (0,0) size 0x0
+              RenderText {#text} at (0,0) size 0x0
+
+============== Back Forward List ==============
+        http://127.0.0.1:8000/navigation/timerredirect-frames.html  **nav target**
+curr->  http://127.0.0.1:8000/navigation/resources/frameset.pl?frameURL=timerredirect.html  **nav target**
+            http://127.0.0.1:8000/navigation/resources/otherpage.html (in frame "footer")
+            http://127.0.0.1:8000/navigation/resources/success200.html (in frame "main")
+===============================================
diff --git a/LayoutTests/http/tests/navigation/timerredirect-frames.html b/LayoutTests/http/tests/navigation/timerredirect-frames.html
new file mode 100644 (file)
index 0000000..5d5f32a
--- /dev/null
@@ -0,0 +1,6 @@
+<script type="text/javascript" src="resources/testcode.js"/>
+<script>
+    runBasicTest("resources/frameset.pl?frameURL=timerredirect.html", "none");
+</script>
+This page just kicks off a test, and should not appear in the expected test output.
+The files in the resources dir have comments about the tests.
diff --git a/LayoutTests/http/tests/navigation/timerredirect-goback-expected.txt b/LayoutTests/http/tests/navigation/timerredirect-goback-expected.txt
new file mode 100644 (file)
index 0000000..0313980
--- /dev/null
@@ -0,0 +1,113 @@
+layer at (0,0) size 785x1550
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1550
+  RenderBlock {HTML} at (0,0) size 785x1550
+    RenderBody {BODY} at (8,8) size 769x1510
+      RenderBlock (anonymous) at (0,0) size 769x259
+        RenderText {#text} at (0,0) size 749x185
+          text run at (0,0) width 676: "This is test page that we navigate to as part of testing"
+          text run at (0,37) width 333: "various navigation styles. "
+          text run at (333,37) width 416: "It includes a form so that we can"
+          text run at (0,74) width 717: "test saving and restoring of form data, and it needs to be"
+          text run at (0,111) width 745: "long enough that we can test saving and restoring of scroll"
+          text run at (0,148) width 119: "position. "
+        RenderBR {BR} at (119,177) size 0x0
+        RenderBR {BR} at (0,185) size 0x37
+        RenderBR {BR} at (0,222) size 0x37
+      RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,293) size 769x424
+        RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 95x13
+            RenderText at (0,0) size 95x13
+              text run at (0,0) width 95: "Submit with POST"
+        RenderBR {BR} at (115,15) size 0x0
+        RenderButton {INPUT} at (2,24) size 231x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 215x13
+            RenderText at (0,0) size 215x13
+              text run at (0,0) width 215: "Submit with POST followed by a redirect"
+        RenderBR {BR} at (235,37) size 0x0
+        RenderText {#text} at (0,44) size 376x37
+          text run at (0,44) width 376: "Here are some form elements"
+        RenderTextField {INPUT} at (378,59) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (528,73) size 0x0
+        RenderText {#text} at (0,81) size 334x37
+          text run at (0,81) width 334: "that we can use for testing"
+        RenderTextField {INPUT} at (336,96) size 148x19 [bgcolor=#FFFFFF]