Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 45eb3846b6f4bdd85e0e7181411942dd4c71960c
https://github.com/WebKit/WebKit/commit/45eb3846b6f4bdd85e0e7181411942dd4c71960c
Author: Chris Dumez <[email protected]>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigation-traverseTo-in-iframe-same-document-preventDefault-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigation-traverseTo-navigates-top-and-same-doc-child-and-cross-doc-child-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/back-forward-multiple-frames-expected.txt
M Source/WebCore/bindings/js/JSDOMPromiseDeferred.h
M Source/WebCore/loader/HistoryController.cpp
M Source/WebCore/loader/HistoryController.h
M Source/WebCore/loader/NavigationScheduler.cpp
M Source/WebCore/page/Navigation.h
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
Log Message:
-----------
imported/w3c/web-platform-tests/navigation-api/navigation-methods/back-forward-multiple-frames.html
is failing
https://bugs.webkit.org/show_bug.cgi?id=284865
Reviewed by Rob Buis.
When calling `navigation.back()` / `navigation.forward()`, we would call
`Page::goToItem()` which
would navigate a single frame. However, per the HTML specification, several
frames may get navigated.
In particular, if a frame get navigated within the same document (e.g. fragment
navigation), its
descendant frames may get navigated to whatever their URL was when their
ancestor last was on this
HistoryItem.
In particular, the "apply the history step" [1] says:
"""
Let changingNavigables be the result of get all navigables whose current
session history entry will change or reload given traversable and targetStep.
"""
Which refers to the algorithm at [2] to gather the changing navigables.
[1] https://html.spec.whatwg.org/#apply-the-history-step
[2]
https://html.spec.whatwg.org/#get-all-navigables-whose-current-session-history-entry-will-change-or-reload
*
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigation-traverseTo-in-iframe-same-document-preventDefault-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigation-traverseTo-navigates-top-and-same-doc-child-and-cross-doc-child-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/back-forward-multiple-frames-expected.txt:
Rebaseline tests that are now passing or running further.
* Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:
(WebCore::DeferredPromise::wasRejected const):
* Source/WebCore/loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::goToItemForNavigationAPI):
(WebCore::HistoryController::recursiveGatherFramesToNavigate):
(WebCore::HistoryController::recursiveSetProvisionalItem):
(WebCore::HistoryController::itemsAreClones):
(WebCore::HistoryController::itemsAreClones const): Deleted.
* Source/WebCore/loader/HistoryController.h:
* Source/WebCore/loader/NavigationScheduler.cpp:
* Source/WebCore/page/Navigation.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::goToItemForNavigationAPI):
* Source/WebCore/page/Page.h:
Canonical link: https://commits.webkit.org/288123@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes