Skip to content

Commit

Permalink
Use the URL from the response, if it has one
Browse files Browse the repository at this point in the history
Instead of always overriding response's url list with request's url
list, even after service workers, only do so for synthetic responses.

This mostly affects the way stylesheets work in service workers. See
w3c/ServiceWorker#757 for details.
  • Loading branch information
annevk committed Nov 4, 2015
1 parent ceb16ef commit ed37f5e
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 40 deletions.
40 changes: 20 additions & 20 deletions Overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -1897,10 +1897,6 @@ <h3 id="main-fetch"><span class="secno">5.1 </span>Main fetch</h3>
<p class="note">This operates on <var title="">response</var> as this algorithm is not
supposed to observe <var>internalResponse</var>.

<li><p>Set <var title="">internalResponse</var>'s
<a href="#concept-response-url-list" title="concept-response-url-list">url list</a> to a copy of
<var title="">request</var>'s <a href="#concept-request-url-list" title="concept-request-url-list">url list</a>.

<li>
<p>If <var title="">request</var>'s <a href="#synchronous-flag">synchronous flag</a> is set,
<a href="#wait-for-a-response" title="wait for a response">wait for <var>internalResponse</var></a>, and then
Expand Down Expand Up @@ -2114,6 +2110,8 @@ <h3 id="http-fetch"><span class="secno">5.3 </span>HTTP fetch</h3>
<ol>
<li><p>Let <var title="">response</var> be null.

<li><p>Let <var>actualResponse</var> be null.

<li>
<p>If <var title="">request</var>'s <a href="#skip-service-worker-flag">skip-service-worker flag</a> is unset and
either <var title="">request</var>'s <a href="#concept-request-client" title="concept-request-client">client</a> is
Expand All @@ -2131,6 +2129,10 @@ <h3 id="http-fetch"><span class="secno">5.3 </span>HTTP fetch</h3>

<p><a href="#read-a-request" title="Read a request">Read <var>request</var></a>.

<li><p>Set <var>actualResponse</var> to <var>response</var>, if <var>response</var> is not a
<a href="#concept-filtered-response" title="concept-filtered-response">filtered response</a>, and to <var>response</var>'s
<a href="#concept-internal-response" title="concept-internal-response">internal response</a> otherwise.

<li>
<p>If one of the following conditions is true, return a
<a href="#concept-network-error" title="concept-network-error">network error</a>:
Expand All @@ -2148,13 +2150,13 @@ <h3 id="http-fetch"><span class="secno">5.3 </span>HTTP fetch</h3>
<a href="#concept-response-type" title="concept-response-type">type</a> is "<code title="">opaqueredirect</code>".
</ul>

<li>
<p>If <var>response</var> is a <a href="#concept-filtered-response" title="concept-filtered-response">filtered response</a>,
then execute <a href="https://w3c.github.io/webappsec-csp/set-response-policy-list">set
<var>response</var>'s CSP list</a> on <var>response</var>'s
<a href="#concept-internal-response" title="concept-internal-response">internal response</a>. Otherwise, execute
<a href="https://w3c.github.io/webappsec-csp/set-response-policy-list">set
<var>response</var>'s CSP list</a> on <var>response</var>. <a href="#refsCSP">[CSP]</a>
<li><p>If <var>actualResponse</var>'s <a href="#concept-response-url-list" title="concept-response-url-list">url list</a> is
empty, set it to a copy of <var>request</var>'s
<a href="#concept-request-url-list" title="concept-request-url-list">url list</a>.

<li><p>Execute
<a href="https://w3c.github.io/webappsec-csp/set-response-policy-list">set <var>response</var>'s CSP list</a>
on <var>actualResponse</var>. <a href="#refsCSP">[CSP]</a>
</ol>

<li>
Expand Down Expand Up @@ -2212,7 +2214,7 @@ <h3 id="http-fetch"><span class="secno">5.3 </span>HTTP fetch</h3>

<p>is true, and unset otherwise.

<li><p>Set <var title="">response</var> to the result of performing an
<li><p>Set <var>response</var> and <var>actualResponse</var> to the result of performing an
<a href="#concept-http-network-or-cache-fetch" title="concept-http-network-or-cache-fetch">HTTP-network-or-cache fetch</a>
using <var title="">request</var> with <var title="">credentials flag</var> if set and
<i title="">authentication-fetch flag</i> if set.
Expand All @@ -2227,12 +2229,6 @@ <h3 id="http-fetch"><span class="secno">5.3 </span>HTTP fetch</h3>
<a href="#concept-response" title="concept-response">response</a> from a service worker.
</ol>

<li>Let <var>actualResponse</var> be <var title="">response</var>, if
<var title="">response</var> is not a
<a href="#concept-filtered-response" title="concept-filtered-response">filtered response</a>, and
<var title="">response</var>'s
<a href="#concept-internal-response" title="concept-internal-response">internal response</a> otherwise.

<li>
<p>Switch on <var>actualResponse</var>'s <var title="">status</var>:

Expand Down Expand Up @@ -2803,8 +2799,12 @@ <h3 id="http-network-fetch"><span class="secno">5.5 </span>HTTP-network fetch</h
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1030660">bug 1030660</a> looks
into whether this quirk can be removed.

