Skip to content

Commit 1edd30b

Browse files
committed
Revert timers
1 parent 76c9dd6 commit 1edd30b

File tree

1 file changed

+22
-27
lines changed

1 file changed

+22
-27
lines changed

source

+22-27
Original file line numberDiff line numberDiff line change
@@ -109944,12 +109944,6 @@ interface mixin <dfn interface>WindowEventHandlers</dfn> {
109944109944
DOMString <span data-x="dom-btoa">btoa</span>(DOMString data);
109945109945
ByteString <span data-x="dom-atob">atob</span>(DOMString data);
109946109946

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-
109953109947
// microtask queuing
109954109948
undefined <span data-x="dom-queueMicrotask">queueMicrotask</span>(<span data-x="idl-VoidFunction">VoidFunction</span> <var>callback</var>);
109955109949

@@ -110038,6 +110032,12 @@ interface mixin <dfn interface>WindowOrWorkerGlobalScope</dfn> {
110038110032

110039110033
undefined <span data-x="dom-reportError">reportError</span>(any e);
110040110034

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+
110041110041
// ImageBitmap
110042110042
Promise&lt;<span>ImageBitmap</span>&gt; <span data-x="dom-createImageBitmap">createImageBitmap</span>(<span>ImageBitmapSource</span> image, optional <span>ImageBitmapOptions</span> options = {});
110043110043
Promise&lt;<span>ImageBitmap</span>&gt; <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> {
110803110803

110804110804
<div w-nodev>
110805110805

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,
110810110809
and each <span data-x="map value">value</span> is a <code>DOMHighResTimeStamp</code>,
110811110810
representing the expiry time for that timer.</p>
110812110811

@@ -110822,21 +110821,21 @@ partial interface <span id="ShadowRoot-partial">ShadowRoot</span> {
110822110821

110823110822
<hr>
110824110823

110825-
<p>The <dfn method for="WindowOrWorkerOrShadowRealmGlobalScope" data-x="dom-setTimeout"><code
110824+
<p>The <dfn method for="WindowOrWorkerGlobalScope" data-x="dom-setTimeout"><code
110826110825
id="dom-windowtimers-setTimeout">setTimeout(<var>handler</var>, <var>timeout</var>,
110827110826
...<var>arguments</var>)</code></dfn> method steps are to return the result of running the
110828110827
<span>timer initialization steps</span> given <span>this</span>, <var>handler</var>,
110829110828
<var>timeout</var>, <var>arguments</var>, and false.</p>
110830110829

110831-
<p>The <dfn method for="WindowOrWorkerOrShadowRealmGlobalScope" data-x="dom-setInterval"><code
110830+
<p>The <dfn method for="WindowOrWorkerGlobalScope" data-x="dom-setInterval"><code
110832110831
id="dom-windowtimers-setInterval">setInterval(<var>handler</var>, <var>timeout</var>,
110833110832
...<var>arguments</var>)</code></dfn> method steps are to return the result of running the
110834110833
<span>timer initialization steps</span> given <span>this</span>, <var>handler</var>,
110835110834
<var>timeout</var>, <var>arguments</var>, and true.</p>
110836110835

110837-
<p>The <dfn method for="WindowOrWorkerOrShadowRealmGlobalScope" data-x="dom-clearTimeout"><code
110836+
<p>The <dfn method for="WindowOrWorkerGlobalScope" data-x="dom-clearTimeout"><code
110838110837
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
110840110839
id="dom-windowtimers-clearInterval">clearInterval(<var>id</var>)</code></dfn> method steps
110841110840
are to <span data-x="map remove">remove</span> <span>this</span>'s <span>map of active
110842110841
timers</span>[<var>id</var>].</p>
@@ -110849,16 +110848,15 @@ partial interface <span id="ShadowRoot-partial">ShadowRoot</span> {
110849110848
<hr>
110850110849

110851110850
<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
110853110852
data-x="idl-Function">Function</code> <var>handler</var>, a number <var>timeout</var>, a list
110854110853
<var>arguments</var>, a boolean <var>repeat</var>, and optionally (and only if <var>repeat</var>
110855110854
is true) a number <var>previousId</var>, are:</p>
110856110855

110857110856
<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>
110862110860

110863110861
<li><p>If <var>previousId</var> was given, let <var>id</var> be <var>previousId</var>;
110864110862
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> {
110913110911
If this throws an exception, catch it, <span>report the exception</span>, and abort these
110914110912
steps.</p></li>
110915110913

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>
110918110916

110919110917
<li><p>Let <var>fetch options</var> be the <span>default classic script fetch
110920110918
options</span>.</p></li>
@@ -111044,10 +111042,9 @@ scheduleWork(); // queues a task to do lots of work</code></pre>
111044111042

111045111043
<div w-nodev>
111046111044

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>
111051111048

111052111049
<ol>
111053111050
<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>
111069111066

111070111067
<ol>
111071111068
<li>
111072-
<p class="XXX">Need to handle shadow realms here.</p>
111073-
111074111069
<p>If <var>global</var> is a <code>Window</code> object, wait until <var>global</var>'s <span
111075111070
data-x="concept-document-window">associated <code>Document</code></span> has been <span>fully
111076111071
active</span> for a further <var>milliseconds</var> milliseconds (not necessarily

0 commit comments

Comments
 (0)