Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: tools/dom/templates/html/impl/impl_ScriptProcessorNode.darttemplate

Issue 23889005: Cleaning up a bunch of DOM generation tables (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
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.
4
5 part of $LIBRARY;
6
7 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$NATIVESPEC {
8 Stream<AudioProcessingEvent> _eventStream;
9
10 /**
11 * Get a Stream that fires events when AudioProcessingEvents occur.
12 * This particular stream is special in that it only allows one listener to a
13 * given stream. Converting the returned Stream [asBroadcast] will likely ruin
14 * the soft-real-time properties which which these events are fired and can
15 * be processed.
16 */
17 Stream<AudioProcessingEvent> get onAudioProcess {
18 if (_eventStream == null) {
19 var controller = new StreamController(sync: true);
20 var callback = (audioData) {
21 if (controller.hasListener) {
22 // This stream is a strange combination of broadcast and single
23 // subscriber streams. We only allow one listener, but if there is
24 // no listener, we don't queue up events, we just drop them on the
25 // floor.
26 controller.add(audioData);
27 }
28 };
29 _setEventListener(callback);
30 _eventStream = controller.stream;
31 }
32 return _eventStream;
33 }
34
35 $if DART2JS
36 _setEventListener(callback) {
37 JS('void', '#.onaudioprocess = #', this,
38 convertDartClosureToJS(callback, 1));
39 }
40 $endif
41
42 $!MEMBERS
43 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698