Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4735fd370a76616fd6d29dfdd5e1144a928cdb10
      
https://github.com/WebKit/WebKit/commit/4735fd370a76616fd6d29dfdd5e1144a928cdb10
  Author: Rob Buis <rb...@igalia.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/currententrychange-event/navigation-back-forward-same-doc-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-destination-getState-back-forward-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/back-forward-multiple-frames-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/forward-to-pruned-entry-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/traverseTo-detach-same-document-before-navigate-event-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/traverseTo-repeated-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/currententrychange-before-popstate-intercept-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/state/same-document-away-and-back-navigation-api-expected.txt
    M Source/WebCore/loader/NavigationScheduler.cpp
    M Source/WebCore/loader/NavigationScheduler.h
    M Source/WebCore/page/Navigation.cpp
    M Source/WebCore/page/Navigation.h

  Log Message:
  -----------
  [Navigation] Schedule navigate event until after back/forward/traverseTo
https://bugs.webkit.org/show_bug.cgi?id=276546

Reviewed by Alex Christensen.

The traverse is supposed to use the session history traversal queue [1]. WebKit 
does not seem to have this data structure implemented, but
seeing history.back() etc. should work similarly as navigation.back(), we can 
emulate that and use NavigationScheduler, which puts the navigation
on a timer.

[1] 
https://html.spec.whatwg.org/multipage/nav-history-apis.html#performing-a-navigation-api-traversal
 (Step 12)

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/currententrychange-event/navigation-back-forward-same-doc-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-destination-getState-back-forward-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/back-forward-multiple-frames-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/forward-to-pruned-entry-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/traverseTo-detach-same-document-before-navigate-event-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/traverseTo-repeated-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/currententrychange-before-popstate-intercept-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/navigation-api/state/same-document-away-and-back-navigation-api-expected.txt:
* Source/WebCore/loader/NavigationScheduler.cpp:
(WebCore::ScheduledHistoryNavigationByKey::ScheduledHistoryNavigationByKey):
(WebCore::ScheduledHistoryNavigationByKey::~ScheduledHistoryNavigationByKey):
(WebCore::NavigationScheduler::scheduleHistoryNavigationByKey):
* Source/WebCore/loader/NavigationScheduler.h:
* Source/WebCore/page/Navigation.cpp:
(WebCore::Navigation::performTraversal):
(WebCore::Navigation::traverseTo):
(WebCore::Navigation::back):
(WebCore::Navigation::forward):
(WebCore::Navigation::abortOngoingNavigation):
* Source/WebCore/page/Navigation.h:

Canonical link: https://commits.webkit.org/282699@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to