Index: tools/dom/templates/html/impl/impl_HashChangeEvent.darttemplate |
diff --git a/tools/dom/templates/html/impl/impl_HashChangeEvent.darttemplate b/tools/dom/templates/html/impl/impl_HashChangeEvent.darttemplate |
index b9fd424b05028e23ed89781a4b4e97bbc3b865a7..bf7bd07a02341b41c7dc3771afde663abbb6a515 100644 |
--- a/tools/dom/templates/html/impl/impl_HashChangeEvent.darttemplate |
+++ b/tools/dom/templates/html/impl/impl_HashChangeEvent.darttemplate |
@@ -9,9 +9,24 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS |
factory $CLASSNAME(String type, |
{bool canBubble: true, bool cancelable: true, String oldUrl, |
String newUrl}) { |
+ |
+$if DART2JS |
+ var options = { |
+ 'canBubble' : canBubble, |
+ 'cancelable' : cancelable, |
+ 'oldURL': oldUrl, |
+ 'newURL': newUrl, |
+ }; |
+ return JS('HashChangeEvent', 'new HashChangeEvent(#, #)', |
+ type, convertDartToNative_Dictionary(options)); |
+$else |
+ // TODO(alanknight): This is required while we're on Dartium 39, but will need |
+ // to look like dart2js with later versions when initHashChange is removed. |
var event = document._createEvent("HashChangeEvent"); |
event._initHashChangeEvent(type, canBubble, cancelable, oldUrl, newUrl); |
return event; |
+$endif |
} |
+ |
$!MEMBERS |
} |