Skip to content

Commit 304782c

Browse files
authored
Fix CSP navigation request blocking
Closes whatwg#10796, by passing along the intended snapshotted source CSP instead of attempting to look up the policy container from the request (which will not work when it's left as "client"). w3c/webappsec-csp#692 is also necessary to fully get the intended behavior.
1 parent 2314373 commit 304782c

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

source

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100178,8 +100178,8 @@ location.href = '#foo';</code></pre>
100178100178
<dd><var>sourceDocument</var>'s <span>relevant settings object</span></dd>
100179100179

100180100180
<dt><span data-x="source-snapshot-params-policy-container">source policy container</span></dt>
100181-
<dd><var>sourceDocument</var>'s <span data-x="concept-document-policy-container">policy
100182-
container</span></dd>
100181+
<dd>a <span data-x="clone a policy container">clone</span> of <var>sourceDocument</var>'s <span
100182+
data-x="concept-document-policy-container">policy container</span></dd>
100183100183
</dl>
100184100184

100185100185
<hr>
@@ -100576,8 +100576,9 @@ location.href = '#foo';</code></pre>
100576100576
<li><p><span>Queue a global task</span> on the <span>navigation and traversal task
100577100577
source</span> given <var>navigable</var>'s <span data-x="nav-window">active window</span> to
100578100578
<span>navigate to a <code>javascript:</code> URL</span> given <var>navigable</var>,
100579-
<var>url</var>, <var>historyHandling</var>, <var>initiatorOriginSnapshot</var>,
100580-
<var>userInvolvement</var>, and <var>cspNavigationType</var>.</p></li>
100579+
<var>url</var>, <var>historyHandling</var>, <var>sourceSnapshotParams</var>,
100580+
<var>initiatorOriginSnapshot</var>, <var>userInvolvement</var>, and
100581+
<var>cspNavigationType</var>.</p></li>
100581100582

100582100583
<li><p>Return.</p></li>
100583100584
</ol>
@@ -100951,8 +100952,9 @@ location.href = '#foo';</code></pre>
100951100952

100952100953
<p>To <dfn>navigate to a <code>javascript:</code> URL</dfn>, given a <span>navigable</span>
100953100954
<var>targetNavigable</var>, a <span>URL</span> <var>url</var>, a <span>history handling
100954-
behavior</span> <var>historyHandling</var>, an <span>origin</span> <var>initiatorOrigin</var>, a
100955-
<span>user navigation involvement</span> <var>userInvolvement</var>, and a string
100955+
behavior</span> <var>historyHandling</var>, a <span>source snapshot params</span>
100956+
<var>sourceSnapshotParams</var>, an <span>origin</span> <var>initiatorOrigin</var>, a <span>user
100957+
navigation involvement</span> <var>userInvolvement</var>, and a string
100956100958
<var>cspNavigationType</var>:</p>
100957100959

100958100960
<ol>
@@ -100967,7 +100969,10 @@ location.href = '#foo';</code></pre>
100967100969

100968100970
<li>
100969100971
<p>Let <var>request</var> be a new <span data-x="concept-request">request</span> whose <span
100970-
data-x="concept-request-url">URL</span> is <var>url</var>.</p>
100972+
data-x="concept-request-url">URL</span> is <var>url</var> and whose <span
100973+
data-x="concept-request-policy-container">policy container</span> is
100974+
<var>sourceSnapshotParams</var>'s <span data-x="source-snapshot-params-policy-container">source
100975+
policy container</span>.</p>
100971100976

100972100977
<p class="note">This is a synthetic <span data-x="concept-request">request</span> solely for
100973100978
plumbing into the next step. It will never hit the network.</p>
@@ -102640,6 +102645,10 @@ location.href = '#foo';</code></pre>
102640102645
<dt><span data-x="concept-request-referrer-policy">referrer policy</span></dt>
102641102646
<dd><var>entry</var>'s <span data-x="she-document-state">document state</span>'s <span
102642102647
data-x="document-state-request-referrer-policy">request referrer policy</span></dd>
102648+
102649+
<dt><span data-x="concept-request-policy-container">policy container</span></dt>
102650+
<dd><var>sourceSnapshotParams</var>'s <span
102651+
data-x="source-snapshot-params-policy-container">source policy container</span></dd>
102643102652
</dl>
102644102653
</li>
102645102654

0 commit comments

Comments
 (0)