Fragment navigations should interrupt a provisional load of a different document
authormihaip@chromium.org <mihaip@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Sep 2011 02:16:46 +0000 (02:16 +0000)
committermihaip@chromium.org <mihaip@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Sep 2011 02:16:46 +0000 (02:16 +0000)
commitd9862294530065a85b031d90bfd93c52b400193e
tree47e745679cd76cc0f68954458a25f4dae6eeddda
parentbc1b85ecf4aecb0e1d078992b2a6d5c49cd982a8
Fragment navigations should interrupt a provisional load of a different document
https://bugs.webkit.org/show_bug.cgi?id=64556

Source/WebCore:

Reviewed by Adam Barth.

Tests: http/tests/history/back-with-fragment-change.php
       http/tests/navigation/navigation-interrupted-by-fragment.html

* loader/FrameLoader.cpp: Stop provisional load if a fragment commits.
* loader/HistoryController.cpp: Don't commit the wrong provisional item.

LayoutTests:

Reviewed by Adam Barth.

Required page-dismissal-modal-dialogs-iframe.html to be updated since
the dummy <a href="#"> link was clicked after the provisional load was
kicked off, thus causing it to to be aborted.

* fast/loader/page-dismissal-modal-dialogs.html:
* fast/loader/resources/page-dismissal-modal-dialogs-iframe.html:
* http/tests/history/back-with-fragment-change-expected.txt: Added.
* http/tests/history/back-with-fragment-change.php: Added.
* http/tests/history/resources/back-with-fragment-change-target.html: Added.
* http/tests/navigation/navigation-interrupted-by-fragment-expected.txt: Added.
* http/tests/navigation/navigation-interrupted-by-fragment.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/loader/page-dismissal-modal-dialogs.html
LayoutTests/fast/loader/resources/page-dismissal-modal-dialogs-iframe.html
LayoutTests/http/tests/history/back-with-fragment-change-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/history/back-with-fragment-change.php [new file with mode: 0644]
LayoutTests/http/tests/history/resources/back-with-fragment-change-target.html [new file with mode: 0644]
LayoutTests/http/tests/navigation/navigation-interrupted-by-fragment-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/navigation/navigation-interrupted-by-fragment.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/loader/HistoryController.cpp