<li><p>Execute <a href="https://w3c.github.io/webappsec-csp/set-response-policy-list">set
<var>response</var>'s CSP list</a> on <var>response</var>. <a href="#refsCSP">[CSP]</a>
<li><p>Set <var>response</var>'s <a href="#concept-response-url-list" title="concept-response-url-list">url list</a> to a copy of
<var>request</var>'s <a href="#concept-request-url-list" title="concept-request-url-list">url list</a>.

<li><p>Execute
<a href="https://w3c.github.io/webappsec-csp/set-response-policy-list">set <var>response</var>'s CSP list</a>
on <var>response</var>. <a href="#refsCSP">[CSP]</a>

<li><p>If <var title="">response</var> is not a
<a href="#concept-network-error" title="concept-network-error">network error</a> and <var title="">request</var>'s
Expand Down
40 changes: 20 additions & 20 deletions Overview.src.html
Original file line number Diff line number Diff line change
Expand Up @@ -1836,10 +1836,6 @@ <h3>Main fetch</h3>
<p class=note>This operates on <var title>response</var> as this algorithm is not
supposed to observe <var>internalResponse</var>.

<li><p>Set <var title>internalResponse</var>'s
<span title=concept-response-url-list>url list</span> to a copy of
<var title>request</var>'s <span title=concept-request-url-list>url list</span>.

<li>
<p>If <var title>request</var>'s <span>synchronous flag</span> is set,
<span title="wait for a response">wait for <var>internalResponse</var></span>, and then
Expand Down Expand Up @@ -2053,6 +2049,8 @@ <h3>HTTP fetch</h3>
<ol>
<li><p>Let <var title>response</var> be null.

<li><p>Let <var>actualResponse</var> be null.

<li>
<p>If <var title>request</var>'s <span>skip-service-worker flag</span> is unset and
either <var title>request</var>'s <span title=concept-request-client>client</span> is
Expand All @@ -2070,6 +2068,10 @@ <h3>HTTP fetch</h3>

<p><span title="Read a request">Read <var>request</var></span>.

<li><p>Set <var>actualResponse</var> to <var>response</var>, if <var>response</var> is not a
<span title=concept-filtered-response>filtered response</span>, and to <var>response</var>'s
<span title=concept-internal-response>internal response</span> otherwise.

<li>
<p>If one of the following conditions is true, return a
<span title=concept-network-error>network error</span>:
Expand All @@ -2087,13 +2089,13 @@ <h3>HTTP fetch</h3>
<span title=concept-response-type>type</span> is "<code title>opaqueredirect</code>".
</ul>

<li>
<p>If <var>response</var> is a <span title=concept-filtered-response>filtered response</span>,
then execute <a href=https://w3c.github.io/webappsec-csp/set-response-policy-list>set
<var>response</var>'s CSP list</a> on <var>response</var>'s
<span title=concept-internal-response>internal response</span>. Otherwise, execute
<a href=https://w3c.github.io/webappsec-csp/set-response-policy-list>set
<var>response</var>'s CSP list</a> on <var>response</var>. <span data-anolis-ref>CSP</span>
<li><p>If <var>actualResponse</var>'s <span title=concept-response-url-list>url list</span> is
empty, set it to a copy of <var>request</var>'s
<span title=concept-request-url-list>url list</span>.

<li><p>Execute
<a href=https://w3c.github.io/webappsec-csp/set-response-policy-list>set <var>response</var>'s CSP list</a>
on <var>actualResponse</var>. <span data-anolis-ref>CSP</span>
</ol>

<li>
Expand Down Expand Up @@ -2151,7 +2153,7 @@ <h3>HTTP fetch</h3>

<p>is true, and unset otherwise.

<li><p>Set <var title>response</var> to the result of performing an
<li><p>Set <var>response</var> and <var>actualResponse</var> to the result of performing an
<span title=concept-http-network-or-cache-fetch>HTTP-network-or-cache fetch</span>
using <var title>request</var> with <var title>credentials flag</var> if set and
<i title>authentication-fetch flag</i> if set.
Expand All @@ -2166,12 +2168,6 @@ <h3>HTTP fetch</h3>
<span title=concept-response>response</span> from a service worker.
</ol>

<li>Let <var>actualResponse</var> be <var title>response</var>, if
<var title>response</var> is not a
<span title=concept-filtered-response>filtered response</span>, and
<var title>response</var>'s
<span title=concept-internal-response>internal response</span> otherwise.

<li>
<p>Switch on <var>actualResponse</var>'s <var title>status</var>:

Expand Down Expand Up @@ -2742,8 +2738,12 @@ <h3>HTTP-network fetch</h3>
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1030660">bug 1030660</a> looks
into whether this quirk can be removed.

<li><p>Execute <a href=https://w3c.github.io/webappsec-csp/set-response-policy-list>set
<var>response</var>'s CSP list</a> on <var>response</var>. <span data-anolis-ref>CSP</span>
<li><p>Set <var>response</var>'s <span title=concept-response-url-list>url list</span> to a copy of
<var>request</var>'s <span title=concept-request-url-list>url list</span>.

<li><p>Execute
<a href=https://w3c.github.io/webappsec-csp/set-response-policy-list>set <var>response</var>'s CSP list</a>
on <var>response</var>. <span data-anolis-ref>CSP</span>

<li><p>If <var title>response</var> is not a
<span title=concept-network-error>network error</span> and <var title>request</var>'s
Expand Down

0 comments on commit ed37f5e

Please sign in to comment.