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

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

Issue 17063007: Making all DOM types abstract and removing superfluous Dartium constructors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 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
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 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 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 $LIBRARYNAME; 5 part of $LIBRARYNAME;
6 6
7 $(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { 7 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
8 $if DART2JS 8 $if DART2JS
9 factory $CLASSNAME(Map rtcIceServers, [Map mediaConstraints]) { 9 factory $CLASSNAME(Map rtcIceServers, [Map mediaConstraints]) {
10 var constructorName = JS('RtcPeerConnection', 'window[#]', 10 var constructorName = JS('RtcPeerConnection', 'window[#]',
11 '${Device.propertyPrefix}RTCPeerConnection'); 11 '${Device.propertyPrefix}RTCPeerConnection');
12 if (mediaConstraints != null) { 12 if (mediaConstraints != null) {
13 return JS('RtcPeerConnection', 'new #(#,#)', constructorName, 13 return JS('RtcPeerConnection', 'new #(#,#)', constructorName,
14 convertDartToNative_SerializedScriptValue(rtcIceServers), 14 convertDartToNative_SerializedScriptValue(rtcIceServers),
15 convertDartToNative_SerializedScriptValue(mediaConstraints)); 15 convertDartToNative_SerializedScriptValue(mediaConstraints));
16 } else { 16 } else {
17 return JS('RtcPeerConnection', 'new #(#)', constructorName, 17 return JS('RtcPeerConnection', 'new #(#)', constructorName,
18 convertDartToNative_SerializedScriptValue(rtcIceServers)); 18 convertDartToNative_SerializedScriptValue(rtcIceServers));
19 } 19 }
20 } 20 }
21 $endif 21 $endif
22 22
23 /** 23 /**
24 * Checks if Real Time Communication (RTC) APIs are supported and enabled on 24 * Checks if Real Time Communication (RTC) APIs are supported and enabled on
25 * the current platform. 25 * the current platform.
26 */ 26 */
27 $if DART2JS 27 $if DART2JS
28 static bool get supported { 28 static bool get supported {
29 // Currently in Firefox some of the RTC elements are defined but throw an 29 // Currently in Firefox some of the RTC elements are defined but throw an
30 // error unless the user has specifically enabled them in their 30 // error unless the user has specifically enabled them in their
31 // about:config. So we have to construct an element to actually test if RTC 31 // about:config. So we have to construct an element to actually test if RTC
32 // is supported at the given time. 32 // is supported at the given time.
33 try { 33 try {
34 new RtcPeerConnection( 34 new RtcPeerConnection(
35 {"iceServers": [ {"url":"stun:localhost"}]}); 35 {"iceServers": [ {"url":"stun:localhost"}]});
36 return true; 36 return true;
37 } catch (_) { return false;} 37 } catch (_) { return false;}
38 return false; 38 return false;
39 } 39 }
40 $else 40 $else
41 static bool get supported => true; 41 static bool get supported => true;
42 $endif 42 $endif
43 Future<RtcSessionDescription> createOffer([Map mediaConstraints]) { 43 Future<RtcSessionDescription> createOffer([Map mediaConstraints]) {
44 var completer = new Completer<RtcSessionDescription>(); 44 var completer = new Completer<RtcSessionDescription>();
45 _createOffer( 45 _createOffer(
46 (value) { completer.complete(value); }, 46 (value) { completer.complete(value); },
47 (error) { completer.completeError(error); }, mediaConstraints); 47 (error) { completer.completeError(error); }, mediaConstraints);
48 return completer.future; 48 return completer.future;
49 } 49 }
50 50
51 Future<RtcSessionDescription> createAnswer([Map mediaConstraints]) { 51 Future<RtcSessionDescription> createAnswer([Map mediaConstraints]) {
52 var completer = new Completer<RtcSessionDescription>(); 52 var completer = new Completer<RtcSessionDescription>();
53 _createAnswer( 53 _createAnswer(
54 (value) { completer.complete(value); }, 54 (value) { completer.complete(value); },
55 (error) { completer.completeError(error); }, mediaConstraints); 55 (error) { completer.completeError(error); }, mediaConstraints);
56 return completer.future; 56 return completer.future;
57 } 57 }
58 $!MEMBERS 58 $!MEMBERS
59 } 59 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698