OLD | NEW |
---|---|
(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 $LIBRARYNAME; | |
6 | |
7 /// @domName $DOMNAME; @docsEditable true$ANNOTATIONS | |
blois
2013/02/11 17:24:33
Should only have $ANNOTATIONS (no comments).
| |
8 class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { | |
9 factory $CLASSNAME(Map rtcIceServers, [Map mediaConstraints]) { | |
10 var constructorName = JS('RtcPeerConnection', 'window[#]', | |
11 '${_browserPropertyPrefix}RTCPeerConnection'); | |
12 if (?mediaConstraints) { | |
13 return JS('RtcPeerConnection', 'new #(#,#)', constructorName, | |
14 convertDartToNative_SerializedScriptValue(rtcIceServers), | |
15 convertDartToNative_SerializedScriptValue(mediaConstraints)); | |
16 } else { | |
17 return JS('RtcPeerConnection', 'new #(#)', constructorName, | |
18 convertDartToNative_SerializedScriptValue(rtcIceServers)); | |
19 } | |
20 } | |
21 | |
22 /** | |
23 * Checks if Real Time Communication (RTC) APIs are supported and enabled on | |
24 * the current platform. | |
25 */ | |
26 $if DART2JS | |
27 static bool get supported { | |
28 // Currently in Firefox some of the RTC elements are defined but throw an | |
29 // error unless the user has specifically enabled them in their | |
30 // about:config. So we have to construct an element to actually test if RTC | |
31 // is supported at at the given time. | |
32 try { | |
33 var c = new RtcPeerConnection({"iceServers": [ {"url":"stun:foo.com"}]}); | |
34 return c is RtcPeerConnection; | |
35 } catch (_) {} | |
36 return false; | |
37 } | |
38 $else | |
39 static bool get supported => true; | |
40 $endif | |
41 $!MEMBERS | |
42 } | |
43 | |
44 | |
OLD | NEW |