diff --git a/dart/sync/lib/html.dart b/dart/sync/lib/html.dart
index 7e53aed0..cffda43a 100644
--- a/dart/sync/lib/html.dart
+++ b/dart/sync/lib/html.dart
@@ -89,24 +89,26 @@ class _HtmlMouse implements PageLoaderMouse {
@override
void down(int button,
- {_ElementPageLoaderElement eventTarget, bool sync: true}) {
- dispatchEvent('mousedown', eventTarget, button);
+ {PageLoaderElement eventTarget, bool sync: true}) {
+ dispatchEvent('mousedown', eventTarget as _ElementPageLoaderElement, button);
loader.sync(sync);
}
@override
- void moveTo(_ElementPageLoaderElement element, int xOffset, int yOffset,
- {_ElementPageLoaderElement eventTarget, bool sync: true}) {
- clientX = (element.node.getBoundingClientRect().left + xOffset).ceil();
- clientY = (element.node.getBoundingClientRect().top + yOffset).ceil();
- dispatchEvent('mousemove', eventTarget);
+ void moveTo(PageLoaderElement element, int xOffset, int yOffset,
+ {PageLoaderElement eventTarget, bool sync: true}) {
+ if (element is _ElementPageLoaderElement) {
+ clientX = (element.node.getBoundingClientRect().left + xOffset).ceil();
+ clientY = (element.node.getBoundingClientRect().top + yOffset).ceil();
+ }
+ dispatchEvent('mousemove', eventTarget as _ElementPageLoaderElement);
loader.sync(sync);
}
@override
void up(int button,
- {_ElementPageLoaderElement eventTarget, bool sync: true}) {
- dispatchEvent('mouseup', eventTarget);
+ {PageLoaderElement eventTarget, bool sync: true}) {
+ dispatchEvent('mouseup', eventTarget as _ElementPageLoaderElement);
loader.sync(sync);
}
@@ -220,11 +222,11 @@ class _ElementPageLoaderElement extends HtmlPageLoaderElement {
final PageLoaderAttributes style;
_ElementPageLoaderElement(Element _node, HtmlPageLoader loader)
- : super._(loader),
- this.node = _node,
+ : this.node = _node,
this.attributes = new _ElementAttributes(_node),
this.computedStyle = new _ElementComputedStyle(_node),
- this.style = new _ElementStyle(_node);
+ this.style = new _ElementStyle(_node),
+ super._(loader);
@override
PageLoaderElement get shadowRoot {
@@ -268,7 +270,7 @@ class _ElementPageLoaderElement extends HtmlPageLoaderElement {
_fireKeyPressEvents(node, keys);
if (node is InputElement || node is TextAreaElement) {
// suppress warning by hiding field
- var node = this.node;
+ dynamic node = this.node;
var value = node.value + keys;
node.value = '';
node.dispatchEvent(new TextEvent('textInput', data: value));
@@ -280,7 +282,7 @@ class _ElementPageLoaderElement extends HtmlPageLoaderElement {
@override
void clear({bool sync: true}) {
if (node is InputElement || node is TextAreaElement) {
- var node = this.node;
+ dynamic node = this.node;
node.value = '';
node.dispatchEvent(new TextEvent('textInput', data: ''));
} else {
diff --git a/dart/sync/lib/src/annotations.dart b/dart/sync/lib/src/annotations.dart
index 6532c4ee..546b6a72 100644
--- a/dart/sync/lib/src/annotations.dart
+++ b/dart/sync/lib/src/annotations.dart
@@ -108,7 +108,7 @@ class InShadowDom implements Finder {
}
candidates = candidates.map((candidate) => candidate.shadowRoot);
if (find != null) {
- var newCandidates = new Set();
+ var newCandidates = new Set();
for (var candidate in candidates) {
newCandidates.addAll(find.findElements(candidate));
}
@@ -336,7 +336,7 @@ class Chain implements Finder {
newElements.addAll(annotation.findElements(element));
}
}
- elements = newElements;
+ elements = newElements.toList();
}
return new UnmodifiableListView(elements);
diff --git a/dart/sync/lib/webdriver.dart b/dart/sync/lib/webdriver.dart
index 704665ff..350c04cb 100644
--- a/dart/sync/lib/webdriver.dart
+++ b/dart/sync/lib/webdriver.dart
@@ -31,8 +31,8 @@ class WebDriverPageLoader extends BasePageLoader {
final _WebDriverMouse mouse;
WebDriverPageLoader(wd.SearchContext globalContext, {useShadowDom: true})
- : super(clock: const _IOClock(), useShadowDom: useShadowDom),
- this.mouse = new _WebDriverMouse(globalContext.driver) {
+ : this.mouse = new _WebDriverMouse(globalContext.driver),
+ super(clock: const _IOClock(), useShadowDom: useShadowDom) {
this._globalContext = new WebDriverPageLoaderElement(globalContext, this);
}
@@ -59,32 +59,35 @@ class _WebDriverMouse implements PageLoaderMouse {
@override
void down(int button,
- {_WebElementPageLoaderElement eventTarget, bool sync: true}) {
+ {PageLoaderElement eventTarget, bool sync: true}) {
if (eventTarget == null) {
driver.mouse.down(button);
} else {
- _fireEvent(eventTarget, 'mousedown', button);
+ _fireEvent(
+ eventTarget as _WebElementPageLoaderElement, 'mousedown', button);
}
}
@override
- void moveTo(_WebElementPageLoaderElement element, int xOffset, int yOffset,
- {_WebElementPageLoaderElement eventTarget, bool sync: true}) {
+ void moveTo(PageLoaderElement element, int xOffset, int yOffset,
+ {PageLoaderElement eventTarget, bool sync: true}) {
if (eventTarget != null) {
throw new ArgumentError(
'eventTarget not supported on WebDriverPageLoader.mouse.moveTo');
}
driver.mouse
- .moveTo(element: element.context, xOffset: xOffset, yOffset: yOffset);
+ .moveTo(element: (element as _WebElementPageLoaderElement).context,
+ xOffset: xOffset, yOffset: yOffset);
}
@override
void up(int button,
- {_WebElementPageLoaderElement eventTarget, bool sync: true}) {
+ {PageLoaderElement eventTarget, bool sync: true}) {
if (eventTarget == null) {
driver.mouse.up(button);
} else {
- _fireEvent(eventTarget, 'mouseup', button);
+ _fireEvent(
+ eventTarget as _WebElementPageLoaderElement, 'mouseup', button);
}
}
@@ -153,11 +156,11 @@ class _WebElementPageLoaderElement extends WebDriverPageLoaderElement {
_WebElementPageLoaderElement(
wd.WebElement _context, WebDriverPageLoader loader)
- : super._(loader),
- this.context = _context,
+ : this.context = _context,
this.attributes = new _ElementAttributes(_context),
this.computedStyle = new _ElementComputedStyle(_context),
- this.style = new _ElementStyle(_context);
+ this.style = new _ElementStyle(_context),
+ super._(loader);
@override
WebDriverPageLoaderElement get shadowRoot {
@@ -257,7 +260,7 @@ class _ShadowRootPageLoaderElement extends WebDriverPageLoaderElement {
bool get displayed => context.displayed;
@override
- List getElementsByCss(String selector) =>
+ List getElementsByCss(String selector) =>
_fromContextList(_execute('.querySelectorAll("$selector")'));
dynamic _execute(String script) {