New issue
Advanced search Search tips

Issue 618090 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Closed: Sep 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: All , Chrome
Pri: 1
Type: Feature
Team-Accessibility



Sign in to add a comment

[CVox] Launch built-in tutorial

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

Issue description

This bug is to track the work to launch the built-in ChromeVox Next tutorial. More details to come soon. 
 
Status: Assigned (was: Untriaged)

Comment 2 by dtseng@chromium.org, Jun 22 2016

Owner: dmazz...@chromium.org
Reassigning to dmazzoni who will take on the tutorial for m53.
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/+/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 4 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 5 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 6 by bugdroid1@chromium.org, Jun 30 2016

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

commit daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93
Author: dmazzoni <dmazzoni@chromium.org>
Date: Thu Jun 30 00:28:50 2016

Initial draft of ChromeVox Next tutorial.

This just tries to get all of the text on the screen. It doesn't work
perfectly yet.

BUG= 618090 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/BUILD.gn
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/chromevox.gni
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/chromevox.gyp
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/chromevox_assets.gypi
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/common/command_store.js
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js
[delete] https://crrev.com/37f1e97746ee9257aac5c353b6b264f61b5ed172/chrome/browser/resources/chromeos/chromevox/cvox2/background/next_update.html
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/notifications.js
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.css
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.html
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel_command.js
[add] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/cvox2/background/tutorial.js
[add] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/images/chromevox.svg
[modify] https://crrev.com/daa4b8eb0d07f6d747f69b2b6fb87d16c2cbae93/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings.grd

Project Member

Comment 7 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 8 by chaok@google.com, Jul 8 2016

1. FIrst page says "ENTER to continue", but that closed tutorial
2. It's not until third screen where navigation and activation commands are described
2. TUtorial that said press "any" key to hear description didn't provide keybinding description or did not  utter anything
4. On screen that says "press search with period"  for panel doesn't do anything (i.e. ChromeVOx panel doesn't open)

Otherwise, the cvox2 tutorial looks great, and it'll be very useful to new ChromeVox Next users
54.0.2787.0

Comment 9 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 10 by chaok@google.com, Sep 13 2016

Status: Verified (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Nov 2 2016

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

commit 477fa87081dc2a5161594ff03ff2337898b53d15
Author: dmazzoni <dmazzoni@chromium.org>
Date: Wed Nov 02 06:58:10 2016

Use modes to switch cvox panel between collapsed, menus, focused, and tutorial

The ChromeVox tutorial didn't close itself properly, it didn't restore the
state of the HTML properly. To enforce that the panel UI is always in one
mode, make the mode explicit with an enum and have a single function to
transition between modes.

Fix a few related issues and ensure that once you're in the tutorial you can
exit easily with the close button or by pressing Escape.

BUG= 618090 
TEST=Manually test opening menus, incremental search, and tutorial, and closing each by selecting, pressing close button, or pressing escape
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/477fa87081dc2a5161594ff03ff2337898b53d15/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.css
[modify] https://crrev.com/477fa87081dc2a5161594ff03ff2337898b53d15/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.html
[modify] https://crrev.com/477fa87081dc2a5161594ff03ff2337898b53d15/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js

Sign in to add a comment