If the current top-level browsing context is no longer open,
return error with error code no such window.
Let url be the result of
getting the property url
from the parameters argument.
If url is not an absolute URL
or is not an absolute URL with fragment or not a
local scheme,
return error with error code invalid argument.
Handle any user prompts and return its value if it is an error.
Let current URL be the current top-level browsing context’s
active document’s document URL.
If current URL and url do not have the same
absolute URL:
- If timer has not been started, start
a timer. If this algorithm has not completed
before timer reaches the session's session page
load timeout in milliseconds, return an error
with error code timeout.
Navigate the current top-level browsing context to url.
If url is special except for file
and
current URL and URL do not have the same absolute URL :
Try to wait for navigation to complete.
Try to run the post-navigation checks.
Set the current browsing context
to the current top-level browsing context.
If the current top-level browsing context contains
a refresh state pragma directive of time 1 second
or less, wait until the refresh timeout has elapsed, a
new navigate has begun, and return to the first step of this
algorithm.
Return success with data null.