Skip to content

Commit

Permalink
[Navigation] Fix finished promise being resolved at incorrect time
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=274090

Reviewed by Alex Christensen.

Previously we just had a stub resolving the promise, now we only do it when
actually finished.

The new timeouts are correct as we currently don't handle cross-document
navigations for example.

NavigationAPIMethodTracker was changed to a pointer as we modify it in
various places so it doesn't make sense to copy values everywhere when
there is really one source of truth.

* 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/currententrychange-event/navigation-navigate-same-doc-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/intercept-navigation-back-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/intercept-popstate-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/intercept-same-document-history-back-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-destination-after-detach-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-destination-dynamic-index-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-navigation-back-same-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-navigation-back-same-document-in-iframe-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigation-back-same-document-preventDefault-expected.txt:
* 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-same-document-preventDefault-multiple-windows-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/replaceState-inside-back-handler-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/same-url-replace-cross-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/same-url-replace-same-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/signal-abort-intercept-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/after-detach-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/navigate-history-push-same-url-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/navigate-history-state-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/navigate-history-state-replace-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/navigate-info-and-state-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/navigate-replace-same-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/reload-info-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/reload-no-args-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/reload-state-and-info-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/reload-state-undefined-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-cross-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-file-url-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-initial-about-blank-cross-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-initial-about-blank-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-intercept-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-intercept-rejected-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-opaque-origin-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-pagehide-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-preventDefault-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-unserializable-state-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-detach-in-onnavigate-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-initial-about-blank-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-intercept-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-intercept-rejected-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-pagehide-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-preventDefault-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-unserializable-state-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/navigation-methods/traverseTo-multiple-steps-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/traverseTo-same-document-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/ordering-and-transition/navigate-204-205-download-then-same-document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/navigate-cross-document-double-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/per-entry-events/dispose-for-navigation-in-child-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/per-entry-events/dispose-same-document-reload-with-intercept-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/per-entry-events/dispose-skip-current-on-truncate-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/state/same-document-away-and-back-navigation-api-expected.txt:
* Source/WebCore/page/Navigation.cpp:
(WebCore::Navigation::maybeSetUpcomingNonTraversalTracker):
(WebCore::Navigation::addUpcomingTrarveseAPIMethodTracker):
(WebCore::Navigation::apiMethodTrackerDerivedResult):
(WebCore::Navigation::reload):
(WebCore::Navigation::navigate):
(WebCore::Navigation::performTraversal):
(WebCore::Navigation::resolveFinishedPromise):
(WebCore::Navigation::notifyCommittedToEntry):
(WebCore::Navigation::updateForNavigation):
(WebCore::Navigation::promoteUpcomingAPIMethodTracker):
(WebCore::Navigation::cleanupAPIMethodTracker):
(WebCore::Navigation::innerDispatchNavigateEvent):
* Source/WebCore/page/Navigation.h:
(WebCore::NavigationAPIMethodTracker::create):
(WebCore::NavigationAPIMethodTracker::NavigationAPIMethodTracker):

Canonical link: https://commits.webkit.org/278732@main
  • Loading branch information
TingPing committed May 14, 2024
1 parent fc751b8 commit 75e0b11
Show file tree
Hide file tree
Showing 60 changed files with 160 additions and 161 deletions.
1 change: 1 addition & 0 deletions LayoutTests/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -6878,6 +6878,7 @@ imported/w3c/web-platform-tests/navigation-api/navigate-event/cross-window/ [ Sk
imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/key-id-back-same-document.html [ Failure ]
imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/key-id-location-reload.html [ Failure ]
imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/key-id-location-replace.html [ Failure ]
imported/w3c/web-platform-tests/navigation-api/navigation-methods/navigate-replace-same-document.html [ Failure ]

# Crash caused by detach.
imported/w3c/web-platform-tests/navigation-api/navigate-event/signal-abort-detach-in-onnavigate.html [ Crash ]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT currententrychange fires for same-document navigation.back() and navigation.forward() Test timed out

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@

Harness Error (TIMEOUT), message = null

TIMEOUT currententrychange fires for navigation.navigate() Test timed out
PASS currententrychange fires for navigation.navigate()

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT event.intercept() can intercept navigation.back() Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT event.intercept() should provide popstate with a valid state object Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL event.intercept() can intercept same-document history.back() assert_equals: expected 4 but got 2

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL navigate event destination after iframe detach promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'back_destination.key')"
Harness Error (TIMEOUT), message = null

TIMEOUT navigate event destination after iframe detach Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL navigate event destination.index should be dynamic assert_equals: expected 1 but got -1

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT navigate event for navigation.back() - same-document Test timed out

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


PASS navigate event for navigation.back() - same-document in an iframe
Harness Error (TIMEOUT), message = null

TIMEOUT navigate event for navigation.back() - same-document in an iframe Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL navigation.back() same-document preventDefault assert_unreached: finished must not fulfill Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL navigation.traverseTo() in an iframe with same-document preventDefault in its parent assert_unreached: finished must not fulfill Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT navigation.traverseTo() in an iframe with same-document preventDefault in its parent Test timed out

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called


