| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
|
| index 36bbf65d720dadae8caf45a39c7592cda6181b62..bb8767bc5f3aa5c226a4201fe728e1f8905a9701 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
|
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
|
| @@ -627,13 +627,16 @@ Output.Action.prototype = {
|
| /**
|
| * Action to play an earcon.
|
| * @param {string} earconId
|
| + * @param {chrome.automation.Rect=} opt_location
|
| * @constructor
|
| * @extends {Output.Action}
|
| */
|
| -Output.EarconAction = function(earconId) {
|
| +Output.EarconAction = function(earconId, opt_location) {
|
| Output.Action.call(this);
|
| /** @type {string} */
|
| this.earconId = earconId;
|
| + /** @type {chrome.automation.Rect|undefined} */
|
| + this.location = opt_location;
|
| };
|
|
|
| Output.EarconAction.prototype = {
|
| @@ -641,7 +644,13 @@ Output.EarconAction.prototype = {
|
|
|
| /** @override */
|
| run: function() {
|
| - cvox.ChromeVox.earcons.playEarcon(cvox.Earcon[this.earconId]);
|
| + cvox.ChromeVox.earcons.playEarcon(
|
| + cvox.Earcon[this.earconId], this.location);
|
| + },
|
| +
|
| + /** @override */
|
| + toJSON: function() {
|
| + return {earconId: this.earconId};
|
| }
|
| };
|
|
|
| @@ -1248,7 +1257,7 @@ Output.prototype = {
|
| return;
|
| if (this.formatOptions_.speech && resolvedInfo.earconId) {
|
| options.annotation.push(
|
| - new Output.EarconAction(resolvedInfo.earconId));
|
| + new Output.EarconAction(resolvedInfo.earconId), node.location);
|
| }
|
| var msgId =
|
| this.formatOptions_.braille ? resolvedInfo.msgId + '_brl' :
|
| @@ -1270,7 +1279,7 @@ Output.prototype = {
|
| return;
|
|
|
| options.annotation.push(
|
| - new Output.EarconAction(tree.firstChild.value));
|
| + new Output.EarconAction(tree.firstChild.value, node.location));
|
| this.append_(buff, '', options);
|
| } else if (token == 'countChildren') {
|
| var role = tree.firstChild.value;
|
| @@ -1795,7 +1804,7 @@ Output.prototype = {
|
| while (earconFinder = ancestors.pop()) {
|
| var info = Output.ROLE_INFO_[earconFinder.role];
|
| if (info && info.earconId) {
|
| - return new Output.EarconAction(info.earconId);
|
| + return new Output.EarconAction(info.earconId, node.location);
|
| break;
|
| }
|
| earconFinder = earconFinder.parent;
|
|
|