| OLD | NEW |
| 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 The entry point for all ChromeVox2 related code for the | 6 * @fileoverview The entry point for all ChromeVox2 related code for the |
| 7 * background page. | 7 * background page. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 goog.provide('Background'); | 10 goog.provide('Background'); |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 get: function() { | 120 get: function() { |
| 121 return localStorage['active'] !== 'false'; | 121 return localStorage['active'] !== 'false'; |
| 122 }, | 122 }, |
| 123 set: function(value) { | 123 set: function(value) { |
| 124 localStorage['active'] = value; | 124 localStorage['active'] = value; |
| 125 } | 125 } |
| 126 }); | 126 }); |
| 127 | 127 |
| 128 cvox.ExtensionBridge.addMessageListener(this.onMessage_); | 128 cvox.ExtensionBridge.addMessageListener(this.onMessage_); |
| 129 | 129 |
| 130 /** @type {!BackgroundKeyboardHandler} */ | 130 /** @type {!BackgroundKeyboardHandler} @private */ |
| 131 this.keyboardHandler_ = new BackgroundKeyboardHandler(); | 131 this.keyboardHandler_ = new BackgroundKeyboardHandler(); |
| 132 | 132 |
| 133 /** @type {!LiveRegions} */ | 133 /** @type {!LiveRegions} @private */ |
| 134 this.liveRegions_ = new LiveRegions(this); | 134 this.liveRegions_ = new LiveRegions(this); |
| 135 | 135 |
| 136 /** @type {boolean} @private */ | 136 /** @type {boolean} @private */ |
| 137 this.inExcursion_ = false; | 137 this.inExcursion_ = false; |
| 138 | 138 |
| 139 /** | 139 /** |
| 140 * Stores the mode as computed the last time a current range was set. | 140 * Stores the mode as computed the last time a current range was set. |
| 141 * @type {?ChromeVoxMode} | 141 * @type {?ChromeVoxMode} |
| 142 * @private |
| 142 */ | 143 */ |
| 143 this.mode_ = null; | 144 this.mode_ = null; |
| 144 | 145 |
| 145 chrome.accessibilityPrivate.onAccessibilityGesture.addListener( | 146 chrome.accessibilityPrivate.onAccessibilityGesture.addListener( |
| 146 this.onAccessibilityGesture_); | 147 this.onAccessibilityGesture_); |
| 147 }; | 148 }; |
| 148 | 149 |
| 149 /** | 150 /** |
| 150 * @const {string} | 151 * @const {string} |
| 151 */ | 152 */ |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 return this.mode != ChromeVoxMode.FORCE_NEXT && | 513 return this.mode != ChromeVoxMode.FORCE_NEXT && |
| 513 !this.isBlacklistedForClassic_(url) && | 514 !this.isBlacklistedForClassic_(url) && |
| 514 !this.isWhitelistedForNext_(url); | 515 !this.isWhitelistedForNext_(url); |
| 515 }, | 516 }, |
| 516 | 517 |
| 517 /** | 518 /** |
| 518 * Compat mode is on if any of the following are true: | 519 * Compat mode is on if any of the following are true: |
| 519 * 1. a url is blacklisted for Classic. | 520 * 1. a url is blacklisted for Classic. |
| 520 * 2. the current range is not within web content. | 521 * 2. the current range is not within web content. |
| 521 * @param {string} url | 522 * @param {string} url |
| 523 * @return {boolean} |
| 522 */ | 524 */ |
| 523 isWhitelistedForCompat_: function(url) { | 525 isWhitelistedForCompat_: function(url) { |
| 524 return this.isBlacklistedForClassic_(url) || (this.getCurrentRange() && | 526 return this.isBlacklistedForClassic_(url) || (this.getCurrentRange() && |
| 525 !this.getCurrentRange().isWebRange() && | 527 !this.getCurrentRange().isWebRange() && |
| 526 this.getCurrentRange().start.node.state.focused); | 528 this.getCurrentRange().start.node.state.focused); |
| 527 }, | 529 }, |
| 528 | 530 |
| 529 /** | 531 /** |
| 530 * @param {string} url | 532 * @param {string} url |
| 531 * @return {boolean} | 533 * @return {boolean} |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 isClassicEnabled: isClassicEnabled | 621 isClassicEnabled: isClassicEnabled |
| 620 }); | 622 }); |
| 621 } else if (action == 'enableCompatForUrl') { | 623 } else if (action == 'enableCompatForUrl') { |
| 622 var url = msg['url']; | 624 var url = msg['url']; |
| 623 this.classicBlacklist_.add(url); | 625 this.classicBlacklist_.add(url); |
| 624 if (this.currentRange_ && this.currentRange_.start.node) | 626 if (this.currentRange_ && this.currentRange_.start.node) |
| 625 this.setCurrentRange(this.currentRange_); | 627 this.setCurrentRange(this.currentRange_); |
| 626 } else if (action == 'onCommand') { | 628 } else if (action == 'onCommand') { |
| 627 CommandHandler.onCommand(msg['command']); | 629 CommandHandler.onCommand(msg['command']); |
| 628 } else if (action == 'flushNextUtterance') { | 630 } else if (action == 'flushNextUtterance') { |
| 629 Output.flushNextSpeechUtterance(); | 631 Output.forceModeForNextSpeechUtterance(cvox.QueueMode.FLUSH); |
| 630 } | 632 } |
| 631 break; | 633 break; |
| 632 } | 634 } |
| 633 }, | 635 }, |
| 634 | 636 |
| 635 /** | 637 /** |
| 636 * Restore the range to the last range that was *not* in the ChromeVox | 638 * Restore the range to the last range that was *not* in the ChromeVox |
| 637 * panel. This is used when the ChromeVox Panel closes. | 639 * panel. This is used when the ChromeVox Panel closes. |
| 638 * @param {function()=} opt_callback | 640 * @param {function()=} opt_callback |
| 639 * @private | 641 * @private |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 return new RegExp('^(' + globs.map(function(glob) { | 753 return new RegExp('^(' + globs.map(function(glob) { |
| 752 return glob.replace(/[.+^$(){}|[\]\\]/g, '\\$&') | 754 return glob.replace(/[.+^$(){}|[\]\\]/g, '\\$&') |
| 753 .replace(/\*/g, '.*') | 755 .replace(/\*/g, '.*') |
| 754 .replace(/\?/g, '.'); | 756 .replace(/\?/g, '.'); |
| 755 }).join('|') + ')$'); | 757 }).join('|') + ')$'); |
| 756 }; | 758 }; |
| 757 | 759 |
| 758 new Background(); | 760 new Background(); |
| 759 | 761 |
| 760 }); // goog.scope | 762 }); // goog.scope |
| OLD | NEW |