Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align navigate and reload with the HTML spec #861

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 27 additions & 26 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -3086,23 +3086,7 @@ To <dfn>get the navigable info</dfn> given |navigable|,
</div>

<div algorithm>
To <dfn>await a navigation</dfn> given |navigable|, |request|, |wait condition|, and optionally
|history handling| (default: "<code>default</code>") and |ignore cache| (default: false):

1. Let |navigation id| be the string representation of a
[[!RFC9562|UUID]] based on truly random, or pseudo-random numbers.

1. [=Navigate=] |navigable| with resource |request|, and using
|navigable|'s [=active document=] as the source
{{Document}}, with [=navigation id=] |navigation id|, and [=history
handling behavior=] |history handling|. If |ignore cache| is true,
the navigation must not load resources from the HTTP cache.

Issue: property specify how the |ignore cache| flag works. This needs to
consider whether only the first load of a resource bypasses the cache
(i.e. whether this is like initially clearing the cache and proceeding like
normal), or whether resources not directly loaded by the HTML parser
(e.g. loads initiated by scripts or stylesheets) also bypass the cache.
To <dfn>await a navigation</dfn> given |navigation id| and |wait condition|:

1. Let (|event received|, |navigate status|) be [=await=] given
«"<code>navigation started</code>", "<code>navigation failed</code>",
Expand Down Expand Up @@ -4384,10 +4368,14 @@ The [=remote end steps=] with <var ignore>session</var> and |command parameters|
1. If |url record| is failure, return [=error=] with [=error code=] [=invalid
argument=].

1. Let |request| be a new [=/request=] whose URL is |url record|.
1. Run [=navigate=] |navigable| to [=/URL=] |url| using
|navigable|'s [=active document=] as the source
{{Document}} with userInvolvement "<code>browser UI</code>"
until a [=navigation id=] |navigation id| is generated
and pause the [=Navigate=] algorithm until the [=await a navigation=]
steps are invoked.

1. Return the result of [=await a navigation=] with |navigable|, |request| and
|wait condition|.
1. Return the result of [=await a navigation=] with |navigation id| and |wait condition|.

</div>

Expand Down Expand Up @@ -4586,15 +4574,28 @@ The [=remote end steps=] with |command parameters| are:
1. Let |wait condition| be the value of the <code>wait</code> field of |command
parameters| if present, or "<code>none</code>" otherwise.

1. Let |document| be |navigable|'s [=active document=].
1. Let |url| be |navigable|'s [=active document=]'s <a spec=DOM>URL</a>.

1. Run [=navigate=] |navigable| to [=/URL=] |url| using
|navigable|'s [=active document=] as the source
{{Document}} with userInvolvement "<code>browser UI</code>"
until a [=navigation id=] |navigation id| is generated
and pause the [=Navigate=] algorithm until the [=await a navigation=]
steps are invoked.

1. Let |url| be |document|'s <a spec=DOM>URL</a>.
If |ignore cache| is true, the navigation must not load resources from the HTTP cache.

Issue: property specify how the |ignore cache| flag works. This needs to
consider whether only the first load of a resource bypasses the cache
(i.e. whether this is like initially clearing the cache and proceeding like
normal), or whether resources not directly loaded by the HTML parser
(e.g. loads initiated by scripts or stylesheets) also bypass the cache.

1. Let |request| be a new [=/request=] whose URL is |url|.
Issue: we should probably call the reload algorithm in the HTML spec
but it is missing required integration steps for WebDriver BiDi.

1. Return the result of [=await a navigation=] with |navigable|, |request|, |wait
condition|, history handling "<code>reload</code>", and ignore
cache |ignore cache|.
1. Return the result of [=await a navigation=] with |navigation id| and
|wait condition|.

</div>

Expand Down