Index: tools/dom/templates/html/dart2js/impl_RTCIceCandidate.darttemplate |
diff --git a/tools/dom/templates/html/dart2js/impl_RTCIceCandidate.darttemplate b/tools/dom/templates/html/dart2js/impl_RTCIceCandidate.darttemplate |
index ce3ebd7b2a99febc428232dc2dd4ad202d1f6783..6090f900702b66235e70ecfa0eca6c84807c4798 100644 |
--- a/tools/dom/templates/html/dart2js/impl_RTCIceCandidate.darttemplate |
+++ b/tools/dom/templates/html/dart2js/impl_RTCIceCandidate.darttemplate |
@@ -6,7 +6,13 @@ part of $LIBRARYNAME; |
$(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
factory $CLASSNAME(Map dictionary) { |
- return JS('RtcIceCandidate', 'new RTCIceCandidate(#)', |
+ // 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}RTCIceCandidate' : |
+ 'RTCIceCandidate'); |
+ return JS('RtcIceCandidate', 'new #(#)', constructorName, |
convertDartToNative_SerializedScriptValue(dictionary)); |
} |
$!MEMBERS |