FAIL navigation.traverseTo() - if a top window cancels the traversal, any iframes should not fire navigate assert_unreached: Should have rejected: undefined Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL replaceState inside a navigate event for navigation.back() assert_unreached: finished must not fulfill Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

PASS navigate() to the current URL cross document should replace

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

PASS navigate() to the current URL same document should replace

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL event.intercept() does not signal event.signal promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'abort_signal.aborted')"

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL navigation.currentEntry/entries()/canGoBack/canGoForward after iframe removal assert_true: canGoForward expected true got false
Harness Error (TIMEOUT), message = null

TIMEOUT navigation.currentEntry/entries()/canGoBack/canGoForward after iframe removal Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL If forward pruning clobbers the target of a traverse, abort assert_equals: expected 1 but got 2

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL navigate() to the current URL with history: 'push' and intercept so it remains same-document assert_equals: expected (string) "push" but got (undefined) undefined

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@

Harness Error (TIMEOUT), message = null

TIMEOUT history.state should be nulled by navigate() Test timed out
PASS history.state should be nulled by navigate()

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@

Harness Error (TIMEOUT), message = null

TIMEOUT history.state should be nulled by navigate() Test timed out
PASS history.state should be nulled by navigate()

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@

Harness Error (TIMEOUT), message = null

TIMEOUT navigate() with info and state Test timed out
FAIL navigate() with info and state promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'navigation.currentEntry.getState().statevar')"

Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Unhandled Promise Rejection: Error: assert_equals: expected "4ee017b9-616c-4b0e-84b8-06f91fea3afd" but got "a73e2a7c-e045-4897-946e-9cec39c2a75f"

PASS navigate() with history: 'replace' option

Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@


Harness Error (TIMEOUT), message = null

TIMEOUT reload() variant with only info Test timed out
FAIL reload() variant with only info undefined is not an object (evaluating 'i.contentWindow.navigation.currentEntry.getState().key')

Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@


Harness Error (TIMEOUT), message = null

TIMEOUT reload() variant with no state or info Test timed out
FAIL reload() variant with no state or info undefined is not an object (evaluating 'i.contentWindow.navigation.currentEntry.getState().key')

Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@


Harness Error (TIMEOUT), message = null

TIMEOUT reload() variant with info and new state Test timed out
FAIL reload() variant with info and new state undefined is not an object (evaluating 'i.contentWindow.navigation.currentEntry.getState().key')

Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@


Harness Error (TIMEOUT), message = null

TIMEOUT reload() variant with info and state: undefined counts the same as not present (because of Web IDL dictionary semantics), so preserves the state Test timed out
FAIL reload() variant with info and state: undefined counts the same as not present (because of Web IDL dictionary semantics), so preserves the state undefined is not an object (evaluating 'i.contentWindow.navigation.currentEntry.getState().key')

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL cross-document navigate() promises never settle assert_unreached: finished must not fulfill Reached unreachable code
PASS cross-document navigate() promises never settle

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@

FAIL navigate() promises assert_not_equals: committed must fulfill before finished got disallowed value undefined
FAIL navigate() promises assert_equals: expected "#1" but got ""

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

FAIL navigate() to a file: URL assert_unreached: finished must not fulfill Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT navigate() to a file: URL Test timed out

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL navigate() in initial about:blank document (cross-document) assert_unreached: finished must not fulfill Reached unreachable code
PASS navigate() in initial about:blank document (cross-document)

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL navigate() in initial about:blank document assert_unreached: finished must not fulfill Reached unreachable code
PASS navigate() in initial about:blank document

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

FAIL navigate() and intercept() with a fulfilled promise assert_not_equals: committed must fulfill before finished got disallowed value undefined
Harness Error (TIMEOUT), message = null

TIMEOUT navigate() and intercept() with a fulfilled promise Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

FAIL navigate() and intercept() with a rejected promise assert_unreached: Should have rejected: undefined Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT navigate() and intercept() with a rejected promise Test timed out

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL navigation.navigate() in an opaque origin iframe assert_unreached: finished must not fulfill Reached unreachable code
PASS navigation.navigate() in an opaque origin iframe

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL navigate() inside onpagehide assert_unreached: finished must not fulfill Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT navigate() inside onpagehide Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

FAIL navigate() when the onnavigate handler calls preventDefault() assert_unreached: finished must not fulfill Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT navigate() when the onnavigate handler calls preventDefault() Test timed out

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

PASS navigate() with an unserializable state (WritableStream)
FAIL navigate() with an unserializable state (SharedArrayBuffer) assert_unreached: finished must not fulfill Reached unreachable code
FAIL navigate() with an unserializable state (SharedArrayBuffer) assert_unreached: committed must not fulfill Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL reload() promise rejections when detaching an iframe inside onnavigate assert_unreached: finished must not fulfill Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT reload() promise rejections when detaching an iframe inside onnavigate Test timed out

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL reload() promises never settle (without intercept()) assert_unreached: finished must not fulfill Reached unreachable code
PASS reload() promises never settle (without intercept())

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL reload() in initial about:blank document assert_unreached: finished must not fulfill Reached unreachable code
PASS reload() in initial about:blank document

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL reload() and intercept() with a fulfilled promise assert_not_equals: committed must fulfill before finished got disallowed value undefined

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL reload() and intercept() with a rejected promise assert_unreached: Should have rejected: undefined Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL reload() inside onpagehide assert_unreached: finished must not fulfill Reached unreachable code
Harness Error (TIMEOUT), message = null

