OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
| 5 part of html; |
| 6 |
5 // TODO(antonm): support not DOM isolates too. | 7 // TODO(antonm): support not DOM isolates too. |
6 class _Timer implements Timer { | 8 class _Timer implements Timer { |
7 final canceller; | 9 final canceller; |
8 | 10 |
9 _Timer(this.canceller); | 11 _Timer(this.canceller); |
10 | 12 |
11 void cancel() { canceller(); } | 13 void cancel() { canceller(); } |
12 } | 14 } |
13 | 15 |
14 get _timerFactoryClosure => (int milliSeconds, void callback(Timer timer), bool
repeating) { | 16 get _timerFactoryClosure => (int milliSeconds, void callback(Timer timer), bool
repeating) { |
15 var maker; | 17 var maker; |
16 var canceller; | 18 var canceller; |
17 if (repeating) { | 19 if (repeating) { |
18 maker = window.setInterval; | 20 maker = window.setInterval; |
19 canceller = window.clearInterval; | 21 canceller = window.clearInterval; |
20 } else { | 22 } else { |
21 maker = window.setTimeout; | 23 maker = window.setTimeout; |
22 canceller = window.clearTimeout; | 24 canceller = window.clearTimeout; |
23 } | 25 } |
24 Timer timer; | 26 Timer timer; |
25 final int id = maker(() { callback(timer); }, milliSeconds); | 27 final int id = maker(() { callback(timer); }, milliSeconds); |
26 timer = new _Timer(() { canceller(id); }); | 28 timer = new _Timer(() { canceller(id); }); |
27 return timer; | 29 return timer; |
28 }; | 30 }; |
OLD | NEW |