| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js
|
| index 3651e3e626da28274f378345c55f2b01731322d5..9c382a10c575f91567c8b490f58f875fda320fcf 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js
|
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js
|
| @@ -12,6 +12,7 @@ goog.require('ChromeVoxState');
|
|
|
| goog.scope(function() {
|
| var AutomationNode = chrome.automation.AutomationNode;
|
| +var RoleType = chrome.automation.RoleType;
|
| var TreeChange = chrome.automation.TreeChange;
|
|
|
| /**
|
| @@ -87,8 +88,11 @@ LiveRegions.prototype = {
|
| if (!currentRange)
|
| return;
|
|
|
| + var webView = AutomationUtil.getTopLevelRoot(node);
|
| + webView = webView ? webView.parent : null;
|
| if (!LiveRegions.announceLiveRegionsFromBackgroundTabs_ &&
|
| - !AutomationUtil.isInSameWebpage(node, currentRange.start.node)) {
|
| + currentRange.start.node.role != RoleType.desktop &&
|
| + (!webView || !webView.state.focused)) {
|
| return;
|
| }
|
|
|
| @@ -140,11 +144,17 @@ LiveRegions.prototype = {
|
| if (!output.hasSpeech)
|
| return;
|
|
|
| + // Queue live regions coming from background tabs.
|
| + var webView = AutomationUtil.getTopLevelRoot(node);
|
| + webView = webView ? webView.parent : null;
|
| + var forceQueueForBackgroundedLiveRegion =
|
| + !webView || !webView.state.focused;
|
| +
|
| // Enqueue live region updates that were received at approximately
|
| // the same time, otherwise flush previous live region updates.
|
| var queueTime = LiveRegions.LIVE_REGION_QUEUE_TIME_MS;
|
| var delta = currentTime - this.lastLiveRegionTime_;
|
| - if (delta > queueTime)
|
| + if (delta > queueTime && !forceQueueForBackgroundedLiveRegion)
|
| output.withQueueMode(cvox.QueueMode.CATEGORY_FLUSH);
|
| else
|
| output.withQueueMode(cvox.QueueMode.QUEUE);
|
|
|