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

Issue 1457683009: Complete live region support in ChromeVox Next. (Closed)

Created:
5 years, 1 month ago by dmazzoni
Modified:
5 years ago
CC:
chromium-reviews, extensions-reviews_chromium.org, dtseng+watch_chromium.org, plundblad+watch_chromium.org, mlamouri+watch-content_chromium.org, aboxhall+watch_chromium.org, jam, nektar+watch_chromium.org, yuzo+watch_chromium.org, je_julie, darin-cc_chromium.org, dmazzoni+watch_chromium.org, oshima+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, chromium-apps-reviews_chromium.org, arv+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Complete live region support in ChromeVox Next. Optimizes tree change notifications so that ChromeVox can only listen to those relevant to live regions, and skip the rest. Implements aria-atomic, and adds some code to avoid duplicate speaking of changes to a live region due to multiple tree changes. Improves speech queue mode support by always flushing following any key event, queueing otherwise, and doing a category flush when a new live region event happens 500 ms after the last one. The last one is a heuristic, but the idea is that multiple live region events at the same time should queue up, but a new live region some discrete time later should interrupt previous live region events. Adds some tests for live region output including flushing and queueing behavior. Manual tests include the live region test suite created for Google Docs testing. There are probably some bugs and corner cases left, but this gets us a lot closer. BUG=478217 Committed: https://crrev.com/eaa0c42071267f268cf77b5fc66fbfc9b12d2e41 Cr-Commit-Position: refs/heads/master@{#362500}

Patch Set 1 #

Total comments: 37

Patch Set 2 : Move live regions to separate file, address feedback #

Patch Set 3 : Rebase #

Total comments: 28

Patch Set 4 : Switch to one filter per observer #

Patch Set 5 : Fix tests #

Total comments: 16

Patch Set 6 : Rebase #

