| Index: lib/dom/src/Timer.dart
|
| diff --git a/lib/dom/src/Timer.dart b/lib/dom/src/Timer.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..689c4c2c4012c305f912bda6cf6f5bc1a3cfd46e
|
| --- /dev/null
|
| +++ b/lib/dom/src/Timer.dart
|
| @@ -0,0 +1,29 @@
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +// TODO(antonm): support not DOM isolates too.
|
| +class _Timer implements Timer {
|
| + final canceller;
|
| +
|
| + _Timer(this.canceller);
|
| +
|
| + void cancel() { canceller(); }
|
| +}
|
| +
|
| +_getTimerFactoryClosure() =>
|
| + (int milliSeconds, void callback(Timer timer), bool repeating) {
|
| + var maker;
|
| + var canceller;
|
| + if (repeating) {
|
| + maker = window.setInterval;
|
| + canceller = window.clearInterval;
|
| + } else {
|
| + maker = window.setTimeout;
|
| + canceller = window.clearTimeout;
|
| + }
|
| + Timer timer;
|
| + final int id = maker(() { callback(timer); }, milliSeconds);
|
| + timer = new _Timer(() { canceller(id); });
|
| + return timer;
|
| + };
|
|
|