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

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

Issue 2509093002: Try focusing embeddedObject first unconditionally (Closed)
Patch Set: Created 4 years, 1 month 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 b120e2abcbfc4705f984b0665212a5f11b26d59e..c2357110015e133a4ed99de82c503b2804385ce3 100644
--- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
+++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
@@ -766,25 +766,26 @@ Background.prototype = {
setFocusToRange_: function(range, prevRange) {
var start = range.start.node;
var end = range.end.node;
- if (start.state.focused || end.state.focused)
- return;
-
- var isFocusableLinkOrControl = function(node) {
- return node.state.focusable &&
- AutomationPredicate.linkOrControl(node);
- };
// First, see if we've crossed a root. Remove once webview handles focus
// correctly.
- if (prevRange && prevRange.start.node) {
+ if (prevRange && prevRange.start.node && start) {
var entered = AutomationUtil.getUniqueAncestors(
prevRange.start.node, start);
var embeddedObject = entered.find(function(f) {
return f.role == RoleType.embeddedObject; });
- if (embeddedObject)
+ if (embeddedObject && !embeddedObject.state.focused)
embeddedObject.focus();
}
+ if (start.state.focused || end.state.focused)
+ return;
+
+ var isFocusableLinkOrControl = function(node) {
+ return node.state.focusable &&
+ AutomationPredicate.linkOrControl(node);
+ };
+
// Next, try to focus the start or end node.
if (!AutomationPredicate.structuralContainer(start) &&
start.state.focusable) {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698