ASSIGNED 68278
http/tests/history/back-with-fragment-change.py fails
https://bugs.webkit.org/show_bug.cgi?id=68278
Summary http/tests/history/back-with-fragment-change.py fails
Mihai Parparita
Reported 2011-09-16 13:31:44 PDT
Test landed in http://trac.webkit.org/changeset/95259. See bug 64556 for history of this issue.
Attachments
Patch (10.22 KB, patch)
2011-09-16 15:56 PDT, Mihai Parparita
no flags
Patch (10.22 KB, patch)
2011-09-16 16:56 PDT, Mihai Parparita
darin: review+
webkit.review.bot: commit-queue-
expectations (1.45 KB, patch)
2022-02-15 17:50 PST, Dawn Morningstar
no flags
Mihai Parparita
Comment 1 2011-09-16 13:44:08 PDT
Mihai Parparita
Comment 2 2011-09-16 15:56:08 PDT
Adam Barth
Comment 3 2011-09-16 16:05:53 PDT
Comment on attachment 107739 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=107739&action=review > Source/WebCore/loader/FrameLoader.cpp:2301 > +// In cases where a load is not committed, undoes the speculative updating of > +// the current history item that's done by HistoryController::goToItem. > +void FrameLoader::undoSpeculativeBackForwardListUpdate() Shouldn't this be a method of HistoryController since it interacts almost exclusively with HistoryController state?
Mihai Parparita
Comment 4 2011-09-16 16:15:45 PDT
(In reply to comment #3) > Shouldn't this be a method of HistoryController since it interacts almost exclusively with HistoryController state? Makes sense. Updated patch coming up.
Mihai Parparita
Comment 5 2011-09-16 16:56:25 PDT
Adam Barth
Comment 6 2011-09-16 17:02:14 PDT
This history stuff is somewhat mysterious to me. Probably fishd should review as our history expert.
WebKit Review Bot
Comment 7 2011-09-17 17:56:17 PDT
Comment on attachment 107747 [details] Patch Attachment 107747 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/9736381 New failing tests: http/tests/navigation/forward-and-cancel.html
David Kilzer (:ddkilzer)
Comment 8 2011-11-28 08:00:59 PST
Eric Seidel (no email)
Comment 9 2012-05-21 15:10:37 PDT
I think you borked cr-linux? This is clearly an Adam/Nate review.
Darin Adler
Comment 10 2012-08-14 16:17:24 PDT
Comment on attachment 107747 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=107747&action=review > Source/WebCore/ChangeLog:11 > + navigated-to history item was cloberred by the same-document navigation. typo: cloberred should be clobbered > Source/WebCore/loader/HistoryController.cpp:549 > +void HistoryController::updateForProvisionalLoadStopped() Should this function also set m_provisionalItem to 0? If so, you could remove that call from the one call site that does it separately and explicitly. > Source/WebCore/loader/HistoryController.cpp:555 > + bool isTargetItem = m_provisionalItem ? m_provisionalItem->isTargetItem() : false; You just moved this line of code, but I suggest writing it with && instead of the ternary operator. bool isTargetItem = m_provisionalItem && m_provisionalItem->isTargetItem(); > Source/WebCore/loader/HistoryController.cpp:558 > + if (HistoryItem* resetItem = mainFrame->loader()->history()->currentItem()) { I find the variable name “reset item” to be a bit confusing. It sounds like a verb phrase to me. > Source/WebCore/loader/HistoryController.h:73 > + void updateForProvisionalLoadStopped(); A better name for this would be updateForStoppedProvisionalLoad. For the record, I also think the function above should be renamed updateForCompletedFrameLoad. I think I understand why someone gave that a different name before, but it’s unnecessarily non-grammatical naming.
Simon Fraser (smfr)
Comment 11 2012-09-19 13:55:26 PDT
The test still fails.
Ádám Kallai
Comment 12 2013-02-14 06:38:49 PST
This test fails on Qt too. Is Anybody working on this bug?
Stephen Chenney
Comment 13 2013-04-09 05:43:54 PDT
There is nobody from Chromium working on this.
Ryosuke Niwa
Comment 14 2013-05-22 15:44:07 PDT
What happened to this patch?
Darin Adler
Comment 15 2020-09-04 15:19:10 PDT
This test is marked as failing, not flaky, in TestExpectations but it’s not failing for me.
Alexey Proskuryakov
Comment 16 2020-09-04 16:37:56 PDT
Darin Adler
Comment 17 2020-09-04 16:58:58 PDT
So we should mark this as flaky, not as known failure.
Ryan Haddad
Comment 18 2020-09-08 16:33:03 PDT
Marked test as failing for mac-wk1, flaky for mac-wk2 in http://trac.webkit.org/r266758.
Dawn Morningstar
Comment 19 2022-02-15 17:50:21 PST
Created attachment 452118 [details] expectations
Robert Jenner
Comment 20 2022-02-15 17:56:06 PST
Comment on attachment 452118 [details] expectations Clearing flags on attachment: 452118 Committed r289871 (?): <https://commits.webkit.org/r289871>
Dawn Morningstar
Comment 21 2022-02-15 17:57:28 PST
Re-added test expectations because they had been inadvertently removed.
Fujii Hironori
Comment 22 2023-10-31 23:09:36 PDT
http/tests/history/back-with-fragment-change.py https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fhistory%2Fback-with-fragment-change.py Mac WK1 is constantly failing, GTK and WPE WK2 is randomly failing. https://build.webkit.org/results/GTK-Linux-64-bit-Debug-Tests/270007@main%20(11606)/http/tests/history/back-with-fragment-change-diff.txt --- /home/buildbot/worker/GTK-Linux-64-bit-Debug-Tests/build/layout-test-results/http/tests/history/back-with-fragment-change-expected.txt +++ /home/buildbot/worker/GTK-Linux-64-bit-Debug-Tests/build/layout-test-results/http/tests/history/back-with-fragment-change-actual.txt @@ -4,6 +4,5 @@ ============== Back Forward List ============== http://127.0.0.1:8000/history/back-with-fragment-change.py **nav target** - http://127.0.0.1:8000/history/resources/back-with-fragment-change-target.html **nav target** curr-> http://127.0.0.1:8000/history/resources/back-with-fragment-change-target.html#foo **nav target** ===============================================
Przemyslaw Gorszkowski
Comment 23 2024-06-19 04:35:31 PDT
I think this test case is not compliant with the specification: https://html.spec.whatwg.org/multipage/browsing-the-web.html#centralized-modifications-of-session-historyn (the first example describes exactly the same case as is in this testcase). In my opinion (but please correct me if I am wrong) that the result of this test case should be: ============== Back Forward List ============== curr-> http://127.0.0.1:8000/history/back-with-fragment-change.py **nav target** - http://127.0.0.1:8000/history/resources/back-with-fragment-change-target.html **nav target** http://127.0.0.1:8000/history/resources/back-with-fragment-change-target.html#foo **nav target** =============================================== Chrome and FireFox work in such way (at the end the back-with-fragment-change.py is displayed and due to deleting the sessionStorage.didNavigate; in function "done" of the back-with-fragment-change-target.html, the test case restarts).
Note You need to log in before you can comment on or make changes to this bug.