Chromium Code Reviews| Index: runtime/lib/timer_patch.dart |
| diff --git a/runtime/lib/timer_patch.dart b/runtime/lib/timer_patch.dart |
| index 10249155da61ce0dff3c0c4a5f3f0b5630cf1965..fd3efbd8048e06647edbca83ecbe266e6e9a5b2d 100644 |
| --- a/runtime/lib/timer_patch.dart |
| +++ b/runtime/lib/timer_patch.dart |
| @@ -2,39 +2,22 @@ |
| // 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. |
| -typedef void _TimerCallback0(); |
| -typedef void _TimerCallback1(Timer timer); |
| - |
| patch class Timer { |
| - /* patch */ factory Timer(var duration, Function callback) { |
| - // TODO(floitsch): remove these checks when we remove the deprecated |
| - // millisecond argument and the 1-argument callback. Also remove |
| - // the int-test below. |
| - if (callback is! _TimerCallback0 && callback is! _TimerCallback1) { |
| - throw new ArgumentError(callback); |
| - } |
| - int milliseconds = duration is int ? duration : duration.inMilliseconds; |
| - if (milliseconds < 0) milliseconds = 0; |
| - _TimerCallback1 oneArgumentCallback = |
| - callback is _TimerCallback1 ? callback : (_) { callback(); }; |
| + /* patch */ factory Timer(Duration duration, void callback()) { |
| if (_TimerFactory._factory == null) { |
| throw new UnsupportedError("Timer interface not supported."); |
| } |
| - return _TimerFactory._factory(milliseconds, oneArgumentCallback, false); |
| + int milliseconds = duration.inMilliseconds; |
| + if (milliseconds < 0) milliseconds = 0; |
|
Lasse Reichstein Nielsen
2013/02/28 11:14:48
Is that possible? I would have thought Duration di
floitsch
2013/02/28 13:24:05
Duration is a time-delta. We wouldn't even be able
|
| + return _TimerFactory._factory(milliseconds, (_) { callback(); }, false); |
| } |
| - /** |
| - * Creates a new repeating timer. The [callback] is invoked every |
| - * [milliseconds] millisecond until cancelled. |
| - */ |
| - /* patch */ factory Timer.repeating(var duration, |
| + /* patch */ factory Timer.repeating(Duration duration, |
| void callback(Timer timer)) { |
| if (_TimerFactory._factory == null) { |
| throw new UnsupportedError("Timer interface not supported."); |
| } |
| - // TODO(floitsch): remove this check when we remove the deprecated |
| - // millisecond argument. |
| - int milliseconds = duration is int ? duration : duration.inMilliseconds; |
| + int milliseconds = duration.inMilliseconds; |
| if (milliseconds < 0) milliseconds = 0; |
| return _TimerFactory._factory(milliseconds, callback, true); |
| } |