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) {