Index: tools/dom/templates/html/dart2js/impl_RTCSessionDescription.darttemplate |
diff --git a/tools/dom/templates/html/dart2js/impl_RTCSessionDescription.darttemplate b/tools/dom/templates/html/dart2js/impl_RTCSessionDescription.darttemplate |
index f9b879e43c9fd380efd30752f2c889fbefdb64fe..6dd65b4ff4608c29ccff2464e1a4e72555b7c83c 100644 |
--- a/tools/dom/templates/html/dart2js/impl_RTCSessionDescription.darttemplate |
+++ b/tools/dom/templates/html/dart2js/impl_RTCSessionDescription.darttemplate |
@@ -6,7 +6,14 @@ part of $LIBRARYNAME; |
$(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
factory $CLASSNAME(Map dictionary) { |
- return JS('RtcSessionDescription', 'new RTCSessionDescription(#)', |
+ // TODO(efortuna): Remove this check if when you can actually construct with |
+ // the unprefixed RTCIceCandidate in Firefox (currently both are defined, |
+ // but one can't be used as a constructor). |
+ var constructorName = JS('', 'window[#]', |
+ Device.isFirefox ? '${Device.propertyPrefix}RTCSessionDescription' : |
+ 'RTCSessionDescription'); |
+ return JS('RtcSessionDescription', |
+ 'new #(#)', constructorName, |
convertDartToNative_SerializedScriptValue(dictionary)); |
} |
$!MEMBERS |