Skip to content

Commit 148dcd7

Browse files
annevkdomenic
authored andcommitted
Define the document's referrer in terms of Fetch
1 parent 4bdac7a commit 148dcd7

File tree

1 file changed

+29
-34
lines changed

1 file changed

+29
-34
lines changed

source

Lines changed: 29 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8521,9 +8521,9 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E..
85218521
<code>Document</code> is both <span>ready for post-load tasks</span> and <span>completely
85228522
loaded</span> immediately.</p>
85238523

8524-
<p><dfn>The document's referrer</dfn> is an <span>absolute URL</span> that can be set when the
8525-
<code>Document</code> is created. If it is not explicitly set, then its value is the empty
8526-
string.</p>
8524+
<p><dfn>The document's referrer</dfn> is a string (representing a <span>URL</span>) that can be
8525+
set when the <code>Document</code> is created. If it is not explicitly set, then its value is the
8526+
empty string.</p>
85278527

85288528
<p>Each <code>Document</code> object has a <dfn>reload override flag</dfn> that is originally
85298529
unset. The flag is set by the <code data-x="dom-document-open">document.open()</code> and <code
@@ -76889,7 +76889,7 @@ dictionary <dfn>DragEventInit</dfn> : <span>MouseEventInit</span> {
7688976889

7689076890
<li><p>If the new <span>browsing context</span> has a <span>creator browsing context</span>, then
7689176891
set <var>document</var>'s <span data-x="the document's referrer">referrer</span> to the
76892-
<span>creator URL</span>.</p></li>
76892+
<span data-x="concept-url-serialiser">serialisation</span> of <span>creator URL</span>.</p></li>
7689376893

7689476894
<li><p>If the new <span>browsing context</span> has a <span>creator browsing context</span>, then
7689576895
set <var>document</var>'s <span data-x="concept-document-referrer-policy">referrer policy</span>
@@ -81399,6 +81399,9 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8139981399
flag</var></dfn>, the user agent must run these steps:</p>
8140081400

8140181401
<ol>
81402+
<li><p>If <var>resource</var> is a <span>URL</span>, then set <var>resource</var> to a new <span
81403+
data-x="concept-request">request</span> whose <span data-x="concept-request-url">url</span> is
81404+
<var>resource</var>.</p></li>
8140281405

8140381406
<li id="sandboxLinks">
8140481407
<p>If the <span>source browsing context</span> is not <span>allowed to navigate</span>
@@ -81538,9 +81541,8 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8153881541

8153981542
<dd><p>Skip this step. The data is already available.</p></dd>
8154081543

81541-
<dt>If <var>resource</var> is a <span>URL</span> whose <span
81542-
data-x="concept-url-scheme">scheme</span> is <code data-x="javascript
81543-
protocol">javascript</code></dt>
81544+
<dt>If <var>resource</var>'s <span>URL</span>'s <span data-x="concept-url-scheme">scheme</span>
81545+
is <code data-x="javascript protocol">javascript</code></dt>
8154481546

8154581547
<dd>
8154681548

@@ -81672,13 +81674,7 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8167281674
<dd>
8167381675

8167481676
<ol>
81675-
<li><p>Let <var>request</var> be <var>resource</var>.</p></li>
81676-
81677-
<li><p>If <var>request</var> is a <span>URL</span>, set <var>request</var> to a new <span
81678-
data-x="concept-request">request</span> whose <span data-x="concept-request-url">url</span>
81679-
is <var>request</var>.</p></li>
81680-
81681-
<li><p>Set <var>request</var>'s <span data-x="concept-request-client">client</span> to the
81677+
<li><p>Set <var>resource</var>'s <span data-x="concept-request-client">client</span> to the
8168281678
<span>source browsing context</span>'s <span>active document</span>'s <span>relevant settings
8168381679
object</span>, <span data-x="concept-request-target-browsing-context">target browsing
8168481680
context</span> to <var>browsingContext</var>, <span
@@ -81689,23 +81685,23 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8168981685
data-x="concept-request-redirect-mode">redirect mode</span> to "<code
8169081686
data-x="">manual</code>".</p></li>
8169181687

81692-
<li><p>Set <var>request</var>'s <span>omit-<code>Origin</code>-header flag</span>.
81688+
<li><p>Set <var>resource</var>'s <span>omit-<code>Origin</code>-header flag</span>.
8169381689

81694-
<li><p>If <var>request</var>'s <span data-x="concept-request-method">method</span> is not
81690+
<li><p>If <var>resource</var>'s <span data-x="concept-request-method">method</span> is not
8169581691
`<code data-x="">GET</code>`, or, if the <span data-x="navigate">navigation algorithm</span>
8169681692
was invoked as a result of the <span data-x="concept-form-submit">form submission
8169781693
algorithm</span>, then if there is an <span>origin</span> of the <span>active document</span>
81698-
of the <span>source browsing context</span>, unset <var>request</var>'s
81694+
of the <span>source browsing context</span>, unset <var>resource</var>'s
8169981695
<span>omit-<code>Origin</code>-header flag</span>.</p></li>
8170081696

8170181697
<li><p>Otherwise, if <var>browsingContext</var> is a <span>child browsing context</span>, and
8170281698
the <span>browsing context container</span> of <var>browsingContext</var> has a
81703-
<span>browsing context scope origin</span>, set <var>request</var>'s <span
81699+
<span>browsing context scope origin</span>, set <var>resource</var>'s <span
8170481700
data-x="concept-request-origin">origin</span> to that <span>browsing context scope
81705-
origin</span> and unset <var>request</var>'s <span>omit-<code>Origin</code>-header
81701+
origin</span> and unset <var>resource</var>'s <span>omit-<code>Origin</code>-header
8170681702
flag</span>.</p></li>
8170781703

81708-
<!--FETCH--><li><p><span data-x="concept-fetch">Fetch</span> <var>request</var>.</p></li>
81704+
<!--FETCH--><li><p><span data-x="concept-fetch">Fetch</span> <var>resource</var>.</p></li>
8170981705
</ol>
8171081706

8171181707
</dd>
@@ -81771,11 +81767,6 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8177181767
The user agent may indicate to the user that the original page load failed, and that the page
8177281768
used was a previously cached resource.</p>
8177381769

81774-
<p class="note">This does not affect the <i>address of the resource from which Request-URIs are
81775-
obtained</i>, as used to set <span>the document's referrer</span> in the <span>initialise the
81776-
<code>Document</code> object</span> steps below; they still use the value as computed by the
81777-
original fetch algorithm.</p>
81778-
8177981770
</li>
8178081771

8178181772
<li>
@@ -81808,11 +81799,6 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8180881799
the original page load failed, that the page used was a fallback resource, and what the URL of
8180981800
the fallback resource actually is.</p>
8181081801

81811-
<p class="note">This does not affect the <i>address of the resource from which Request-URIs are
81812-
obtained</i>, as used to set <span>the document's referrer</span> in the <span>initialise the
81813-
<code>Document</code> object</span> steps below; they still use the value as computed by the
81814-
original fetch algorithm.</p>
81815-
8181681802
</li>
8181781803

8181881804
<li>
@@ -81986,10 +81972,19 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
8198681972
algorithm on the <code>Document</code> object and the <span
8198781973
data-x="concept-response">response</span> used to generate the document. <ref spec="CSP"></p>
8198881974

81989-
<li><p>Set <span>the document's referrer</span> to the <i>address of the resource from which
81990-
Request-URIs are obtained</i> as determined when the fetch algorithm obtained the resource, if
81991-
that algorithm was used and determined such a value; otherwise, set it to the empty
81992-
string.</p></li>
81975+
<li>
81976+
<p>If <var>resource</var> is a <span data-x="concept-request">request</span>, then set
81977+
<span>the document's referrer</span> to the <span
81978+
data-x="concept-url-serialiser">serialisation</span> of <var>resource</var>'s <span
81979+
data-x="concept-request-referrer">referrer</span>, if <var>resource</var>'s <span
81980+
data-x="concept-request-referrer">referrer</span> is a <span>URL record</span>, and the empty
81981+
string otherwise.</p>
81982+
81983+
<p class="note">Per the WHATWG Fetch standard a <span
81984+
data-x="concept-request">request</span>'s <span
81985+
data-x="concept-request-referrer">referrer</span> will be either a <span>URL record</span> or
81986+
"<code data-x="">no-referrer</code>" at this point.</p>
81987+
</li>
8199381988

8199481989
<li><p><span>Implement the sandboxing</span> for the <code>Document</code>.</p></li>
8199581990

0 commit comments

Comments
 (0)