| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| index 770f40f4a8b41626fe4fe44a3b12105021d72d9a..9ab218f3d69f83faae68f0092cf1163df7c1049a 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| @@ -129,11 +129,21 @@ DesktopAutomationHandler.prototype = {
|
| * @param {!AutomationEvent} evt
|
| */
|
| onEventIfInRange: function(evt) {
|
| - // TODO(dtseng): Consider the end of the current range as well.
|
| - if (AutomationUtil.isDescendantOf(
|
| - ChromeVoxState.instance.currentRange.start.node, evt.target) ||
|
| - evt.target.state.focused)
|
| - this.onEventDefault(evt);
|
| + if (evt.target.root.role != RoleType.desktop &&
|
| + ChromeVoxState.instance.mode === ChromeVoxMode.CLASSIC)
|
| + return;
|
| +
|
| + var prev = ChromeVoxState.instance.currentRange;
|
| + if (AutomationUtil.isDescendantOf(prev.start.node, evt.target) ||
|
| + AutomationUtil.isDescendantOf(evt.target, prev.start.node) ||
|
| + evt.target.state.focused) {
|
| + // Intentionally skip setting range.
|
| + new Output()
|
| + .withRichSpeechAndBraille(cursors.Range.fromNode(evt.target),
|
| + prev,
|
| + Output.EventType.NAVIGATE)
|
| + .go();
|
| + }
|
| },
|
|
|
| /**
|
|
|