| 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 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 737 description['Reproduction Steps'] = '%0a1.%0a2.%0a3.'; | 737 description['Reproduction Steps'] = '%0a1.%0a2.%0a3.'; |
| 738 for (var key in description) | 738 for (var key in description) |
| 739 url += key + ':%20' + description[key] + '%0a'; | 739 url += key + ':%20' + description[key] + '%0a'; |
| 740 chrome.tabs.create({url: url}); | 740 chrome.tabs.create({url: url}); |
| 741 return false; | 741 return false; |
| 742 default: | 742 default: |
| 743 return true; | 743 return true; |
| 744 } | 744 } |
| 745 | 745 |
| 746 if (pred) { | 746 if (pred) { |
| 747 var node = AutomationUtil.findNextNode( | 747 var bound = current.getBound(dir).node; |
| 748 current.getBound(dir).node, dir, pred, {skipInitialAncestry: true}); | 748 if (bound) { |
| 749 var node = AutomationUtil.findNextNode( |
| 750 bound, dir, pred, {skipInitialAncestry: true}); |
| 751 if (node) { |
| 752 node = AutomationUtil.findNodePre( |
| 753 node, dir, AutomationPredicate.element) || node; |
| 754 } |
| 749 | 755 |
| 750 if (node) { | 756 if (node) { |
| 751 node = AutomationUtil.findNodePre( | 757 current = cursors.Range.fromNode(node); |
| 752 node, dir, AutomationPredicate.element) || node; | 758 } else { |
| 753 } | 759 if (predErrorMsg) { |
| 754 | 760 cvox.ChromeVox.tts.speak(Msgs.getMsg(predErrorMsg), |
| 755 if (node) { | 761 cvox.QueueMode.FLUSH); |
| 756 current = cursors.Range.fromNode(node); | 762 } |
| 757 } else { | 763 return false; |
| 758 if (predErrorMsg) { | |
| 759 cvox.ChromeVox.tts.speak(Msgs.getMsg(predErrorMsg), | |
| 760 cvox.QueueMode.FLUSH); | |
| 761 } | 764 } |
| 762 return false; | |
| 763 } | 765 } |
| 764 } | 766 } |
| 765 | 767 |
| 766 if (current) | 768 if (current) |
| 767 this.navigateToRange_(current); | 769 this.navigateToRange_(current); |
| 768 | 770 |
| 769 return false; | 771 return false; |
| 770 }, | 772 }, |
| 771 | 773 |
| 772 /** | 774 /** |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1118 return glob.replace(/[.+^$(){}|[\]\\]/g, '\\$&') | 1120 return glob.replace(/[.+^$(){}|[\]\\]/g, '\\$&') |
| 1119 .replace(/\*/g, '.*') | 1121 .replace(/\*/g, '.*') |
| 1120 .replace(/\?/g, '.'); | 1122 .replace(/\?/g, '.'); |
| 1121 }).join('|') + ')$'); | 1123 }).join('|') + ')$'); |
| 1122 }; | 1124 }; |
| 1123 | 1125 |
| 1124 /** @type {Background} */ | 1126 /** @type {Background} */ |
| 1125 global.backgroundObj = new Background(); | 1127 global.backgroundObj = new Background(); |
| 1126 | 1128 |
| 1127 }); // goog.scope | 1129 }); // goog.scope |
| OLD | NEW |