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

Unified Diff: chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js

Issue 2132123002: Complete table support in ChromeVox Next. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ignore some roles. Created 4 years, 5 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
Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
index 453b1d25c674e3d8bce6b869e26a8d65b126718e..65ff71f7286a59d4f78a80bf2759e95f0c54bacc 100644
--- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
+++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
@@ -427,6 +427,7 @@ Background.prototype = {
var dir = Dir.FORWARD;
var pred = null;
var predErrorMsg = undefined;
+ var rootPred = AutomationPredicate.root;
var speechProps = {};
switch (command) {
case 'nextCharacter':
@@ -796,6 +797,118 @@ Background.prototype = {
cvox.BrailleCaptionsBackground.setActive(
!cvox.BrailleCaptionsBackground.isEnabled());
return false;
+ case 'fullyDescribe':
+ var o = new Output();
+ o.withContextFirst()
+ .withRichSpeechAndBraille(current, null, Output.EventType.NAVIGATE)
+ .go();
+ return false;
+
+ // Table commands.
+ case 'previousRow':
+ var tableOpts = {};
dmazzoni 2016/07/13 23:38:28 Any reason not to make this more concise? t doesn'
David Tseng 2016/07/14 20:24:41 dir gets used in both places; the first is to calc
+ tableOpts.row = true;
+ dir = Dir.BACKWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ predErrorMsg = 'no_cell_above';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'previousCol':
+ var tableOpts = {};
+ tableOpts.col = true;
+ dir = Dir.BACKWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ predErrorMsg = 'no_cell_left';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'nextRow':
+ var tableOpts = {};
+ tableOpts.row = true;
+ dir = Dir.FORWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ predErrorMsg = 'no_cell_below';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'nextCol':
+ var tableOpts = {};
+ tableOpts.col = true;
+ dir = Dir.FORWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ predErrorMsg = 'no_cell_right';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'goToRowFirstCell':
+ var tableOpts = {};
+ tableOpts.row = true;
+ tableOpts.end = true;
+ dir = Dir.BACKWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ // Should not be outputted.
+ predErrorMsg = 'no_cell_left';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'goToRowLastCell':
+ var tableOpts = {};
+ tableOpts.row = true;
+ tableOpts.end = true;
+ dir = Dir.FORWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ // Should not be outputted.
+ predErrorMsg = 'no_cell_right';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'goToColFirstCell':
+ var tableOpts = {};
+ tableOpts.col = true;
+ tableOpts.end = true;
+ dir = Dir.BACKWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ // Should not be outputted.
+ predErrorMsg = 'no_cell_above';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'goToColLastCell':
+ var tableOpts = {};
+ tableOpts.col = true;
+ tableOpts.end = true;
+ dir = Dir.FORWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ // Should not be outputted.
+ predErrorMsg = 'no_cell_below';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'goToFirstCell':
+ var tableOpts = {};
+ tableOpts.row = true;
+ tableOpts.col = true;
+ tableOpts.end = true;
+ dir = Dir.BACKWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ // Should not be outputted.
+ predErrorMsg = 'no_cell_left';
+ rootPred = AutomationPredicate.table;
+ break;
+ case 'goToLastCell':
+ var tableOpts = {};
+ tableOpts.row = true;
+ tableOpts.col = true;
+ tableOpts.end = true;
+ dir = Dir.FORWARD;
+ tableOpts.dir = dir;
+ pred = AutomationPredicate.rowCol(current.start.node, tableOpts);
+ // Should not be outputted.
+ predErrorMsg = 'no_cell_right';
+ rootPred = AutomationPredicate.table;
+ break;
default:
return true;
}
@@ -804,7 +917,7 @@ Background.prototype = {
var bound = current.getBound(dir).node;
if (bound) {
var node = AutomationUtil.findNextNode(
- bound, dir, pred, {skipInitialAncestry: true});
+ bound, dir, pred, {skipInitialAncestry: true, root: rootPred});
if (node) {
node = AutomationUtil.findNodePre(

Powered by Google App Engine
This is Rietveld 408576698