Index: client/html/src/shared_FactoryProviders.dart |
diff --git a/client/html/src/shared_FactoryProviders.dart b/client/html/src/shared_FactoryProviders.dart |
index b12c663a2e1045cfcb32f86eeba85a1f5826e29e..82fce97f04d740eaa631d9fa99e6d0359da8f909 100644 |
--- a/client/html/src/shared_FactoryProviders.dart |
+++ b/client/html/src/shared_FactoryProviders.dart |
@@ -4,13 +4,17 @@ |
class _TextFactoryProvider { |
- factory Text(String data) => document._createTextNode(data); |
+ factory Text(String data) { |
+ final _DocumentImpl doc = document; |
+ return doc._createTextNode(data); |
+ } |
} |
class _EventFactoryProvider { |
factory Event(String type, [bool canBubble = true, |
bool cancelable = true]) { |
- _EventImpl e = document._createEvent("Event"); |
+ final _DocumentImpl doc = document; |
+ final _EventImpl e = doc._createEvent("Event"); |
e._initEvent(type, canBubble, cancelable); |
return e; |
} |
@@ -22,7 +26,8 @@ class _MouseEventFactoryProvider { |
[bool canBubble = true, bool cancelable = true, bool ctrlKey = false, |
bool altKey = false, bool shiftKey = false, bool metaKey = false, |
EventTarget relatedTarget = null]) { |
- final e = document._createEvent("MouseEvent"); |
+ final _DocumentImpl doc = document; |
+ final e = doc._createEvent("MouseEvent"); |
e._initMouseEvent(type, canBubble, cancelable, view, detail, |
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, |
button, relatedTarget); |
@@ -75,8 +80,7 @@ class _ElementFactoryProvider { |
parentTag = _CUSTOM_PARENT_TAG_MAP[tag]; |
} |
} |
- // TODO(jacobr): make type dom.HTMLElement when dartium allows it. |
- _ElementImpl temp = document._createElement(parentTag); |
+ final _ElementImpl temp = new Element.tag(parentTag); |
temp.innerHTML = html; |
Element element; |
@@ -97,6 +101,7 @@ class _ElementFactoryProvider { |
/** @domName Document.createElement */ |
factory Element.tag(String tag) { |
- return document._createElement(tag); |
+ final _DocumentImpl doc = document; |
+ return doc._createElement(tag); |
} |
} |