- From: Yoav Weiss <notifications@github.com>
- Date: Wed, 03 Mar 2021 12:43:49 -0800
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/fetch/pull/1185/review/603288713@github.com>
@yoavweiss commented on this pull request.
>
<li>
<p>Run these steps, but <a>abort when</a> the ongoing fetch is <a for=fetch>terminated</a>:
<ol>
<li>
<p>Set <var>connection</var> to the result of establishing an HTTP connection to
- <var>origin</var>. [[!HTTP]] [[!HTTP-SEMANTICS]] [[!HTTP-COND]] [[!HTTP-CACHING]] [[!HTTP-AUTH]]
- [[!TLS]]
+ <var>origin</var>, with the following caveats:
Nit: s/caveats/conditions/ ?
> </ol>
+<h3 id=fetch-report-resource-timing>Report Resource Timing</h3>
I don't think this needs an `h3` here. This feels like it could be an algorithm that's part of the previous section.
> </ol>
+<h3 id=fetch-report-resource-timing>Report Resource Timing</h3>
+<p>To <dfn>report resource timing</dfn>, given <a for=/>fetch params</a> <var>fetchParams</var> and <a for=/>response</a>
+<var>response</var>, perform the following steps:
+<ol>
+ <li>Let <var>globalObject</var> be <var>fetchParams</var>'s <a for="fetch params">request</a>'s
+ <a for=request>client</a>'s <a for="environment settings object">global object</a>.
+ <li>Let <var>timingInfo</var> be <var>fetchParams</var>'s <a for="fetch params">timing info</a>.
+ <li>Let <var>requestedURL</var> be <var>response</var>'s <a for=response>URL list</a>'s first item.
+ <li>If <var>response</var>'s <a for=response>timing allow passed flag</a> is not set, set
+ <var>timingInfo</var> to a new <a for=/>fetch timing info</a>, with its
+ <a for="fetch timing info">fetch start time</a> set to <var>timingInfo</var>'s
+ <a for="fetch timing info">fetch start time</a>,
+ <a for="fetch timing info">response end time</a> set to <var>timingInfo</var>'s
+ <a for="fetch timing info">response end time</a>,
+ <a for="fetch timing info">decoded body size</a>, and
Should we remove `decoded body size` here? It should be zero if TAO is not passing.
> </ol>
+<h3 id=fetch-report-resource-timing>Report Resource Timing</h3>
+<p>To <dfn>report resource timing</dfn>, given <a for=/>fetch params</a> <var>fetchParams</var> and <a for=/>response</a>
+<var>response</var>, perform the following steps:
+<ol>
+ <li>Let <var>globalObject</var> be <var>fetchParams</var>'s <a for="fetch params">request</a>'s
+ <a for=request>client</a>'s <a for="environment settings object">global object</a>.
+ <li>Let <var>timingInfo</var> be <var>fetchParams</var>'s <a for="fetch params">timing info</a>.
+ <li>Let <var>requestedURL</var> be <var>response</var>'s <a for=response>URL list</a>'s first item.
+ <li>If <var>response</var>'s <a for=response>timing allow passed flag</a> is not set, set
What would happen when TAO passes? Would we then pass along the originals?
>
<li><p>Let <var>codings</var> be the result of <a>extracting header list values</a> given
`<code>Content-Encoding</code>` and <var>response</var>'s <a for=response>header list</a>.
+ <li><p>Set <var>timingInfo</var>'s <a for="fetch timing info">transfer size</a> to the result of
+ adding <var>timingInfo</var>'s <a for="fetch timing info">transfer size</a> and <var>bytes</var>.
+
+ <p class=XXX>TODO: <a for="fetch timing info">transfer size</a> should also include the total size of the headers.
I think there's no need to bother with that, due to https://github.com/w3c/resource-timing/issues/238
In the latest WG discussion, we talked about just adding a fixed amount of bytes as headers, to avoid exposing sensitive information, while keeping backwards compat.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/pull/1185#pullrequestreview-603288713
Received on Wednesday, 3 March 2021 20:44:02 UTC