Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / chromevox / host / interface / abstract_earcons.js
blob1dabd1ad6d461aea3f81f0a732af57caf8869229
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
3 // found in the LICENSE file.
5 /**
6  * @fileoverview Base class for implementing earcons.
7  *
8  * When adding earcons, please add them to getEarconName and getEarconId.
9  *
10  */
12 goog.provide('cvox.AbstractEarcons');
13 goog.provide('cvox.Earcon');
16 /**
17  * Earcon names.
18  * @enum {string}
19  */
20 cvox.Earcon = {
21   ALERT_MODAL: 'alert_modal',
22   ALERT_NONMODAL: 'alert_nonmodal',
23   BUTTON: 'button',
24   CHECK_OFF: 'check_off',
25   CHECK_ON: 'check_on',
26   EDITABLE_TEXT: 'editable_text',
27   INVALID_KEYPRESS: 'invalid_keypress',
28   LINK: 'link',
29   LISTBOX: 'listbox',
30   LIST_ITEM: 'list_item',
31   LONG_DESC: 'long_desc',
32   MATH: 'math',
33   OBJECT_CLOSE: 'object_close',
34   OBJECT_ENTER: 'object_enter',
35   OBJECT_EXIT: 'object_exit',
36   OBJECT_OPEN: 'object_open',
37   OBJECT_SELECT: 'object_select',
38   PAGE_FINISH_LOADING: 'page_finish_loading',
39   PAGE_START_LOADING: 'page_start_loading',
40   RECOVER_FOCUS: 'recover_focus',
41   SELECTION: 'selection',
42   SELECTION_REVERSE: 'selection_reverse',
43   SKIP: 'skip',
44   WRAP: 'wrap',
45   WRAP_EDGE: 'wrap_edge',
49 /**
50  * @constructor
51  */
52 cvox.AbstractEarcons = function() {
53   /**
54    * Public flag set to enable or disable earcons. Callers should prefer
55    * toggle(); however, this member is public for initialization.
56    * @type {boolean}
57    */
58   this.enabled = true;
62 /**
63  * Plays the specified earcon sound.
64  * @param {cvox.Earcon} earcon An earcon identifier.
65  */
66 cvox.AbstractEarcons.prototype.playEarcon = function(earcon) {
70 /**
71  * Whether or not earcons are available.
72  * @return {boolean} True if earcons are available.
73  */
74 cvox.AbstractEarcons.prototype.earconsAvailable = function() {
75   return true;
79 /**
80  * Toggles earcons on or off.
81  * @return {boolean} True if earcons are now enabled; false otherwise.
82  */
83 cvox.AbstractEarcons.prototype.toggle = function() {
84   this.enabled = !this.enabled;
85   return this.enabled;