Skip to content

Commit e81104d

Browse files
committed
Expose NavigationPrecommitController.addHandler
This allows adding a regular navigation handler during a precommit.
1 parent f19930f commit e81104d

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

source

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100985,6 +100985,7 @@ callback <dfn callback>NavigationInterceptHandler</dfn> = <span data-x="idl-Prom
100985100985
<pre><code class="idl">[Exposed=Window]
100986100986
interface <dfn interface>NavigationPrecommitController</dfn> {
100987100987
undefined <span data-x="dom-NavigationPrecommitController-redirect">redirect</span>(USVString url, optional <span>NavigationNavigateOptions</span> options = {});
100988+
undefined <span data-x="dom-NavigationPrecommitController-addHandler">addHandler</span>(<span>NavigationInterceptHandler</span> handler);
100988100989
};
100989100990

100990100991
callback <dfn callback>NavigationPrecommitHandler</dfn> = <span data-x="idl-Promise">Promise</span>&lt;undefined> (<span>NavigationPrecommitController</span> controller);</code></pre>
@@ -101013,7 +101014,11 @@ callback <dfn callback>NavigationInterceptHandler</dfn> = <span data-x="idl-Prom
101013101014
<p>If the current <code>Document</code> <span data-x="can have its URL rewritten">cannot have
101014101015
its URL rewritten</span> to <var>url</var>, a <span>"<code>SecurityError</code>"</span>
101015101016
<code>DOMException</code> will be thrown.</p>
101016-
</dd>
101017+
</dd>
101018+
101019+
<dt><code data-x=""><var>precommitController</var>.<span subdfn data-x="dom-NavigationPrecommitController-addHandler">addHandler</span>(<span>NavigationInterceptHandler</span> <var>handler</var>)</code></dt>
101020+
<dd><p>Adds a <span>NavigationInterceptHandler</span> callback that would be called once the navigation is committed,
101021+
as if this method was passed to the <code data-x="dom-NavigateEvent-intercept">navigateEvent.intercept()</code> method as a <code data-x="dom-NavigationInterceptOptions-handler">handler</code>.</p></dd>
101017101022
</dl>
101018101023

101019101024
<div w-nodev>
@@ -101107,6 +101112,33 @@ callback <dfn callback>NavigationInterceptHandler</dfn> = <span data-x="idl-Prom
101107101112
</ol>
101108101113
</div>
101109101114

101115+
<div algorithm>
101116+
<p>The <dfn method for="NavigationPrecommitController"><code
101117+
data-x="dom-NavigationPrecommitController-addHandler">addHandler(<var>handler</var>,)</code></dfn>
101118+
method steps are:</p>
101119+
101120+
<ol>
101121+
<li><p><span>Assert</span>: <span>this</span>'s <span
101122+
data-x="concept-NavigationPrecommitController-event">event</span>'s <span
101123+
data-x="concept-NavigateEvent-interception-state">interception state</span> is not "<code
101124+
data-x="">none</code>".</p></li>
101125+
101126+
<li><p><span data-x="NavigateEvent-perform-shared-checks">Perform shared checks</span> given
101127+
<span>this</span>'s <span
101128+
data-x="concept-NavigationPrecommitController-event">event</span>.</p></li>
101129+
101130+
<li><p>If <span>this</span>'s <span
101131+
data-x="concept-NavigationPrecommitController-event">event</span>'s <span
101132+
data-x="concept-NavigateEvent-interception-state">interception state</span> is not "<code
101133+
data-x="">intercepted</code>", then throw an <span>"<code>InvalidStateError</code>"</span>
101134+
<code>DOMException</code>.</p></li>
101135+
101136+
<li><p><span data-x="list append">Append</span> <var>handler</var> to <span>this</span>'s <span
101137+
data-x="concept-NavigationPrecommitController-event">event</span>'s <span
101138+
data-x="concept-NavigateEvent-navigation-handler-list">navigation handler list</span>.</p></li>
101139+
</ol>
101140+
</div>
101141+
101110101142

101111101143
</div>
101112101144

0 commit comments

Comments
 (0)