Patch Set 7 : Addressed last feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1172 lines, -333 lines) Patch
M chrome/browser/resources/chromeos/chromevox/chromevox.gni View 1 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/chromevox_tests.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js View 1 2 3 4 3 chunks +18 lines, -36 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_util.js View 1 1 chunk +21 lines, -0 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_util_test.extjs View 1 2 3 4 5 6 2 chunks +72 lines, -1 line 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js View 1 2 3 4 5 9 chunks +103 lines, -145 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs View 1 1 chunk +0 lines, -43 lines 0 comments Download
A chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js View 1 2 3 4 1 chunk +93 lines, -0 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js View 1 2 3 4 12 chunks +29 lines, -26 lines 0 comments Download
A chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js View 1 2 3 4 5 6 1 chunk +159 lines, -0 lines 0 comments Download
A chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions_test.extjs View 1 2 3 1 chunk +216 lines, -0 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js View 1 2 3 4 5 7 chunks +72 lines, -7 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/tabs_automation_handler.js View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/resources/chromeos/chromevox/testing/chromevox_e2e_test_base.js View 1 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/testing/chromevox_next_e2e_test_base.js View 1 2 1 chunk +10 lines, -10 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/testing/mock_feedback.js View 1 2 chunks +50 lines, -0 lines 0 comments Download
M chrome/common/extensions/api/automation.idl View 1 2 3 4 5 6 3 chunks +41 lines, -2 lines 0 comments Download
M chrome/common/extensions/api/automation_internal.idl View 1 2 3 1 chunk +8 lines, -1 line 0 comments Download
M chrome/renderer/extensions/automation_internal_custom_bindings.h View 1 2 3 4 4 chunks +18 lines, -1 line 0 comments Download
M chrome/renderer/extensions/automation_internal_custom_bindings.cc View 1 2 3 4 5 6 7 chunks +136 lines, -5 lines 0 comments Download
M chrome/renderer/resources/extensions/automation_custom_bindings.js View 1 2 3 5 chunks +77 lines, -50 lines 0 comments Download
M chrome/test/data/extensions/api_test/automation/sites/tree_change.html View 1 chunk +19 lines, -1 line 0 comments Download
M chrome/test/data/extensions/api_test/automation/tests/tabs/tree_change.js View 1 2 3 3 chunks +20 lines, -2 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 29 (7 generated)
dmazzoni
5 years, 1 month ago (2015-11-20 00:08:03 UTC) #2
Peter Lundblad
Hi, Nice! IN addition to the comments below, I'd consider moving the live region specific ...
5 years, 1 month ago (2015-11-20 13:42:59 UTC) #3
dmazzoni
I moved live regions handling and tests to separate files. After discussing with David I ...
5 years, 1 month ago (2015-11-23 20:16:50 UTC) #4
David Tseng
https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js (right): https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js#newcode132 chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js:132: */ Move this as well? https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js (right): ...
5 years, 1 month ago (2015-11-23 23:23:57 UTC) #6
dmazzoni
https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js (right): https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js#newcode66 chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js:66: global.backgroundObj.setCurrentRange(cursors.Range.fromNode(node)); On 2015/11/23 23:23:57, David Tseng wrote: > Chang ...
5 years, 1 month ago (2015-11-23 23:51:02 UTC) #7
Peter Lundblad
lgtm A few minor comments and will follow up on some of your responses in ...
5 years, 1 month ago (2015-11-24 11:04:31 UTC) #8
Peter Lundblad
dmazzoni@chromium.org writes: > > https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js > File > chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js > (right): > > https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js#newcode66 > ...
5 years, 1 month ago (2015-11-24 11:05:43 UTC) #9
Peter Lundblad
dmazzoni@chromium.org writes: > I moved live regions handling and tests to separate files. > > ...
5 years ago (2015-11-24 13:03:26 UTC) #10
dmazzoni
On Tue, Nov 24, 2015 at 5:03 AM <plundblad@chromium.org> wrote: > dmazzoni@chromium.org writes: > > ...
5 years ago (2015-11-24 15:58:05 UTC) #11
David Tseng
https://codereview.chromium.org/1457683009/diff/1/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js File chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js (right): https://codereview.chromium.org/1457683009/diff/1/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js#newcode317 chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js:317: chrome.automation.setTreeChangeObserverMask = function(mask) {}; Can we get a more ...
5 years ago (2015-11-24 18:46:30 UTC) #12
dmazzoni
https://codereview.chromium.org/1457683009/diff/1/chrome/common/extensions/api/automation.idl File chrome/common/extensions/api/automation.idl (right): https://codereview.chromium.org/1457683009/diff/1/chrome/common/extensions/api/automation.idl#newcode582 chrome/common/extensions/api/automation.idl:582: [nocompile] static void setTreeChangeObserverMask( On 2015/11/24 18:46:30, David Tseng ...
5 years ago (2015-11-26 00:08:04 UTC) #13
dmazzoni
Ready for another look. I changed it so that you can pass a filter for ...
5 years ago (2015-11-30 22:00:47 UTC) #14
dmazzoni
https://codereview.chromium.org/1457683009/diff/1/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js (right): https://codereview.chromium.org/1457683009/diff/1/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js#newcode545 chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js:545: if (relevant.indexOf('additions') >= 0 && On 2015/11/24 18:46:30, David ...
5 years ago (2015-11-30 22:02:48 UTC) #15
dmazzoni
https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js (right): https://codereview.chromium.org/1457683009/diff/40001/chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js#newcode71 chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js:71: setCurrentRange: function(newRange) { On 2015/11/30 22:00:47, dmazzoni wrote: > ...
5 years ago (2015-12-01 08:19:47 UTC) #16
Peter Lundblad
lgtm https://codereview.chromium.org/1457683009/diff/80001/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js File chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js (right): https://codereview.chromium.org/1457683009/diff/80001/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js#newcode496 chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js:496: chrome.automation.AutomationNode.prototype.liveStatus; Can you make sure these are included ...
5 years ago (2015-12-01 12:49:58 UTC) #17
dmazzoni
https://codereview.chromium.org/1457683009/diff/80001/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js File chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js (right): https://codereview.chromium.org/1457683009/diff/80001/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js#newcode496 chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js:496: chrome.automation.AutomationNode.prototype.liveStatus; On 2015/12/01 12:49:58, Peter Lundblad wrote: > Can ...
5 years ago (2015-12-01 19:19:01 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1457683009/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1457683009/120001
5 years ago (2015-12-01 19:24:25 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/148283)
5 years ago (2015-12-01 19:47:44 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1457683009/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1457683009/120001
5 years ago (2015-12-01 20:00:48 UTC) #25
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years ago (2015-12-01 21:17:06 UTC) #26
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/eaa0c42071267f268cf77b5fc66fbfc9b12d2e41 Cr-Commit-Position: refs/heads/master@{#362500}
5 years ago (2015-12-01 21:18:04 UTC) #28
David Tseng
5 years ago (2015-12-07 16:39:59 UTC) #29
Message was sent while issue was closed.
lgtm

Powered by Google App Engine
This is Rietveld 408576698