Commit e8e94686 authored by Anastasia Helfinstein's avatar Anastasia Helfinstein Committed by Commit Bot

[Switch Access] Enter group from group nodes

This CL takes another step towards encapsulating action behavior in the
node classes.

Bug: None
Change-Id: If709c22606016930ce715168d50a7a2f7176788c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2076443
Commit-Queue: Anastasia Helfinstein <anastasi@google.com>
Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746532}
parent a4862857
...@@ -508,14 +508,6 @@ class MenuManager { ...@@ -508,14 +508,6 @@ class MenuManager {
*/ */
performAction(action) { performAction(action) {
SwitchAccessMetrics.recordMenuAction(action); SwitchAccessMetrics.recordMenuAction(action);
// Some actions involve navigation events. Handle those explicitly.
if (action === SAConstants.MenuAction.SELECT &&
this.menuOriginNode_.isGroup()) {
NavigationManager.enterGroup();
this.exit_();
return;
}
// Handle global actions. // Handle global actions.
if (action === SAConstants.MenuAction.SETTINGS) { if (action === SAConstants.MenuAction.SETTINGS) {
chrome.accessibilityPrivate.openSettingsSubpage( chrome.accessibilityPrivate.openSettingsSubpage(
......
...@@ -111,6 +111,10 @@ class GroupNode extends SAChildNode { ...@@ -111,6 +111,10 @@ class GroupNode extends SAChildNode {
/** @override */ /** @override */
performAction(action) { performAction(action) {
if (action === SAConstants.MenuAction.SELECT) {
NavigationManager.enterGroup();
return SAConstants.ActionResponse.CLOSE_MENU;
}
return SAConstants.ActionResponse.NO_ACTION_TAKEN; return SAConstants.ActionResponse.NO_ACTION_TAKEN;
} }
......
...@@ -140,7 +140,11 @@ class NodeWrapper extends SAChildNode { ...@@ -140,7 +140,11 @@ class NodeWrapper extends SAChildNode {
let ancestor; let ancestor;
switch (action) { switch (action) {
case SAConstants.MenuAction.SELECT: case SAConstants.MenuAction.SELECT:
this.baseNode_.doDefault(); if (this.isGroup()) {
NavigationManager.enterGroup();
} else {
this.baseNode_.doDefault();
}
return SAConstants.ActionResponse.CLOSE_MENU; return SAConstants.ActionResponse.CLOSE_MENU;
case SAConstants.MenuAction.SCROLL_DOWN: case SAConstants.MenuAction.SCROLL_DOWN:
ancestor = this.getScrollableAncestor_(); ancestor = this.getScrollableAncestor_();
......
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