Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 53 additions & 20 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -80072,32 +80072,65 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BUTTON O
<code>Document</code> object's <span>browsing context</span>'s <span>active document</span>.</p>

<p>When the <dfn><code data-x="dom-location-assign">assign(<var>url</var>)</code></dfn>
method is invoked, the UA must <span data-x="resolve a url">resolve</span> the argument, relative
to the <span>API base URL</span> specified by the <span>entry settings object</span>, and if that
is successful, must <span>navigate</span><!--DONAV location.href/assign--> the <span>browsing
context</span> to the specified <var>url</var>, with <span>exceptions enabled</span>. If
the <span>browsing context</span>'s <span>session history</span> contains only one
<code>Document</code>, and that was the <code>about:blank</code> <code>Document</code> created
when the <span>browsing context</span> was created, then the navigation must be done with
<span>replacement enabled</span>.</p> <!-- READ ME WHEN EDITING THIS: IE and Firefox only seem to
treat it that way if the DOM is still a virgin DOM; Safari doesn't check that. Thus this might
need changing if testing shows the IE/Firefox behaviour is required here. -->

<p>When the <dfn><code data-x="dom-location-replace">replace(<var>url</var>)</code></dfn> method is invoked, the UA must <span data-x="resolve a
url">resolve</span> the argument, relative to the <span>API base URL</span> specified by the
<span>entry settings object</span>, and if that is successful, <span>navigate</span><!--DONAV
location.href/replace--> the <span>browsing context</span> to the specified <var>url</var> with <span>replacement enabled</span> and <span>exceptions enabled</span>.</p>
method is invoked, the user agent must run the following steps:

<ol>

<li>

<p><span data-x="resolve a url">Resolve</span> <var>url</var>, relative to the
<span>API base URL</span> specified by the <span>entry settings object</span> and let
<var>parsedURL</var> be the <span>resulting parsed URL</span>.</p>

<p>If this is not successful, throw a <code>SyntaxError</code> exception and abort these
steps.</p>

</li>

<li>

<p><span>Navigate</span><!--DONAV location.href/assign--> the <span>browsing context</span> to
<var>parsedURL</var>, with <span>exceptions enabled</span>.</p>

<p>If the <span>browsing context</span>'s <span>session history</span> contains only one
<code>Document</code>, and that was the <code>about:blank</code> <code>Document</code> created
when the <span>browsing context</span> was created, then the navigation must be done with
<span>replacement enabled</span>.</p>
<!-- READ ME WHEN EDITING THIS: IE and Firefox only seem to treat it that way if the DOM is
still a virgin DOM; Safari doesn't check that. Thus this might need changing if testing
shows the IE/Firefox behaviour is required here. -->

</li>

</ol>

<p>When the <dfn><code data-x="dom-location-replace">replace(<var>url</var>)</code></dfn>
method is invoked, the user agent must run the following steps:

<ol>

<li>

<p><span data-x="resolve a url">Resolve</span> <var>url</var>, relative to the
<span>API base URL</span> specified by the <span>entry settings object</span> and let
<var>parsedURL</var> be the <span>resulting parsed URL</span>.</p>

<p>If this is not successful, throw a <code>SyntaxError</code> exception and abort these
steps.</p>

</li>

<li><p><span>Navigate</span><!--DONAV location.href/replace--> the
<span>browsing context</span> to <var>parsedURL</var>, with <span>replacement enabled</span>
and <span>exceptions enabled</span>.</p></li>

</ol>

<p>Navigation for the <code data-x="dom-location-assign">assign()</code> and <code
data-x="dom-location-replace">replace()</code> methods must be done with the <span>responsible
browsing context</span> specified by the <span>incumbent settings object</span> as the
<span>source browsing context</span>.</p>

<p>If the <span data-x="resolve a url">resolving</span> step of the <code
data-x="dom-location-assign">assign()</code> and <code
data-x="dom-location-replace">replace()</code> methods is not successful, then the user agent must
instead throw a <code>SyntaxError</code> exception.</p>

<p>When the <dfn><code data-x="dom-location-reload">reload()</code></dfn> method is invoked, the
user agent must run the appropriate steps from the following list:</p>

Expand Down