Index: runtime/observatory/lib/src/elements/helpers/rendering_queue.dart |
diff --git a/runtime/observatory/lib/src/elements/helpers/rendering_queue.dart b/runtime/observatory/lib/src/elements/helpers/rendering_queue.dart |
index a6062c38ebd64201b88518d6397e5c505f15d19b..7be443d7bd02e7b591059e3f6d8e1c18c3d8e4f6 100644 |
--- a/runtime/observatory/lib/src/elements/helpers/rendering_queue.dart |
+++ b/runtime/observatory/lib/src/elements/helpers/rendering_queue.dart |
@@ -37,6 +37,22 @@ class RenderingBarrierMock implements RenderingBarrier { |
} |
} |
+/// MOCK synchronization system for timed barrier triggering. |
+class TimedRenderingBarrier implements RenderingBarrier { |
+ final StreamController<num> _stream = new StreamController<num>.broadcast(); |
+ num _ms = 0; |
+ |
+ Future<num> get next => _stream.stream.first; |
+ |
+ TimedRenderingBarrier({num milliseconds: 1}) { |
+ assert(milliseconds != null); |
+ assert(milliseconds > 0); |
+ new Timer.periodic(new Duration(milliseconds: milliseconds), (Timer t) { |
+ _stream.add(_ms += milliseconds); |
+ }); |
+ } |
+} |
+ |
/// RenderingTask queuing and synchronization system. |
class RenderingQueue { |
final RenderingBarrier _barrier; |