summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/chromeos/chromevox/walkers/object_walker.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/chromeos/chromevox/walkers/object_walker.js')
-rw-r--r--chromium/chrome/browser/resources/chromeos/chromevox/walkers/object_walker.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/chromium/chrome/browser/resources/chromeos/chromevox/walkers/object_walker.js b/chromium/chrome/browser/resources/chromeos/chromevox/walkers/object_walker.js
new file mode 100644
index 00000000000..b9b10a49b42
--- /dev/null
+++ b/chromium/chrome/browser/resources/chromeos/chromevox/walkers/object_walker.js
@@ -0,0 +1,56 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview A JavaScript class for walking the leaf nodes of the dom.
+ */
+
+
+goog.provide('cvox.ObjectWalker');
+
+goog.require('cvox.AbstractNodeWalker');
+goog.require('cvox.BrailleUtil');
+goog.require('cvox.DescriptionUtil');
+
+/**
+ * @constructor
+ * @extends {cvox.AbstractNodeWalker}
+ */
+cvox.ObjectWalker = function() {
+ goog.base(this);
+};
+goog.inherits(cvox.ObjectWalker, cvox.AbstractNodeWalker);
+
+/**
+ * @override
+ */
+cvox.ObjectWalker.prototype.stopNodeDescent = function(node) {
+ return cvox.DomUtil.isLeafNode(node);
+};
+
+// TODO(dtseng): Causes a circular dependency if put into AbstractNodeWalker.
+/**
+ * @override
+ */
+cvox.AbstractNodeWalker.prototype.getDescription = function(prevSel, sel) {
+ return cvox.DescriptionUtil.getDescriptionFromNavigation(
+ prevSel.end.node,
+ sel.start.node,
+ true,
+ cvox.ChromeVox.verbosity);
+};
+
+/**
+ * @override
+ */
+cvox.ObjectWalker.prototype.getBraille = function(prevSel, sel) {
+ throw 'getBraille is unsupported';
+};
+
+/**
+ * @override
+ */
+cvox.ObjectWalker.prototype.getGranularityMsg = function() {
+ return cvox.ChromeVox.msgs.getMsg('object_strategy');
+};