Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7443)

Unified Diff: chrome/browser/resources/chromeos/switch_access/switch_access.js

Issue 2837023004: Moved code dealing with accessibility tree from switch_access.js to new file, automation_manager.js (Closed)
Patch Set: Small documentation change Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/chromeos/switch_access/manifest.json.jinja2 ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/chromeos/switch_access/switch_access.js
diff --git a/chrome/browser/resources/chromeos/switch_access/switch_access.js b/chrome/browser/resources/chromeos/switch_access/switch_access.js
index 58bcb3a7b0c2c8ccf72ccda79a5f617f95ae4da9..f24f524cd3dd7ee3d33f4ea080674d6afaec0f22 100644
--- a/chrome/browser/resources/chromeos/switch_access/switch_access.js
+++ b/chrome/browser/resources/chromeos/switch_access/switch_access.js
@@ -33,33 +33,19 @@ function SwitchAccess() {
this.keyboardHandler_ = null;
/**
- * Moves to the appropriate node in the accessibility tree.
+ * Handles interactions with the accessibility tree, including moving to and
+ * selecting nodes.
*
- * @private {AutomationTreeWalker}
+ * @private {AutomationManager}
*/
- this.treeWalker_ = null;
-
- /**
- * Currently selected node.
- *
- * @private {chrome.automation.AutomationNode}
- */
- this.node_ = null;
-
- /**
- * Root node (i.e., the desktop).
- *
- * @private {chrome.automation.AutomationNode}
- */
- this.root_ = null;
+ this.automationManager_ = null;
this.init_();
};
SwitchAccess.prototype = {
/**
- * Set this.node_ and this.root_ to the desktop node, and set up preferences,
- * controllers, and event listeners.
+ * Set up preferences, controllers, and event listeners.
*
* @private
*/
@@ -67,47 +53,30 @@ SwitchAccess.prototype = {
this.switchAccessPrefs = new SwitchAccessPrefs();
this.autoScanManager_ = new AutoScanManager(this);
this.keyboardHandler_ = new KeyboardHandler(this);
- this.treeWalker_ = new AutomationTreeWalker();
-
- chrome.automation.getDesktop(function(desktop) {
- this.node_ = desktop;
- this.root_ = desktop;
- console.log('AutomationNode for desktop is loaded');
- this.printNode_(this.node_);
- }.bind(this));
+ this.automationManager_ = new AutomationManager();
document.addEventListener(
'prefsUpdate', this.handlePrefsUpdate_.bind(this));
},
/**
- * Set this.node_ to the next/previous interesting node. If no interesting
- * node is found, set this.node_ to the first/last interesting node. If
- * |doNext| is true, will search for next node. Otherwise, will search for
- * previous node.
+ * Move to the next/previous interesting node. If |doNext| is true, move to
+ * the next node. Otherwise, move to the previous node.
*
* @param {boolean} doNext
* @override
*/
moveToNode: function(doNext) {
- let node = this.treeWalker_.moveToNode(this.node_, this.root_, doNext);
- if (node) {
- this.node_ = node;
- this.printNode_(this.node_);
- chrome.accessibilityPrivate.setFocusRing([this.node_.location]);
- }
+ this.automationManager_.moveToNode(doNext);
},
/**
- * Perform the default action on the currently selected node.
+ * Perform the default action on the current node.
*
* @override
*/
doDefault: function() {
- if (!this.node_)
- return;
-
- this.node_.doDefault();
+ this.automationManager_.doDefault();
},
/**
@@ -150,88 +119,39 @@ SwitchAccess.prototype = {
}
},
- // TODO(elichtenberg): Move print functions to a custom logger class. Only
- // log when debuggingEnabled is true.
/**
- * Print out details about a node.
- *
- * @param {chrome.automation.AutomationNode} node
- * @private
- */
- printNode_: function(node) {
- if (node) {
- console.log('Name = ' + node.name);
- console.log('Role = ' + node.role);
- console.log('Root role = ' + node.root.role);
- if (!node.parent)
- console.log('At index ' + node.indexInParent + ', has no parent');
- else {
- let numSiblings = node.parent.children.length;
- console.log(
- 'At index ' + node.indexInParent + ', there are '
- + numSiblings + ' siblings');
- }
- console.log('Has ' + node.children.length + ' children');
- } else {
- console.log('Node is null');
- }
- console.log(node);
- console.log('\n');
- },
-
- /**
- * Move to the next sibling of this.node_ if it has one.
+ * Move to the next sibling of the current node if it has one.
*
* @override
*/
debugMoveToNext: function() {
- let next = this.treeWalker_.debugMoveToNext(this.node_);
- if (next) {
- this.node_ = next;
- this.printNode_(this.node_);
- chrome.accessibilityPrivate.setFocusRing([this.node_.location]);
- }
+ this.automationManager_.debugMoveToNext();
},
/**
- * Move to the previous sibling of this.node_ if it has one.
+ * Move to the previous sibling of the current node if it has one.
*
* @override
*/
debugMoveToPrevious: function() {
- let prev = this.treeWalker_.debugMoveToPrevious(this.node_);
- if (prev) {
- this.node_ = prev;
- this.printNode_(this.node_);
- chrome.accessibilityPrivate.setFocusRing([this.node_.location]);
- }
+ this.automationManager_.debugMoveToPrevious();
},
/**
- * Move to the first child of this.node_ if it has one.
+ * Move to the first child of the current node if it has one.
*
* @override
*/
debugMoveToFirstChild: function() {
- let child = this.treeWalker_.debugMoveToFirstChild(this.node_);
- if (child) {
- this.node_ = child;
- this.printNode_(this.node_);
- chrome.accessibilityPrivate.setFocusRing([this.node_.location]);
- }
+ this.automationManager_.debugMoveToFirstChild();
},
/**
- * Move to the parent of this.node_ if it has one.
+ * Move to the parent of the current node if it has one.
*
* @override
*/
debugMoveToParent: function() {
- let parent = this.treeWalker_.debugMoveToParent(this.node_);
- if (parent) {
- this.node_ = parent;
- this.printNode_(this.node_);
- chrome.accessibilityPrivate.setFocusRing([this.node_.location]);
- }
+ this.automationManager_.debugMoveToParent();
}
};
« no previous file with comments | « chrome/browser/resources/chromeos/switch_access/manifest.json.jinja2 ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698