Commit 428b2344 authored by Anastasia Helfinstein's avatar Anastasia Helfinstein Committed by Commit Bot

[Switch Access] Refresh cached data after scroll

Bug: 1057289
Change-Id: Id8130c2559b617a156925d5b431b4ac58e237fc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2080866
Commit-Queue: Anastasia Helfinstein <anastasi@google.com>
Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746072}
parent ee2e64fd
......@@ -28,10 +28,8 @@ class DesktopNode extends RootNodeWrapper {
return true;
}
// ================= Private methods =================
/** @override */
refresh_() {
refresh() {
// Find the currently focused child.
let focusedChild = null;
for (const child of this.children) {
......
......@@ -19,6 +19,9 @@ class NodeWrapper extends SAChildNode {
/** @private {!AutomationNode} */
this.baseNode_ = baseNode;
/** @private {?SARootNode} */
this.parent_ = parent;
/** @private {boolean} */
this.isGroup_ = SwitchAccessPredicate.isGroup(this.baseNode_, parent);
......@@ -142,25 +145,25 @@ class NodeWrapper extends SAChildNode {
case SAConstants.MenuAction.SCROLL_DOWN:
ancestor = this.getScrollableAncestor_();
if (ancestor.scrollable) {
ancestor.scrollDown(() => {});
ancestor.scrollDown(() => this.parent_.refresh());
}
return SAConstants.ActionResponse.CLOSE_MENU;
case SAConstants.MenuAction.SCROLL_UP:
ancestor = this.getScrollableAncestor_();
if (ancestor.scrollable) {
ancestor.scrollUp(() => {});
ancestor.scrollUp(() => this.parent_.refresh());
}
return SAConstants.ActionResponse.CLOSE_MENU;
case SAConstants.MenuAction.SCROLL_RIGHT:
ancestor = this.getScrollableAncestor_();
if (ancestor.scrollable) {
ancestor.scrollRight(() => {});
ancestor.scrollRight(() => this.parent_.refresh());
}
return SAConstants.ActionResponse.CLOSE_MENU;
case SAConstants.MenuAction.SCROLL_LEFT:
ancestor = this.getScrollableAncestor_();
if (ancestor.scrollable) {
ancestor.scrollLeft(() => {});
ancestor.scrollLeft(() => this.parent_.refresh());
}
return SAConstants.ActionResponse.CLOSE_MENU;
default:
......@@ -225,7 +228,7 @@ class RootNodeWrapper extends SARootNode {
this.invalidated_ = false;
/** @private {function(chrome.automation.AutomationEvent)} */
this.childrenChangedHandler_ = this.refresh_.bind(this);
this.childrenChangedHandler_ = this.refresh.bind(this);
/** @private {function(chrome.automation.AutomationEvent)} */
this.locationChangedHandler_ = NavigationManager.refreshFocusRings;
......@@ -298,13 +301,8 @@ class RootNodeWrapper extends SARootNode {
this.locationChangedHandler_, false /* is_capture */);
}
// ================= Private methods =================
/**
* Refreshes the children of this root node.
* @protected
*/
refresh_() {
/** @override */
refresh() {
// Find the currently focused child.
let focusedChild = null;
for (const child of this.children) {
......
......@@ -311,6 +311,9 @@ class SARootNode {
/** Called when a group is explicitly exited. */
onExit() {}
/** Called when the group's children may have changed. */
refresh() {}
// ================= Debug methods =================
/**
......
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