Merge to M87: Fix automation event listeners in Select-to-speak
Fixes a regression caused by http://crrev.com/c/2424854 ("Refactor
chrome.automation.EventType"), it could have manifested as
select-to-speak not updating when the page scrolls.
See http://crrev.com/c/2450663 for more context.
(cherry picked from commit 8f2546436e53c0e123f87e8aae23b59bea4bdde9)
Bug: 1110367, 1135248
Change-Id: I12e62a18093a0fc2837ec0be312d4f7261c5dc42
AX-Relnotes: none because this just fixes a regression
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2454633
Reviewed-by: David Tseng <[email protected]>
Commit-Queue: Dominic Mazzoni <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#814738}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2472914
Reviewed-by: Dominic Mazzoni <[email protected]>
Cr-Commit-Position: refs/branch-heads/4280@{#402}
Cr-Branched-From: ea420fb963f9658c9969b6513c56b8f47efa1a2a-refs/heads/master@{#812852}
diff --git a/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak.js b/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak.js
index 2646b5b..ad65a630 100644
--- a/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak.js
+++ b/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak.js
@@ -366,12 +366,22 @@
// If the user wants a certain scroll position we will respect that.
this.scrollToSpokenNode_ = false;
- // Now remove this event listener, we no longer need it.
+ // Now remove these event listeners, we no longer need them.
root.removeEventListener(
EventType.SCROLL_POSITION_CHANGED, listener, false);
+ root.removeEventListener(
+ EventType.SCROLL_HORIZONTAL_POSITION_CHANGED, listener, false);
+ root.removeEventListener(
+ EventType.SCROLL_VERTICAL_POSITION_CHANGED, listener, false);
}
};
+ // ARC++ fires the first event, Views/Web fire the horizontal/vertical
+ // scroll position changed events via AXEventGenerator.
root.addEventListener(EventType.SCROLL_POSITION_CHANGED, listener, false);
+ root.addEventListener(
+ EventType.SCROLL_HORIZONTAL_POSITION_CHANGED, listener, false);
+ root.addEventListener(
+ EventType.SCROLL_VERTICAL_POSITION_CHANGED, listener, false);
}
/**