New issue
Advanced search Search tips

Issue 618092 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature
Team-Accessibility



Sign in to add a comment

[CVox Next] Add checkbox toggle in ChromeVox Options

Project Member Reported by lpalmaro@chromium.org, Jun 7 2016

Issue description

This bug is to track the work to add a checkbox for enabling and disabling ChromeVox Next in the ChromeVox options page. This way, it will be more apparent which version the user is running, and allow them to switch back (if they don't recall the shortcut). 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e771bbe3e029830c01fb85d50a9be5559dc7aac4

commit e771bbe3e029830c01fb85d50a9be5559dc7aac4
Author: dtseng <dtseng@chromium.org>
Date: Thu Jun 23 13:37:11 2016

Make ChromeVox Next a setting in options page.

- persists the ChromeVox mode in local storage; this makes it so that you can start using ChromeVox Next right way on startup
- makes the new ChromeVox experience a checkbox in options; rework some of the mode setting logic to make this happen.
- add strings for announcing switches between the new and classic experiences; also, fire a message center notification if switching to the new experience for the first time.

This change required some non-trivial amount of refactoring:
- use ChromeVoxState.instance.getCurrentRange() as the definitive notion of mode; mode is based on current range.
- ChromeVoxState and global were both "global" objects; merge them into ChromeVoxState
- removed and simplified various mode related logic
- Background (the ChromeVox Next background page) now explicitly depends on ChromeVoxBackground (ChromeVox classic background page) via goog.require. This was necessary to ensure that the window.prefs object was created already for keyboard map switching on startup

BUG= 618094 , 618092 , 618090 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2079073002
Cr-Commit-Position: refs/heads/master@{#401596}

[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/BUILD.gn
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/chromevox/background/background.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.html
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/chromevox/background/prefs.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/chromevox/background/tabs_api_handler.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/chromevox/injected/user_commands.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/common/command_store.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_util.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/i_search.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions_test.extjs
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/notifications.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/cvox2/background/tabs_automation_handler.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/host/chrome/braille_background.js
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings.grd
[modify] https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4/chrome/browser/resources/chromeos/chromevox/testing/chromevox_next_e2e_test_base.js

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/61426ca69aa0e2e295c34016ff571a0a864ecadf

commit 61426ca69aa0e2e295c34016ff571a0a864ecadf
Author: flackr <flackr@chromium.org>
Date: Thu Jun 23 14:29:39 2016

Revert of Make ChromeVox Next a setting in options page. (patchset #11 id:200001 of https://codereview.chromium.org/2079073002/ )

Reason for revert:
Failing BackgroundTest.DisappearingObject on chromiumos:
https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%281%29/builds/21657

I verified locally that it seems to consistently time out with this patch.

Original issue's description:
> Make ChromeVox Next a setting in options page.
>
> - persists the ChromeVox mode in local storage; this makes it so that you can start using ChromeVox Next right way on startup
> - makes the new ChromeVox experience a checkbox in options; rework some of the mode setting logic to make this happen.
> - add strings for announcing switches between the new and classic experiences; also, fire a message center notification if switching to the new experience for the first time.
>
> This change required some non-trivial amount of refactoring:
> - use ChromeVoxState.instance.getCurrentRange() as the definitive notion of mode; mode is based on current range.
> - ChromeVoxState and global were both "global" objects; merge them into ChromeVoxState
> - removed and simplified various mode related logic
> - Background (the ChromeVox Next background page) now explicitly depends on ChromeVoxBackground (ChromeVox classic background page) via goog.require. This was necessary to ensure that the window.prefs object was created already for keyboard map switching on startup
>
> BUG= 618094 , 618092 , 618090 
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation
>
> Committed: https://crrev.com/e771bbe3e029830c01fb85d50a9be5559dc7aac4
> Cr-Commit-Position: refs/heads/master@{#401596}

TBR=dmazzoni@chromium.org,dtseng@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 618094 , 618092 , 618090 

Review-Url: https://codereview.chromium.org/2092743002
Cr-Commit-Position: refs/heads/master@{#401600}

[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/BUILD.gn
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/chromevox/background/background.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.html
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/chromevox/background/prefs.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/chromevox/background/tabs_api_handler.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/chromevox/injected/user_commands.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/common/command_store.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_util.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/i_search.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions_test.extjs
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/notifications.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/cvox2/background/tabs_automation_handler.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/host/chrome/braille_background.js
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings.grd
[modify] https://crrev.com/61426ca69aa0e2e295c34016ff571a0a864ecadf/chrome/browser/resources/chromeos/chromevox/testing/chromevox_next_e2e_test_base.js

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7

commit 69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7
Author: dtseng <dtseng@chromium.org>
Date: Thu Jun 23 21:25:07 2016

Reland: Make ChromeVox Next a setting in options page

Original cl:
https://codereview.chromium.org/2079073002/

The flakeyness seen in the tests is fixed by the change to automation_custom_bindings.js.

The child tree id callback can be called when the root automation node has already been attached. Natively, we send the child tree id whenever we see a child tree id within tree data which leads possibly to triggering the entire code path multiple times for the same tree.

The reason why this flakeyness appears now is because
Background depends on cvox.ChromeVoxBackground
explicitly via goog.require. This is correct as ChromeVox Next (Background) needs some modules from Classic like prefs, keymaps, etc to be instantitated and ready.

TBR=dmazzoni@chromium.org
BUG= 618094 ,  618092 ,  618090 

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2093753002
Cr-Commit-Position: refs/heads/master@{#401721}

[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/BUILD.gn
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/chromevox/background/background.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.html
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/chromevox/background/prefs.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/chromevox/background/tabs_api_handler.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/chromevox/injected/user_commands.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/common/chrome_extension_externs.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/common/command_store.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_util.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/chromevox_state.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/i_search.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions_test.extjs
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/notifications.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/cvox2/background/tabs_automation_handler.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/host/chrome/braille_background.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings.grd
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/browser/resources/chromeos/chromevox/testing/chromevox_next_e2e_test_base.js
[modify] https://crrev.com/69cea7b2b8e5e2c1522e4d68ffacdbc77e718aa7/chrome/renderer/resources/extensions/automation_custom_bindings.js

Project Member

Comment 4 by sheriffbot@chromium.org, Jul 6 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 5 by chaok@google.com, Jul 23 2016

IIUC, this has been fixed, and has been available in M54:
Version 54.0.2804.0 canary (64-bit)
Please close as fixed+verified. Thanks!

Comment 6 by dtseng@chromium.org, Jul 25 2016

Status: verified (was: Assigned)

Sign in to add a comment