@@ -109944,12 +109944,6 @@ interface mixin <dfn interface>WindowEventHandlers</dfn> {
109944
109944
DOMString <span data-x="dom-btoa">btoa</span>(DOMString data);
109945
109945
ByteString <span data-x="dom-atob">atob</span>(DOMString data);
109946
109946
109947
- // timers
109948
- long <span data-x="dom-setTimeout">setTimeout</span>(<span>TimerHandler</span> handler, optional long timeout = 0, any... arguments);
109949
- undefined <span data-x="dom-clearTimeout">clearTimeout</span>(optional long id = 0);
109950
- long <span data-x="dom-setInterval">setInterval</span>(<span>TimerHandler</span> handler, optional long timeout = 0, any... arguments);
109951
- undefined <span data-x="dom-clearInterval">clearInterval</span>(optional long id = 0);
109952
-
109953
109947
// microtask queuing
109954
109948
undefined <span data-x="dom-queueMicrotask">queueMicrotask</span>(<span data-x="idl-VoidFunction">VoidFunction</span> <var>callback</var>);
109955
109949
@@ -110038,6 +110032,12 @@ interface mixin <dfn interface>WindowOrWorkerGlobalScope</dfn> {
110038
110032
110039
110033
undefined <span data-x="dom-reportError">reportError</span>(any e);
110040
110034
110035
+ // timers
110036
+ long <span data-x="dom-setTimeout">setTimeout</span>(<span>TimerHandler</span> handler, optional long timeout = 0, any... arguments);
110037
+ undefined <span data-x="dom-clearTimeout">clearTimeout</span>(optional long id = 0);
110038
+ long <span data-x="dom-setInterval">setInterval</span>(<span>TimerHandler</span> handler, optional long timeout = 0, any... arguments);
110039
+ undefined <span data-x="dom-clearInterval">clearInterval</span>(optional long id = 0);
110040
+
110041
110041
// ImageBitmap
110042
110042
Promise<<span>ImageBitmap</span>> <span data-x="dom-createImageBitmap">createImageBitmap</span>(<span>ImageBitmapSource</span> image, optional <span>ImageBitmapOptions</span> options = {});
110043
110043
Promise<<span>ImageBitmap</span>> <span data-x="dom-createImageBitmap">createImageBitmap</span>(<span>ImageBitmapSource</span> image, long sx, long sy, long sw, long sh, optional <span>ImageBitmapOptions</span> options = {});
@@ -110803,10 +110803,9 @@ partial interface <span id="ShadowRoot-partial">ShadowRoot</span> {
110803
110803
110804
110804
<div w-nodev>
110805
110805
110806
- <p>Objects that implement the <code>WindowOrWorkerOrShadowRealmGlobalScope</code> mixin have a
110807
- <dfn export for="WindowOrWorkerOrShadowRealmGlobalScope">map of active timers</dfn>, which is a
110808
- <span>map</span>, initially empty.
110809
- Each <span data-x="map key">key</span> in this map is an identifier for a timer,
110806
+ <p>Objects that implement the <code>WindowOrWorkerGlobalScope</code> mixin have a <dfn export
110807
+ for="WindowOrWorkerGlobalScope">map of active timers</dfn>, which is a <span>map</span>,
110808
+ initially empty. Each <span data-x="map key">key</span> in this map is an identifier for a timer,
110810
110809
and each <span data-x="map value">value</span> is a <code>DOMHighResTimeStamp</code>,
110811
110810
representing the expiry time for that timer.</p>
110812
110811
@@ -110822,21 +110821,21 @@ partial interface <span id="ShadowRoot-partial">ShadowRoot</span> {
110822
110821
110823
110822
<hr>
110824
110823
110825
- <p>The <dfn method for="WindowOrWorkerOrShadowRealmGlobalScope " data-x="dom-setTimeout"><code
110824
+ <p>The <dfn method for="WindowOrWorkerGlobalScope " data-x="dom-setTimeout"><code
110826
110825
id="dom-windowtimers-setTimeout">setTimeout(<var>handler</var>, <var>timeout</var>,
110827
110826
...<var>arguments</var>)</code></dfn> method steps are to return the result of running the
110828
110827
<span>timer initialization steps</span> given <span>this</span>, <var>handler</var>,
110829
110828
<var>timeout</var>, <var>arguments</var>, and false.</p>
110830
110829
110831
- <p>The <dfn method for="WindowOrWorkerOrShadowRealmGlobalScope " data-x="dom-setInterval"><code
110830
+ <p>The <dfn method for="WindowOrWorkerGlobalScope " data-x="dom-setInterval"><code
110832
110831
id="dom-windowtimers-setInterval">setInterval(<var>handler</var>, <var>timeout</var>,
110833
110832
...<var>arguments</var>)</code></dfn> method steps are to return the result of running the
110834
110833
<span>timer initialization steps</span> given <span>this</span>, <var>handler</var>,
110835
110834
<var>timeout</var>, <var>arguments</var>, and true.</p>
110836
110835
110837
- <p>The <dfn method for="WindowOrWorkerOrShadowRealmGlobalScope " data-x="dom-clearTimeout"><code
110836
+ <p>The <dfn method for="WindowOrWorkerGlobalScope " data-x="dom-clearTimeout"><code
110838
110837
id="dom-windowtimers-clearTimeout">clearTimeout(<var>id</var>)</code></dfn> and <dfn method
110839
- for="WindowOrWorkerOrShadowRealmGlobalScope " data-x="dom-clearInterval"><code
110838
+ for="WindowOrWorkerGlobalScope " data-x="dom-clearInterval"><code
110840
110839
id="dom-windowtimers-clearInterval">clearInterval(<var>id</var>)</code></dfn> method steps
110841
110840
are to <span data-x="map remove">remove</span> <span>this</span>'s <span>map of active
110842
110841
timers</span>[<var>id</var>].</p>
@@ -110849,16 +110848,15 @@ partial interface <span id="ShadowRoot-partial">ShadowRoot</span> {
110849
110848
<hr>
110850
110849
110851
110850
<p>The <!--en-GB--><dfn id="timer-initialisation-steps">timer initialization steps</dfn>, given a
110852
- <code>WindowOrWorkerOrShadowRealmGlobalScope </code> <var>global</var>, a string or <code
110851
+ <code>WindowOrWorkerGlobalScope </code> <var>global</var>, a string or <code
110853
110852
data-x="idl-Function">Function</code> <var>handler</var>, a number <var>timeout</var>, a list
110854
110853
<var>arguments</var>, a boolean <var>repeat</var>, and optionally (and only if <var>repeat</var>
110855
110854
is true) a number <var>previousId</var>, are:</p>
110856
110855
110857
110856
<ol>
110858
- <li><p>Let <var>thisArg</var> be <var>global</var>.</p></li>
110859
-
110860
- <li><p>If <var>global</var> is a <code>Window</code> object, then set <var>thisArg</var> to the
110861
- <code>WindowProxy</code> that corresponds to <var>global</var>.</p></li>
110857
+ <li><p>Let <var>thisArg</var> be <var>global</var> if that is a <code>WorkerGlobalScope</code>
110858
+ object; otherwise let <var>thisArg</var> be the <code>WindowProxy</code> that corresponds to
110859
+ <var>global</var>.</p></li>
110862
110860
110863
110861
<li><p>If <var>previousId</var> was given, let <var>id</var> be <var>previousId</var>;
110864
110862
otherwise, let <var>id</var> be an <span>implementation-defined</span> integer that is greater
@@ -110913,8 +110911,8 @@ partial interface <span id="ShadowRoot-partial">ShadowRoot</span> {
110913
110911
If this throws an exception, catch it, <span>report the exception</span>, and abort these
110914
110912
steps.</p></li>
110915
110913
110916
- <li><p>Let <var>settings object</var> be <var>realm </var>'s <span>principal realm</span>'s
110917
- <span data-x="concept-realm-settings-object">environment settings object</span>.</p></li>
110914
+ <li><p>Let <var>settings object</var> be <var>global </var>'s <span>relevant settings
110915
+ object</span>.</p></li>
110918
110916
110919
110917
<li><p>Let <var>fetch options</var> be the <span>default classic script fetch
110920
110918
options</span>.</p></li>
@@ -111044,10 +111042,9 @@ scheduleWork(); // queues a task to do lots of work</code></pre>
111044
111042
111045
111043
<div w-nodev>
111046
111044
111047
- <p>To <dfn export>run steps after a timeout</dfn>, given
111048
- a <code>WindowOrWorkerOrShadowRealmGlobalScope</code> <var>global</var>,
111049
- a string <var>orderingIdentifier</var>, a number <var>milliseconds</var>,
111050
- a set of steps <var>completionSteps</var>, and an optional value <var>timerKey</var>:</p>
111045
+ <p>To <dfn export>run steps after a timeout</dfn>, given a <code>WindowOrWorkerGlobalScope</code>
111046
+ <var>global</var>, a string <var>orderingIdentifier</var>, a number <var>milliseconds</var>, a
111047
+ set of steps <var>completionSteps</var>, and an optional value <var>timerKey</var>:</p>
111051
111048
111052
111049
<ol>
111053
111050
<li><p><span>Assert</span>: if <var>timerKey</var> is given, then the caller of this algorithm is
@@ -111069,8 +111066,6 @@ scheduleWork(); // queues a task to do lots of work</code></pre>
111069
111066
111070
111067
<ol>
111071
111068
<li>
111072
- <p class="XXX">Need to handle shadow realms here.</p>
111073
-
111074
111069
<p>If <var>global</var> is a <code>Window</code> object, wait until <var>global</var>'s <span
111075
111070
data-x="concept-document-window">associated <code>Document</code></span> has been <span>fully
111076
111071
active</span> for a further <var>milliseconds</var> milliseconds (not necessarily
0 commit comments