TIMEOUT reload() inside onpagehide Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

FAIL reload() when the onnavigate handler calls preventDefault() assert_unreached: finished must not fulfill Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

PASS reload() with an unserializable state (WritableStream)
FAIL reload() with an unserializable state (SharedArrayBuffer) assert_unreached: finished must not fulfill Reached unreachable code

Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@


Harness Error (TIMEOUT), message = null

TIMEOUT traverseTo() promise rejections when detaching an iframe before onnavigate (same-document) Test timed out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT Repeated navigation.traverseTo() with the same key Test timed out

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT goto() can precisely traverse multiple steps in the joint session history Test timed out

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT same-document navigate.traverseTo(), back(), and forward() Test timed out

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

Harness Error (TIMEOUT), message = null

TIMEOUT currententrychange fires before popstate for navigation.back() and navigation.forward() Test timed out

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@


FAIL event and promise ordering when navigate() is to a 204s and then to a same-document navigation assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "currententrychange", "committed rejected 1", "finished rejected 1", "committed fulfilled 2", "promise microtask", "navigatesuccess", "finished fulfilled 2"] length 11, got ["finished fulfilled 1", "finished fulfilled 2", "promise microtask"] length 3
FAIL event and promise ordering when navigate() is to a 205s and then to a same-document navigation assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "currententrychange", "committed rejected 1", "finished rejected 1", "committed fulfilled 2", "promise microtask", "navigatesuccess", "finished fulfilled 2"] length 11, got ["finished fulfilled 1", "finished fulfilled 2", "promise microtask"] length 3
FAIL event and promise ordering when navigate() is to a Content-Disposition: attachment responses and then to a same-document navigation assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "currententrychange", "committed rejected 1", "finished rejected 1", "committed fulfilled 2", "promise microtask", "navigatesuccess", "finished fulfilled 2"] length 11, got ["finished fulfilled 1", "navigate", "navigatesuccess", "currententrychange", "finished fulfilled 2", "promise microtask"] length 6
FAIL event and promise ordering when navigate() is to a 204s and then to a same-document navigation assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "currententrychange", "committed rejected 1", "finished rejected 1", "committed fulfilled 2", "promise microtask", "navigatesuccess", "finished fulfilled 2"] length 11, got ["committed fulfilled 2", "finished fulfilled 2", "promise microtask"] length 3
FAIL event and promise ordering when navigate() is to a 205s and then to a same-document navigation assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "currententrychange", "committed rejected 1", "finished rejected 1", "committed fulfilled 2", "promise microtask", "navigatesuccess", "finished fulfilled 2"] length 11, got ["committed fulfilled 2", "finished fulfilled 2", "promise microtask"] length 3
FAIL event and promise ordering when navigate() is to a Content-Disposition: attachment responses and then to a same-document navigation assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "currententrychange", "committed rejected 1", "finished rejected 1", "committed fulfilled 2", "promise microtask", "navigatesuccess", "finished fulfilled 2"] length 11, got ["navigate", "navigatesuccess", "currententrychange", "committed fulfilled 2", "finished fulfilled 2", "promise microtask"] length 6

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


FAIL event and promise ordering when navigate() is called to a cross-document destination, interrupting another navigate() to a cross-document destination assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "committed rejected 1", "finished rejected 1", "promise microtask"] length 7, got ["finished fulfilled 1", "finished fulfilled 2", "promise microtask"] length 3
FAIL event and promise ordering when navigate() is called to a cross-document destination, interrupting another navigate() to a cross-document destination assert_array_equals: lengths differ, expected array ["navigate", "AbortSignal abort", "navigateerror", "navigate", "committed rejected 1", "finished rejected 1", "promise microtask"] length 7, got ["promise microtask"] length 1

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


FAIL Dispose events should fire when entries are removed by a navigation in a different frame assert_equals: expected 1 but got 4
Harness Error (TIMEOUT), message = null

TIMEOUT Dispose events should fire when entries are removed by a navigation in a different frame Test timed out

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called

PASS dispose events are not fired when doing a same-document reload using navigation.reload() and intercept()

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
FAIL: Timed out waiting for notifyDone to be called


FAIL Removing a currentEntry from the joint session history shouldn't dispose it assert_equals: expected 1 but got 2

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@

Harness Error (TIMEOUT), message = null

TIMEOUT entry.getState() behavior after navigating away using the navigation API, then back Test timed out
FAIL entry.getState() behavior after navigating away using the navigation API, then back assert_not_equals: got disallowed value undefined

0 comments on commit 75e0b11

Please sign in to comment.