- From: Anne van Kesteren <notifications@github.com>
- Date: Fri, 09 May 2025 07:11:23 -0700
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/fetch/pull/1823/review/2828486239@github.com>
@annevk approved this pull request.
This looks good to me modulo some comments. @ricea and @noamr are maybe willing to review this too.
> @@ -1666,17 +1666,38 @@ of the <a for="environment">target browsing context</a>'s <a>active document</a>
<a>environment settings object</a>.
<p>A <a for=/>request</a> has an associated
-<dfn export for=request id=concept-request-window>window</dfn>
-("<code>no-window</code>", "<code>client</code>", or an
-<a>environment settings object</a> whose
-<a for="environment settings object">global object</a> is a
-{{Window}} object). Unless stated otherwise it is
-"<code>client</code>".
+<dfn export for=request id=concept-request-window>traversable for user prompts</dfn>, that is
I'm trying to write out "end user" where I can myself. I'm not actually sure where we are consistency-wise, but is that something we can strife for? I'm happy to document it as the term to use.
>
-<p class=note>The "<code>client</code>" value is changed to "<code>no-window</code>" or
-<a for=/>request</a>'s <a for=request>client</a> during <a lt=fetch for=/>fetching</a>. It provides
-a convenient way for standards to not have to explicitly set <a for=/>request</a>'s
-<a for=request>window</a>.
+<p>When displaying a user interface associated with a request in that request's
+<a for=request>traversable for user prompts</a>, the user agent should update the address bar to
+display something derived from the request's <a for=request>current URL</a> (and not, e.g., leave
+it at its previous value, derived from the URL of the request's initiator). Additionally, the user
+agent should avoid displaying content from the request's initiator in the
+<a for=request>traversable for user prompts</a>, especially in the case of cross-origin requests.
+Displaying a blank page behind such prompts is a good way to fulfill these requirements. Failing to
+follow these guidelines can confuse users as to which origin is responsible for the prompt.
```suggestion
follow these guidelines can confuse end users as to which origin is responsible for the prompt.
```
> - if <var>request</var>'s <a for=request>client</a>'s
- <a for="environment settings object">global object</a> is a {{Window}} object; otherwise
- "<code>no-window</code>".
-
- <li><p>If <var>request</var>'s <a for=request>origin</a> is "<code>client</code>", then set
- <var>request</var>'s <a for=request>origin</a> to <var>request</var>'s <a for=request>client</a>'s
- <a for="environment settings object">origin</a>.
+ <li>
+ <p>If <var>request</var>'s <a for=request>traversable for user prompts</a> is "<code>client</code>":
+
+ <ol>
+ <li><p>Set <var>request</var>'s <a for=request>traversable for user prompts</a> to
+ "<code>no-traversable</code>".
+
+ <li>
+ <p>If <var>request</var>'s <a for=request>client</a> is non-null, then:
```suggestion
<p>If <var>request</var>'s <a for=request>client</a> is non-null:
```
> - <a for="environment settings object">origin</a>.
+ <li>
+ <p>If <var>request</var>'s <a for=request>traversable for user prompts</a> is "<code>client</code>":
+
+ <ol>
+ <li><p>Set <var>request</var>'s <a for=request>traversable for user prompts</a> to
+ "<code>no-traversable</code>".
+
+ <li>
+ <p>If <var>request</var>'s <a for=request>client</a> is non-null, then:
+
+ <ol>
+ <li><p>Let <var>global</var> be <var>request</var>'s <a for=request>client</a>'s
+ <a for="environment settings object">global object</a>.
+
+ <li><p>If <var>global</var> is a {{Window}} object, and <var>global</var>'s
```suggestion
<li><p>If <var>global</var> is a {{Window}} object and <var>global</var>'s
```
> @@ -5517,10 +5560,13 @@ run these steps:
<a for="fetch params">canceled</a>:
<ol>
- <li><p>If <var>request</var>'s <a for=request>window</a> is "<code>no-window</code>" and
- <var>request</var>'s <a for=request>redirect mode</a> is "<code>error</code>", then set
- <var>httpFetchParams</var> to <var>fetchParams</var> and <var>httpRequest</var> to
- <var>request</var>.
+ <li>
+ <p>If <var>request</var>'s <a for=request>traversable for user prompts</a> is "<code>no-traversable</code>" and
Exceeds 100 columns jingle
> @@ -5517,10 +5560,13 @@ run these steps:
<a for="fetch params">canceled</a>:
<ol>
- <li><p>If <var>request</var>'s <a for=request>window</a> is "<code>no-window</code>" and
- <var>request</var>'s <a for=request>redirect mode</a> is "<code>error</code>", then set
- <var>httpFetchParams</var> to <var>fetchParams</var> and <var>httpRequest</var> to
- <var>request</var>.
+ <li>
+ <p>If <var>request</var>'s <a for=request>traversable for user prompts</a> is "<code>no-traversable</code>" and
+ <var>request</var>'s <a for=request>redirect mode</a> is "<code>error</code>", then set
+ <var>httpFetchParams</var> to <var>fetchParams</var> and <var>httpRequest</var> to
+ <var>request</var>.
+
+ <p class=note>If user prompts are possible, then we need to clone <var>request</var> because ???
Because it's one of the scenarios where we might have to repeat request.
--
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/pull/1823#pullrequestreview-2828486239
You are receiving this because you are subscribed to this thread.
Message ID: <whatwg/fetch/pull/1823/review/2828486239@github.com>
Received on Friday, 9 May 2025 14:11:27 UTC