Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fire a load event for javascript: URL non-strings #10957

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
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
28 changes: 20 additions & 8 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -33620,8 +33620,9 @@ interface <dfn interface>HTMLIFrameElement</dfn> : <span>HTMLElement</span> {
<li><p><span>Navigate</span><!--DONAV iframe or frame--> <var>element</var>'s <span>content
navigable</span> to <var>url</var> using <var>element</var>'s <span>node document</span>, with
<i data-x="navigation-hh">historyHandling</i> set to <var>historyHandling</var>, <i
data-x="navigation-referrer-policy">referrerPolicy</i> set to <var>referrerPolicy</var>, and <i
data-x="navigation-resource">documentResource</i> set to <var>srcdocString</var>.</p></li>
data-x="navigation-referrer-policy">referrerPolicy</i> set to <var>referrerPolicy</var>, <i
data-x="navigation-resource">documentResource</i> set to <var>srcdocString</var>, and <i
data-x="navigation-javascript-url-load-event">javascriptURLLoadEvent</i> set to true.</p></li>
</ol>

<p>Each <code>Document</code> has an <dfn>iframe load in progress</dfn> flag and a <dfn>mute
Expand Down Expand Up @@ -100390,8 +100391,11 @@ location.href = '#foo';</code></pre>
policy</span> <dfn data-x="navigation-referrer-policy"><var>referrerPolicy</var></dfn> (default
the empty string), an optional <span>user navigation involvement</span> <dfn
data-x="navigation-user-involvement"><var>userInvolvement</var></dfn> (default "<code
data-x="uni-none">none</code>"), and an optional <code>Element</code> <dfn
data-x="navigation-source-element"><var>sourceElement</var></dfn> (default null):</p>
data-x="uni-none">none</code>"), an optional <code>Element</code> <dfn
data-x="navigation-source-element"><var>sourceElement</var></dfn> (default null), and an
optional boolean <dfn for="navigate"
data-x="navigation-javascript-url-load-event"><var>javascriptURLLoadEvent</var></dfn> (default
false):</p>

<ol>
<li><p>Let <var>cspNavigationType</var> be "<code data-x="">form-submission</code>" if
Expand Down Expand Up @@ -100567,7 +100571,8 @@ location.href = '#foo';</code></pre>
source</span> given <var>navigable</var>'s <span data-x="nav-window">active window</span> to
<span>navigate to a <code>javascript:</code> URL</span> given <var>navigable</var>,
<var>url</var>, <var>historyHandling</var>, <var>initiatorOriginSnapshot</var>,
<var>userInvolvement</var>, and <var>cspNavigationType</var>.</p></li>
<var>userInvolvement</var>, <var>cspNavigationType</var>, and
<var>javascriptURLLoadEvent</var>.</p></li>

<li><p>Return.</p></li>
</ol>
Expand Down Expand Up @@ -100942,8 +100947,8 @@ location.href = '#foo';</code></pre>
<p>To <dfn>navigate to a <code>javascript:</code> URL</dfn>, given a <span>navigable</span>
<var>targetNavigable</var>, a <span>URL</span> <var>url</var>, a <span>history handling
behavior</span> <var>historyHandling</var>, an <span>origin</span> <var>initiatorOrigin</var>, a
<span>user navigation involvement</span> <var>userInvolvement</var>, and a string
<var>cspNavigationType</var>:</p>
<span>user navigation involvement</span> <var>userInvolvement</var>, a string
<var>cspNavigationType</var>, and a boolean <var>loadEvent</var>:</p>

<ol>
<li><p><span>Assert</span>: <var>historyHandling</var> is "<code
Expand Down Expand Up @@ -100972,7 +100977,14 @@ location.href = '#foo';</code></pre>
<var>url</var>, <var>initiatorOrigin</var>, and <var>userInvolvement</var>.</p></li>

<li>
<p>If <var>newDocument</var> is null, then return.</p>
<p>If <var>newDocument</var> is null, then:</p>

<ol>
<li><p>If <var>loadEvent</var> is true, then run the <span>iframe load event steps</span>
given <var>targetNavigable</var>'s <span data-x="nav-container">container</span>.</p></li>

<li><p>Return.</p></li>
</ol>

<p class="note">In this case, some JavaScript code was executed, but no new
<code>Document</code> was created, so we will not perform a navigation.</p>
Expand Down