Commit 2ae57260 authored by Dominic Mazzoni's avatar Dominic Mazzoni Committed by Commit Bot

Fix automation event listeners in ChromeVox

Fixes a regression caused by http://crrev.com/c/2424854 ("Refactor
chrome.automation.EventType")

See http://crrev.com/c/2450663 for more context.

Bug: 1110367, 1135248
Change-Id: I64de7e85f47ec1920c37e2730fbebdca4efaca3b
AX-Relnotes: none because this just fixes a regression
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2454420Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#814699}
parent 7697f17e
......@@ -1234,6 +1234,10 @@ CommandHandler.onCommand = function(command) {
const innerCallback = function(currentNode, evt) {
scrollable.removeEventListener(
EventType.SCROLL_POSITION_CHANGED, innerCallback);
scrollable.removeEventListener(
EventType.SCROLL_HORIZONTAL_POSITION_CHANGED, innerCallback);
scrollable.removeEventListener(
EventType.SCROLL_VERTICAL_POSITION_CHANGED, innerCallback);
if (pred || (currentNode && currentNode.root)) {
// Jump or if there is a valid current range, then move from it
......@@ -1257,8 +1261,15 @@ CommandHandler.onCommand = function(command) {
ChromeVoxState.instance.navigateToRange(
cursors.Range.fromNode(sync), false, speechProps);
}.bind(this, current.start.node);
// This is sent by ARC++.
scrollable.addEventListener(
EventType.SCROLL_POSITION_CHANGED, innerCallback, true);
// These two events are sent by Web and Views via AXEventGenerator.
scrollable.addEventListener(
EventType.SCROLL_HORIZONTAL_POSITION_CHANGED, innerCallback,
true);
scrollable.addEventListener(
EventType.SCROLL_VERTICAL_POSITION_CHANGED, innerCallback, true);
} else {
ChromeVoxState.instance.navigateToRange(current, false, speechProps);
}
......
......@@ -73,10 +73,19 @@ RangeAutomationHandler = class extends BaseAutomationHandler {
// outputted.
this.addListener_(
EventType.ARIA_ATTRIBUTE_CHANGED, this.onAriaAttributeChanged);
this.addListener_(
EventType.AUTO_COMPLETE_CHANGED, this.onAriaAttributeChanged);
this.addListener_(
EventType.IMAGE_ANNOTATION_CHANGED, this.onAriaAttributeChanged);
this.addListener_(EventType.NAME_CHANGED, this.onAriaAttributeChanged);
this.addListener_(
EventType.DESCRIPTION_CHANGED, this.onAriaAttributeChanged);
this.addListener_(EventType.ROLE_CHANGED, this.onAriaAttributeChanged);
this.addListener_(EventType.AUTOCORRECTION_OCCURED, this.onEventIfInRange);
this.addListener_(
EventType.CHECKED_STATE_CHANGED, this.onCheckedStateChanged);
this.addListener_(EventType.EXPANDED_CHANGED, this.onEventIfInRange);
this.addListener_(EventType.COLLAPSED, this.onEventIfInRange);
this.addListener_(EventType.EXPANDED, this.onEventIfInRange);
this.addListener_(EventType.INVALID_STATUS_CHANGED, this.onEventIfInRange);
this.addListener_(EventType.LOCATION_CHANGED, this.onLocationChanged);
this.addListener_(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment