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

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/host/chrome/braille.js

Issue 1137403003: Fix ChromeVox's detection of whether the current document has focus. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Bridge that sends Braille messages from content scripts or 6 * @fileoverview Bridge that sends Braille messages from content scripts or
7 * other pages to the main background page. 7 * other pages to the main background page.
8 * 8 *
9 */ 9 */
10 10
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 * @private 42 * @private
43 */ 43 */
44 this.nextLocalId_ = 1; 44 this.nextLocalId_ = 1;
45 cvox.ExtensionBridge.addMessageListener(goog.bind(function(msg, port) { 45 cvox.ExtensionBridge.addMessageListener(goog.bind(function(msg, port) {
46 // Since ChromeVox gets injected into multiple iframes on a page, check to 46 // Since ChromeVox gets injected into multiple iframes on a page, check to
47 // ensure that this is the "active" iframe via its focused state. 47 // ensure that this is the "active" iframe via its focused state.
48 // Furthermore, if the active element is itself an iframe, the focus is 48 // Furthermore, if the active element is itself an iframe, the focus is
49 // within the iframe even though the containing document also has focus. 49 // within the iframe even though the containing document also has focus.
50 // Don't process the event if this document isn't focused or focus lies in 50 // Don't process the event if this document isn't focused or focus lies in
51 // a descendant. 51 // a descendant.
52 if (!document.hasFocus() || document.activeElement.tagName == 'IFRAME') { 52 if (!cvox.ChromeVox.documentHasFocus()) {
53 return; 53 return;
54 } 54 }
55 if (msg['message'] == 'BRAILLE' && msg['args']) { 55 if (msg['message'] == 'BRAILLE' && msg['args']) {
56 var content = null; 56 var content = null;
57 if (msg['contentId'] == this.lastContentId_) { 57 if (msg['contentId'] == this.lastContentId_) {
58 content = this.lastContent_; 58 content = this.lastContent_;
59 } 59 }
60 this.commandListener_(msg['args'], content); 60 this.commandListener_(msg['args'], content);
61 } 61 }
62 }, this)); 62 }, this));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 if (command) { 105 if (command) {
106 command({event: brailleEvt, content: content}); 106 command({event: brailleEvt, content: content});
107 } else { 107 } else {
108 console.error('Unknown braille command: ' + JSON.stringify(brailleEvt)); 108 console.error('Unknown braille command: ' + JSON.stringify(brailleEvt));
109 } 109 }
110 }; 110 };
111 111
112 112
113 /** Export platform constructor. */ 113 /** Export platform constructor. */
114 cvox.HostFactory.brailleConstructor = cvox.ChromeBraille; 114 cvox.HostFactory.brailleConstructor = cvox.ChromeBraille;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698